SVM(二)

约束条件下的最优化问题

在上文中我们得到了SVM的目标函数,是一个约束最优化问题,下面来求解这个问题。

1.约束最优化问题

既然是约束,就可以分为SVM(二)SVM(二)两种形式(注意后面也有等于,不是<),如下图所示,分别是在一条线上和一片区域上寻找最优解。

SVM(二)

(1)最优解特点:

观察等式约束情况,可以发现直线上的最优解正好与等高线相切。这种情况是必然的,在最优解处目标函数的梯度方向如果不与直线的切线垂直的话,那么梯度方向必然存在一个分量与切线方向相同,也就是最优解还可以向这个方向移动,这里就不是最优解。有如下三个推论:

推论1:在那个宿命的相遇点SVM(二)也就是等式约束条件下的优化问题的最优解),原始目标函数SVM(二)的梯度向量SVM(二)必然与约束条件SVM(二)的切线方向垂直。

推论2:函数SVM(二)的梯度方向也必然与函数自身等值线切线方向垂直。

推论3:“函数SVM(二)与函数SVM(二)的等值线在最优解点SVM(二)处相切,即两者在SVM(二)点的梯度方向相同或相反”

由推论3可以得出以下结果:

SVM(二)

这就是构造拉格朗日函数的原因,将约束条件与目标函数整合到一起,SVM(二)就是拉格朗日乘子,它用来缩放使两个梯度求和为0。同时我们还有g(x)=0这个条件,构造拉格朗日函数SVM(二),对x和SVM(二) 求偏导等于0即可。

2.KKT条件

但是SVM的目标函数里的约束条件是SVM(二),此时最优解x有两种可能:

SVM(二)

(1)x在g(x)边界

此时与SVM(二)条件相同,不难理解这时最优解x在g(x)上的梯度和在f(x)上的梯度是相反的,也就是此时SVM(二)>0

(2)x在g(x)内部

此时约束条件是没有起到作用的,因为不管怎么优化都能满足约束条件,所以此时SVM(二)=0

综合上面两种情况,可以求得:

SVM(二)

这个就是KKT条件

 

3.拉格朗日对偶

之前我们构造了在等式约束条件下的拉格朗日函数,但那是基于三个推论,因为目标函数与约束条件在最优解处有相同或相反方向的梯度,而在不等式下没有这个条件。不过如果能构造出一种函数,使它在可行解区域内与目标函数一致,在可行解区域外无限大,这个函数就可以等价原最优化问题。下面讲解拉格朗日对偶

(1)原目标函数

SVM(二)

(2)新构造的目标函数

构造广义拉格朗日函数作为新的目标函数,注意此时是最大化,优化的自变量是a和b

SVM(二)

SVM(二)

SVM(二)

上式的讨论需要分为在可行解区域内和可行解区域外:

可行解区域内:此时满足h(x)=0,并且g(x)<=0,而系数b>=0,所以max最大只能是0

SVM(二)

可行解区域外:此时要么SVM(二),要么SVM(二),都可以使得max的优化结果为正无穷

SVM(二)

所以在x的分布下我们的目标函数为如下:

SVM(二)

此时已经没有了约束条件,下面可以求解最优化问题SVM(二)

(3)对偶问题

上式很难建立SVM(二)的显示表达式(由于x的取值不同表达不同),所以将其改为对偶形式。我们上面构造的函数如下:

SVM(二)

在构造另一个函数SVM(二),以及它的优化为:

SVM(二)

这就是上一节函数的对偶问题,可以证明这两个问题有相同的解。