4、从原始问题到对偶问题
上面说我们的问题可以用现成的优化包来进行求解,为什么我们还要把原始问题转化为对偶问题呢?原因主要有两点:一者对偶问题往往更容易求解;二者可以自然地引入核函数,进而推广到非线性分类问题。
首先来介绍一下 Lagrange 对偶性,通过给每个约束条件加上一个 Lagrange 乘子来定义 Lagrange 函数:
L(w,b,α)=12||w||2−∑ni=1αi(yi(wTxi+b)−1)
并且令
θ(w,b)=maxα≥0L(w,b,α)
容易验证,当某个约束条件不满足时,例如 yi(wTxi+b)<1 ,则令 αi=∞ ,有 θ(w,b)=∞ 。当所有约束条件都满足时,则最优值为 θ(w,b)=12||w||2 ,即最初要最小化的量。于是目标函数就变成了:
minw,bθ(w,b)=minw,bmaxα≥0L(w,b,α)=p∗
这里用 p∗ 表示这个问题的最优值,且和原始问题是等价的。
现在考虑上述问题的对偶问题:
maxα≥0minw,bL(w,b,α)=d∗
这个新问题的最优值用 d∗ 表示。并且有 d∗≤p∗ 。
说明:
假设 L(w,b,α) 关于 w,b 的极值在 w=w∗,b=b∗ 时取得,由于 α≥0 ,则
∑ni=1αi(yi(w∗Txi+b∗)−1)≥0
=>L(w∗,b∗,α)=12||w∗||2−∑ni=1αi(yi(w∗Txi+b∗)−1)≤12||w∗||2
=>minw,bL(w,b,α)≤L(w∗,b∗,α)≤12||w∗||2=p∗ ,
于是 d∗≤p∗ 。
在满足某些条件的情况下,这两者相等,这个时候就可以通过求解对偶问题来间接地求解原始问题。这个条件就是 KKT 条件,可以参考附录1。
5、求解对偶问题
原始问题通过满足 KKT 条件已经转化为了对偶问题,现在我们来求解这个对偶问题:
maxα≥0minw,bL(w,b,α)
其中 L(w,b,α)=12||w||2−∑ni=1αi(yi(wTxi+b)−1) 。
首先固定 α ,让 L 关于
{∂L∂w=0∂L∂b=0
于是
{w=∑ni=1αiyixi∑ni=1αiyi=0
注:一个多元函数对各个变量求偏导,得到的不是一个数,而是一个向量,这个向量就是各分量的偏导数。
最后得出:
L(w,b,α)=∑ni=1αi−12∑ni,j=1αiαjyiyjxTixj
于是
⎧⎩⎨⎪⎪maxα∑ni=1αi−12∑ni,j=1αiαjyiyjxTixjs.t.αi≥0,i=1,2,...,n∑ni=1αiyi=0
这样可以求出 αi ,根据 w=∑ni=1αiyixi 可以求出 w ,然后通过
求出 b ,最终得出分离超平面和分类决策函数。