关于SVM中最近的点如何选取

来源:11-3 Soft Margin SVM

好好加油学习

2020-10-31

老师您好,我想问一下对于目标函数min1/2w^2这个式子中是如何选取您课中所说的最近的点的,并且在soft margin中这些点相比hard margin又是如何选取的?
麻烦老师讲一下,谢谢老师

写回答

1回答

liuyubobobo

2020-11-03

SVM 的训练过程,不是“选”支撑向量的过程,而是在最优化这个式子的过程中,结果正好会穿过某一些支撑向量。


//img1.sycdn.imooc.com/szimg/5fa0f43109a16daa11641020.jpg


注意,SVM 不完全是求解 min(1/2w^2),更关键的是下面的条件,是在满足这个条件的基础上的 ||w|| 的最小值。而这个条件是 >= 1,对于边界条件,一定能 == 1,所以就表现出了课程画图演示出的穿过支撑向量的样子。这个原理,可以参考这页 ppt(蓝线就是等于的时候):

//img.mukewang.com/szimg/5fa0f64a09d1ae0219481078.jpg



具体这个最优化求解的过程,已经超过这个课程的范畴了。实际上,对于很多院校本科高等数学学习的内容来说,都不足以求解这个问题。这个课程作为机器学习的入门课程,特意避开了很多数学推导,防止把同学们吓走。


在这里,SVM 部分,确实避不开这个数学式子了。所以我选择的方式是把这个式子列在这里,然后大家可以假想有一个方法,可以求解这个最优化问题。(这就好像我们在程序中调用 sqrt(x),就能算出 x 的平方根;调用 log(x),就能算出 x 的 log 值,而不关心计算机具体是怎么算出来的一样。)


如果你对这个底层的数学方法感兴趣,在这里,我给出了一些参考资料:http://coding.imooc.com/learn/questiondetail/138577.html


继续加油!:)

0
2
liuyubobobo
回复
好好加油学习
对。求解的过程中,我们没有选择“支撑向量”。
2020-11-08
共2条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程