SVM系列之拉格朗日对偶

时间:2023-03-08 23:15:32
SVM系列之拉格朗日对偶

在学习SVM(Support Vector Machine) 支持向量机时,对于线性可分的分类样本求出的分类函数为:

SVM系列之拉格朗日对偶

其中,分类超平面可以表示为:SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶

式中N代表特征空间的维数。

带约束凸优化问题的一般形式为:

SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶

其中,f(w)为需要求解的目标函数,g(x) 和 h(x) 为约束条件,这里满足f(w)和gi(w)为Rn上处处可微的凸函数,也为仿射函数(即型为Ax+b的形式,A、x属于Rn),因此,上述的第一个式子可以看作目标函数,为二次型,而第二个式子可以看作它的约束条件,即次求解过程可以转化为求解凸二次优化问题。

这里插播一条求解凸优化的好处,就是局部最优解与全局最优解是相等的,这时候如果要用梯度下降法(Gradient Descend)之类的算法就不用担心会陷入局部极值。

求解上述的二次凸优化问题需要引入拉格朗日乘子(Lagrangian Multiplier) 和 KKT 条件。

先说拉格朗日乘子,可以参见*给出的解释http://en.wikipedia.org/wiki/Lagrange_multipliers。对于等式的约束问题:

即求解目标函数SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶其中λ≠0 。参照下图(来自wiki原图),红色为g(x,y)=c的等高线,蓝色虚线为f(x,y)的等高线,箭头指向梯度下降的方向即f(x,y)的减小方向,与切线的法线方向平行,试想需要找满足约束条件的f(x,y)的最小值,需要在蓝色曲线与红色曲线相交或相切的点上寻找,如果是交点,则必然存在一点或多点比使f(x,y)满足约束条件更小的点,也就是下图中如果找外围蓝色曲线与红色曲线的交点,则必然存在f(x,y)=d1上的点比该点更小,因此,需要找到的点就是蓝色曲线与红色曲线的切点。而在切点处,法线的方向是平行的,只需要参数来调整大小和方向,因此对x,y求导求出切点的法线,λ用来调整等式使其相等,对λ求偏导引入等式条件,即SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶

再说 KKT 条件

KKT 条件为非线性规划求最优解问题提供了必要条件,wiki上也有说明 http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions。

KKT 的一般性描述为

SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶

SVM系列之拉格朗日对偶

也可以转换为求解目标函数的极大值SVM系列之拉格朗日对偶

这里引入拉格朗日乘子连接目标函数与约束条件得到拉格朗日函数 SVM系列之拉格朗日对偶

这篇文章只是个人的理解,有什么问题欢迎大家留言一起交流。