这节课内容介绍了SVM的核心。
首先,既然SVM都可以转化为二次规划问题了,为啥还有有Dual啥的呢?原因如下:
如果x进行non-linear transform后,二次规划算法需要面对的是d`+1维度的N个变量,以及N个约束
如果d`的维度超大,那么二次规划解起来的代价就太大了。因此,SVM的精髓就在于做了如下的问题转化:
不需要问太深奥的数学,知道为啥要dual的motivation就可以了。
这里再次搬出前人的智慧:Lagrange Multipliers
但是这里跟ridge regression不太一样:一个约束条件配一个拉格朗日乘子;每个乘子是未知的,需要求解的变量。
如上图,首先把原问题的N个不等式约束条件,通过拉格朗日乘子给弄到等式中。
问题困惑:原来的目标函数是min (b,W) 0.5W‘W,而且还是min;为啥用Lagrange Fucntion转换后,还搞出来一个max呢?背后的原因是啥呢?
我的理解:这里max的目的是把违背约束条件的(b,W)的值无限放大
(1)违背约束条件:alpha后面的值是正数,那么max必然是alpha取无限大的情况;这样经过外层的min操作,必然过滤掉了
(2)符合约束条件:alpha后面的值是非正,那么max必然是alpha取零的情况;这样min里面剩下的项就是原目标函数了;
综合(1)(2)来看,拉格朗日乘子起到这样的作用:
a. 把不等式约束给弄到等式中
b. 把违背约束的项目给弄到无限大
c. 如果符合约束条件,等式中的拉格朗日项目就没有了;这样剩下的自然就是原来需要min的目标函数
综合b,c来看,拉格朗日乘子用一种特殊的方式把违背约束条件的(b,W)给排除了,把符合约束条件的(b,W)给留在了候选集合中。
这样转换后的问题就跟原问题等价了;约束条件藏在了max里面。