SVM优化部分简述
1.问题引入
对于如上如图的红、紫色样本点,希望找到一决策边界 (表示权重向量,表示样本特征矩阵,b 表示偏置)使得 两条平行与决策边界的虚线到决策边界的相对距离最大化。两类数据中距离决策边界最近的点,就称为”支持向量“。紫色类的点为xp,红色的点为xr,可以得到:
两式相减,得到:
上是两边同除以,则可以得到:
即:
所以最大边界所对应的决策边界就是要最大化d,就是求解 的最小值。可以转化为以下函数的最小值:
对于任意样本,决策函数可写作:
上面两个式子表示为:
即可得到目标函数的形式:
2.拉格朗日乘数形式
由于损失函数是二次的。并且损失函数的约束条件在参数w和b下是线性的,因此目标函数为凸函数,可得到如下拉格朗日函数:
对于上式,为了实现求解最小值的同时让约束条件被满足,先以为参数,求解的最大值,再以w和b为参数,求解的最小值,得到:
3.拉格朗日对偶函数
由
得到:
其中:
代入(1)、(2)式整理得对偶函数:
4.KKT条件及求解
当满足KKT条件:
求解
所以求解的目标函数变化为:
使用SMO或者QP即可求解,求得后,代入(1)式求解,使用(1)和决策边界的表达式结合式:
来求解b。
至此,决策函数就可以被写作:
是任意测试样本,sign(h)当h>0时返回1(正样本),h<0时,返回-1(负样本)。