>>>SVM之對偶問題
前一篇SVM之問題形式化中將最大間隔分類器形式化為以下優化問題: \[\begin{align}\left\{ \begin{matrix} \underset{w,b}{\mathop{\min }}\,\frac{1}{2}{{\left\| w \right\|}^{2}} \\ \begin{matrix}s.t. & {{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\ge 1 \\\end{matrix} \\\end{matrix} \right.\end{align}\]
容易發現這是一個凸優化問題,而凸優化問題問題一般而言是滿足Slater條件的(具體證明我也不懂),所以可以等價地求解其對偶問題。轉而求解其對偶問題,是因為它的對偶問題有很好的形式(向量內積形式),可以為SVM很方便的引人核函數。關於對偶問題的基本概念在寫在SVM之前——凸優化與對偶問題一文中已做粗略介紹。現在,寫出以上優化問題的對偶形式。
首先,將(1)化為標准形式 \[\begin{align}\left\{ \begin{matrix}\underset{w,b}{\mathop{\min }}\,\frac{1}{2}{{\left\| w \right\|}^{2}} \\\begin{matrix}s.t. & 1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)\le 0 \\\end{matrix} \\\end{matrix} \right.\end{align}\]
構建拉格朗日函數:\[\begin{align}L(w,b,\alpha )=\frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))}\end{align}\]
令${{\theta }_{D}}(\alpha )=\underset{w,b}{\mathop{\min }}\,L(w,b,\alpha )$,則(2)的對偶問題可以寫成\[\begin{align}\underset{\alpha }{\mathop{\max }}\,\underset{w,b}{\mathop{\min }}\,L(w,b,\alpha )=\underset{\alpha }{\mathop{\max }}\,{{\theta }_{D}}(\alpha )\end{align}\]
首先求出${{\theta }_{D}}(\alpha )$。${{\theta }_{D}}(\alpha )$是函數$L(w,b,\alpha )$關於變量$(w,b)$ 的最小值,且容易發現$L(w,b,\alpha )$是關於$(w,b)$的凸函數,所以可以直接求偏導數並令其為0得到解。
$L(w,b,\alpha )$ 關於$w$ 求偏導:
$\begin{align*}\frac{\partial L(w,b,\alpha )}{\partial w}&=\frac{\partial \left[ \frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \right]}{\partial w} \\& =\frac{\partial \left[ \frac{1}{2}{{w}^{T}}w+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \right]}{\partial w} \\& =w-\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}} \\\end{align*}$
令其為0,得到 \[\begin{align}w=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}}\end{align}\]
$L(w,b,\alpha )$ 關於$b$ 求偏導:
$\begin{array}{*{35}{l}} \frac{\partial L(w,b,\alpha )}{\partial b} & =\frac{\partial \left[ \frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \right]}{\partial b} \\{} & =-\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}} \\\end{array}$
令其為0,得到 \[\begin{align}\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0\end{align}\]
現在,將(5) 代回(3),得到
$\begin{align*}{{\theta }_{D}}(\alpha )&=\frac{1}{2}{{\left\| w \right\|}^{2}}+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \\& =\frac{1}{2}{{w}^{T}}w+\sum\limits_{i}{{{\alpha }_{i}}(1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b))} \\& =\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}}+\sum\limits_{i}{{{\alpha }_{i}}}-\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}}-b\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}} \\& =\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}}-b\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}} \\\end{align*}$
再根據(6),得到 \[\begin{align} {{\theta }_{D}}(\alpha )&=\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}{{({{x}^{i}})}^{T}}{{x}^{j}}} \\& =\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}<{{x}^{i}},{{x}^{j}}>} \\\end{align}\]
這便求出了${{\theta }_{D}}(\alpha )$,而對偶問題是$\underset{\alpha }{\mathop{\max }}\,{{\theta }_{D}}(\alpha )$。加上約束條件,對偶問題就可以寫成
\[\begin{align}\left\{ \begin{matrix}\underset{\alpha }{\mathop{\max }}\,\sum\limits_{i}{{{\alpha }_{i}}}-\frac{1}{2}\sum\limits_{i,j}{{{\alpha }_{i}}{{\alpha }_{j}}{{y}^{i}}{{y}^{j}}<{{x}^{i}},{{x}^{j}}>} \\s.t.\left\{ \begin{matrix}{{\alpha }_{i}}\ge 0 \\\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0 \\\end{matrix} \right. \\\end{matrix} \right.\end{align}\]
其中約束${{\alpha }_{i}}\ge 0$是拉格朗日對偶問題本身的要求,約束$\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}}=0$代表$\frac{\partial L(w,b,\alpha )}{\partial b}=0$的結果。
現在,對偶問題就得到了。對偶問題求解的結果是得到$\alpha $ 的取值。當$\alpha $得到解后,就可以根據$w=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}}$解出$w$ 。$w$確定了分類超平面的方向,$b$ 使得超平面有一個平移,根據最大間隔分類器的准則,最優超平面是穿過兩類樣本“最中間”的一個平面,所以$b$並不難確定\[\begin{align}b=-\frac{\underset{i:{{y}^{i}}=-1}{\mathop{\max }}\,{{w}^{T}}{{x}^{i}}+\underset{i:{{y}^{i}}=1}{\mathop{\min }}\,{{w}^{T}}x}{2}\end{align}\]
$(w,b)$ 確定后,分類器就確定了,就是超平面${{w}^{T}}x+b=0$ ,對於新的輸入樣本$x$ ,如果${{w}^{T}}x+b>0$則判別它樣本類別為1,否則判別它樣本類別為-1。
現在不求解$w$ ,而是將$w=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}{{x}^{i}}}$ 帶入判別式${{w}^{T}}x+b$ 中,得 \[\begin{align}{{w}^{T}}x+b=\sum\limits_{i}{{{\alpha }_{i}}{{y}^{i}}<{{x}^{i}},x>}+b\end{align}\]
上式將判別式寫成了向量內積的形式,看似需要計算輸入$x$與所有訓練樣本的內積,但實際上還可以簡化。
回顧寫在SVM之前——凸優化與對偶問題一文提到的KKT條件${{\alpha }_{i}}{{g}_{i}}(x)=0$ ,只有${{g}_{i}}(x)=0$時${{\alpha }_{i}}$ 才可能不為0。對應到現在的分類器:$x\to (w,b),{{g}_{i}}(x)\to {{g}_{i}}(w,b)=1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)$ (注意這里的$x$ 是優化問題形式化中的優化變量,不要與上文中的新輸入樣本$x$ 混淆)。所以只有當$1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=0$時,對於的${{\alpha }_{i}}$ 才可能不為0,那么(11)的計算實際上只需計算了部分訓練樣本與新輸入樣本的內積,這部分$1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=0$的訓練樣本稱為支持向量,這也是SVM——支持向量機名字的來源。
考慮支持向量滿足$1-{{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=0$,所以${{y}^{i}}({{w}^{T}}{{x}^{i}}+b)=1$,而${{y}^{i}}({{w}^{T}}{{x}^{i}}+b)$正是樣本函數間隔的定義,也就是說,支持向量就是函數間隔為1的樣本,它們也是所有樣本中函數間隔最小的樣本。
上圖標出來最優分類超平面(紅色)和對於的函數間隔為1的樣本(兩條黑線上的樣本),對左側黑線上的支持向量有${{w}^{T}}{{x}_{l}}+b=-1$ ,對於右側黑線上的支持向量有${{w}^{T}}{{x}_{r}}+b=1$,根據KKT條件,這兩個樣本可以根據${{\alpha }_{l}}>0$ 和${{\alpha }_{r}}>0$找到,兩個式子聯立起來得到$b=-\frac{{{w}^{T}}{{x}_{l}}+{{w}^{T}}{{x}_{r}}}{2}$ ,與(10)的是一致的。其實從這里就可以看出,只需要一個樣本就可以確定$b$了,根據${{w}^{T}}{{x}_{r}}+b=1$,就可以解出$b$,$b=-\frac{{{w}^{T}}{{x}_{l}}+{{w}^{T}}{{x}_{r}}}{2}$和(10)比較直觀的說明分類超平面穿過兩類樣本正中間而已。
現在,分類器的內容似乎已經完整了,但不要忘了,這都是在樣本可分的情況下進行的,還沒有考慮樣本不可分的情況。
核函數在一定程度上解決了樣本不可分問題,觀察優化問題(9)和判別函數(11),其中都存在向量的內積形式,核函數正是在這上面做文章的。下一篇SVM之核函數將討論這個問題。