svm保姆级教程---(二)拉格朗日乘子算法求解的原理以及KKT条件

接上文,我们可以知道软硬间隔下的svm表达式,是一个约束最优化问题。

在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转为对偶问题,通过解决对偶问题而得到原始问题的解。

   下面我们先回忆一下拉格朗日乘子算法求解的原理以及大名鼎鼎的KKT条件(这里我参考了李宏毅老师的ppt)

首先我们设置原始问题:

我们将上述问题对应的图像画出,可以看出梯度的反方向为蓝色箭头的方向

同时我们做出的梯度方向,因为梯度的方向是指向函数值增大最快的方向,的函数值可以不严谨的理解为圆的半径,因此梯度方向超外。

现在我们来看图像,首先我们看图上的红点要想实现原式的条件,红点必须在图上(即圆上),且红点移动的方向要与的夹角小于90°。

由图像可以得出,当同向时将达到最小值,因此可以得出,即,可以取得极小值。

下面我们尝试将原问题转化为以下形式,即将转化为

你会发现当对求极值时,在关于求偏导得到 ,在关于求偏导得到。可以看到①、②两个式子涵盖了我们上面说的原问题最小值及其相应条件(ps:要想实现求得的是局部极小值,也就是保证是函数图像的波谷,还必须要求梯度的梯度矩阵必须是正定矩阵,有兴趣的朋友可以自行百度,我这里就不赘述了)。以上就是拉格朗日乘子算法的本质。


下面我们来看在条件为不等式的情况,

第一种情况

我们还是先把图像画出来

可以看到当的极小值无论是否有的约束,的极小值都是原来那个值,也就是说没有起到作用。

因此在此类情况下,当,就可以取到极小值,同时我们还可以知道,此时

第二种情况

由图上可知,此时因为的最小值没有在可行区域内,因此的极小值必定在的边界上,设极优解为,故可得出。由上文及下图可知当满足,即可得到极小值的一系列点,又因为该点必须在的边界上,故可以得出唯一的最优解。即当,且时,即可取得极优解。


现在我们将以上两种情况总结归纳一下,

作为极优解,其中第一种情况:

  

上式可以等价于    

其中第二种情况:

  


现在我们设置拉格朗日函数:

原函数

对应的

     其极小值对应的极优解应满足以下式子:
    

      

     

    

     其中①式为,对lagrangian关于求偏导,即为 :

我们将上文两种情况归纳总结,可以看到上述两种情况其对应的 要满足一定关系,对应关系可以归纳写为③式,,这样一来就可限制死第一、二种的对应的相应条件。该式子又被称为松弛条件,可以看到当  ,一定存在,证明无约束,不对的极值起作用;当,一定存在,且一定位于的边界上。我们再看②、④显然成立。

上面的四个式子被称为KKT条件。


所谓的KKT条件就是说拉格朗日乘子算法求出的要想是最优解就必须满足KKT条件,否则就不是极优解。但反过来满足KKT条件的,不一定就是极优解。也就是说拉格朗日乘子算法求出的最优解是KKT条件的充分不必要条件。

以上就是拉格朗日乘子和KKT条件的全部内容,下面我们重返svm,进一步求解。请看svm保姆级教程---(三)svm中目标函数的拉格朗日形式

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

han_77777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值