1.SVM思路
1.函数间隔和几何间隔:
点距离分离平面的远近可以代表分类预测的确信度,在超平面w⋅x+b=0确定的情况下,|w⋅x+b|表示点x距离超平面的远近,由于w,b可以成比例改变,超平面不变,所以需要对分离平面法向量进行约束,因此定义函数间隔和几何间隔分别为:
γ¯i=yi(w⋅xi+b)γi=yi(w⋅xi+b)||w||
求所有样本的间隔最小值得:γ¯=mini=1,..,nγi¯γ=mini=1,...,nγi
2.线性可分间隔最大化:
直观理解:对最难分的点(离超平面最近的点)也要有足够大的确信度,因此可得到目标函数
maxw,bγyi(w⋅xi+b)||w||≥γ,i=1,..,n
考虑几何间隔与函数间隔的关系,改写为maxw,bγ¯||w||yi(w⋅xi+b)≥γ¯,i=1,..,n
函数间隔γ¯可根据w,b成比例改变,因此可取任意值,将其设为1,由于最大化1||w||与最小化12||w||2等价,得到线性可分支持向量机,是一个凸二次规划问题(统计学习方法P100)minw,b12||w||2yi(w⋅xi+b)≥1,i=1,..,n
3.线性不可分加入松弛因子
不能完全把点分开时,在约束条件中加入松弛因子ξ,同时需要在目标函数中进行惩罚,并给出惩罚力度,得到线性支持向量机
minw,b12||w||2+C∑i=1nξiyi(w⋅xi+b)≥1−ξi,i=1,..,n
4.转化为对偶形式
minα12∑i=1n∑j=1nαiαjyiyj(xi⋅xj)−∑i=1nαis.t.∑i=1nαiyi=0,0⩽αi⩽C
此时,变量个数为样本长度,原问题变量个数为特征向量长度,只有支持向量α>0分开的xi变为向量内积方便使用核函数。当0<α<C,则ξ=0,支持向量落在间隔边界上;当α=C,0<ξ<1,分类正确,落在间隔边界和分离超平面之间;当α=C,ξ>1,分类错误。再求解w,b,其中b可以用间隔边界上(0<α<C)的一个点或所有点求平均得到w=∑i=1nαiyixi,b=yj−∑i=1nyiαi(xi⋅xj)
2.SVM模型另一种解释
1.判别模型
f(x)=sign(w⋅x+b)
2.参数
决策边界法向量w,和决策边界截距
3.目标函数(损失函数+正则化项)
1.损失函数(hinge loss)
L(y,w⋅x+b)=[1−y(w⋅x+b)]+
[z]+:当z>0时为z,z<0时为0。对于硬间隔SVM,损失函数为0,即使全部1−yi(w⋅xi+b)<0 2.目标函数:
Obj=∑i=1n[1−yi(w⋅xi+b)]++λ||w||2
最小化该目标函数等价于上述凸二次规划问题。令[1−yi(w⋅xi+b)]+=ξi,λ=12C可证明。 3. 目标函数决定了模型生成仅与支持向量有关,与其余大部分样本点无关