在《統計學習方法》中,這樣描述:
支援向量機(support vector machines,svm)
是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,其學習策略便是間隔最大化,可形式化為乙個凸二次規劃(convex quadratic programming)
問題的求解。
函式間隔(function margin)
定義:對於給定訓練資料集t和超平面$(w, b)$,定義超平面$(w,b)$關於樣本點$(x_,y_)$的函式間隔為$$\widehat}=y_(w\cdot x_+b)$$
定義超平面$(w,b)$關於資料集t的幾何間隔為超平面$(w,b)$t中所有樣本點$(x_,y_)$的函式間隔之最小值,即$$\widehat=min\widehat}$$
幾何間隔(geimetric margin)
定義:對於給定訓練資料集t和超平面$(w, b)$,定義超平面$(w,b)$關於樣本點
$(x_,y_)$的幾何間隔為$$\gamma _=y_(\frac\cdot x_+\frac)$$
定義超平面$(w,b)$關於資料集t的幾何間隔為超平面$(w,b)$t中所有樣本點$(x_,y_)$的函式間隔之最小值,即$$\gamma=min\gamma _$$
因為如果超平面引數$w$和$b$成比例改變,雖然超平面不變,但是函式間隔離變了。因此使用幾何間隔,並且令$\left \| w \right \|=1$,下圖為《機器學習》中的一張插圖。
得到的目標函式如下
$$max\frac \hspace s.t., \gamma_(w^+b)\geq 1$$
$由於求\frac的最大值相當於求\frac\left \|w \right \|^的最小值,所以上面的目標函式等價於$
$$min\frac\left \|w \right \|^ \hspace s.t., \gamma_(w^+b)\geq 1$$
為了更好地理解接下來的內容,這裡插入一段有關簡單來說,對於任意乙個帶約束的優化都可以寫成這樣的形式:對偶性(duality)
的補充。詳情請見這篇文章,已經清楚的夥伴可以跳過。
$$ \begin \min&f_0(x) \\ s.t. &f_i(x)\leq 0, \quad i=1,\ldots,m\\ &h_i(x)=0, \quad i=1,\ldots,p \end $$
雖然約束條件能夠幫助我們減小搜尋空間,但是如果約束條件本身就是比較複雜的形式的話,其實是一件很讓人頭痛的問題,為此我們希望把帶約束的優化問題轉化為無約束的優化問題。為此,我們定義lagrangian
如下:
$$l(x,\lambda,\nu)=f_0(x)+\sum_^m\lambda_if_i(x)+\sum_^p\nu_ih_i(x)$$
令:$$z(x)=\max_l(x,\lambda,\nu)$$
容易證明,對於滿足約束條件的 x,有$f_0(x)=z(x)$,因為約束條件$h_i(x)=0$,即式子最後一項為0,又因為$\lambda\geq 0$且約束條件$f_i(x)\leq 0$,因此式子的第二項最大值為0,所以l的最大值即$z(x)=f_0(x)$.
所以,帶約束條件的原問題(primal problem)
轉換為不帶約束條件的優化問題,即:
$$\min_x z(x)$$
也即(記為$p^*$):
$$p^*=\min_x\ \max_ l(x, \lambda, \nu)$$
因為如果原始問題有最優值,那麼肯定是在滿足約束條件的某個 x∗ 取得,而對於所有滿足約束條件的$ x$ ,$z(x)$ 和 $f_0(x)$ 都是相等的。
這個原問題(primal problem)
的對偶問題(dual problem)
將$min$和$max$調換了位置(記為$d^*$):
$$d^*=\max_\ \min_x l(x, \lambda, \nu)$$
可以證明$d^*\leq p^*$,此這個性質叫做弱對偶(weak duality)
,對於所有的優化問題都成立。注意,無論原問題是什麼形式,它的對偶問題總是凸優化問題(convex optimization)
。
強對偶(strong duality)
即$d^*=p^*$,在svm中滿足ktt(karush-kuhn-tucker)
條件,通過求解對偶問題間接求解原始問題。
根據上面的補充,繼續如下推導。
引入拉格朗日乘子(lagrange multiplier)
構造拉格朗日函式 ,( 其中拉格朗日乘子$\alpha=(\alpha_,\alpha_,...\alpha_)^$ )
$$l(w, b, \alpha)=\frac\left \|w \right \|^-\sum_^n\alpha _(\gamma_(w^+b)-1)$$
要求解:
$$ \min_\ \max_\succeq 0} l(w, b, \alpha)=p^*$$
轉換為對偶問題:
$$ \max_\succeq 0}\ \min_\ l(w, b, \alpha)=d^*$$
先求$l(w, b, \alpha)$對 $w$,$b$的極小,再求對$\alpha$的極大。$$\nabla_l(w, b, \alpha)=0 \hspace和 \hspace \nabla_l(w, b, \alpha)=0$$
得到$$w=\sum_^n\alpha_y_x_ \hspace和 \hspace\sum_^n\alpha_y_=0$$
將上面兩式帶入拉格朗日函式l,得到:
$$\min_\ l(w, b, \alpha)=-\frac\sum_^n\alpha_\alpha_y_y_x_^tx_+\sum_^n\alpha_$$
詳細推導補充如下:
將 $\alpha^=(\alpha_,\alpha_,...\alpha_)^$ 求解出來之後,即可求出 $w^$ 和 $b^$
$$w^=\sum_^n\alpha_y_x_$$
$$b^=y_-\sum_^n\alpha_^y_(x_ \cdot x_)$$
二次規劃求解可以使用更加優化的smo(sequential minimal optimization)
替代,更加高效,暫時自己還沒有看懂,先放著。
個人感覺svm挺難理解的,前前後後參考了很多資料,感謝大神們的總結和指導,自己仍有不足,若有錯漏歡迎指出。有引用部分,侵刪。
參考如下:
1.svm三重境界
2.《統計學習方法》 李航
3.支援向量機:duality
4.《機器學習》 周志華
支援向量機(SVM)
簡介 術語 支援向量機 svm 是乙個類分類器,正式的定義是乙個能夠將不同類樣本在樣本空間分隔的超平面。換句話說,給定一些標記 label 好的訓練樣本 監督式學習 svm演算法輸出乙個最優化的分隔超平面。首先我們假定有乙個未知的欲分類的集合,可以進行分割,但是我們不知道分割的函式 超平面,也叫真實...
支援向量機SVM
支援向量機svm support vector machine 是機器學習領域的乙個有監督的學習模型。一 簡介 支援向量機建立在統計學習理論的基礎之上。統計學習理論 statistical learning theory簡稱slt 是一種處理小樣本的統計理論 為研究有限樣本情況下的統計模式識別和更廣...
SVM支援向量機
在機器學習領域,很多時候會用到分類的一些演算法,例如knn,貝葉斯。我們可以把分類的樣本簡單除暴的分為兩種型別。線性可分和非線性可分。可以使用乙個非常簡單的例子來解釋什麼是線性可分,什麼是線性不可分。a 線性可分的2類樣本 b 非線性可分的2類樣 已知乙個線性可分的資料集,其中x表示乙個n維向量,當...