理解SVM的几个关键知识点:
理解目标:
1). 函数间隔和几何间隔
2). 间隔最大化
理解方法(优化上述目标的方法):
1) 对偶方法,将问题转化,KKT条件
2)核函数法,求解非线性问题
3)软间隔,求解线性不可分情况
4) SMO算法,具体分为两步:1就是类似坐标上升法的选定两个参数,固定其他参数并对这两个参数进行优化,两个参数的值域,在不同取值是对应样本的意义 2.就是启发式算法,如何选择这个两个参数
SVM的知识网上一大堆,以上主要是自己学习时候遇到的瓶颈,供大家参考,现在讲主要思路理一下以便加强记忆。
理解目标:
1). 函数间隔和几何间隔
函数间隔 r=y(wx+b) 就是指样本(x,y)距离某个分类超平面wx+b=0的距离。然而我们会发现,当w,b成比例变化时,超平面并没有变化,而函数距离却会同样变化,这时就需要引入一个东西将其进行归一化,这样就定义了几何间隔(wx+b)/||w|| =r'。
2). 间隔最大化
定义好了几何间隔,这时候就需要确定w,b使所有样本距超平面的几何间隔达到最大,也就是说有最大的置信度将两类样本分开max r'=r/||w||
s.t. wx+b>=r'
并简化为 max 1/||w|| s.t. wx+b>=1
其实如果从图上可以看到,w正好是超平面法方向,而范数||。||的作用是什么呢????就是向量大小的度量! 所以1/||w|| 也就是说在法方向上的1个单位的长度大小 ,我们知道在一维情况下,假设一个东西,它的长度固定是5,他在不同单位坐标下会得到不同坐标,可以写为5=5*1 ,其中5是坐标,1是单位长度 ,如果单位长度为2,那么5=2.5*2 了,也就是说有2.5的单位长度,反过来,2.5=5/2 ,5是一个固定长度,2是单位长度,我们现在好了,假定函数间隔固定为1,||W||是向量长度,1/||W||也就是说假定一个东西它的长度为1,他在W向量上的坐标就是1/||w||,我们现在要最大化这个坐标值,它的意义是什么呢???联系LDA和PCA就知道,很明显就是在w方向上,坐标值越大,那么他越远离原点,显然,当正负两类样本放在在这个方向上进行度量时,他们之间的坐标值差异也就会越大。这与LDA有几分相似,LDA就是找一个方向,尽量让不同类别之间分散开来。
好了,理解了目标,我们就要找方法了。