機器學習方法篇(14)------SVM公式推導

● 每週一言

找準自己的定位,才能找到自己的快樂。

導語

前兩節講完了拉格朗日乘子法和KKT條件,而SVM正好符合拉格朗日乘子法定義的不等式約束優化問題形式,本節就基於KKT條件來推導一下SVM。

SVM公式推導

我們先回憶一下前面第11節講到的SVM模型公式:

fig1

根據上一節講的KKT條件,將上述SVM的公式條件先轉化爲小於等於形式,然後帶入拉格朗日公式如下:
fig2

其中(xi,yi)表示第i個樣本。由於我們是要求上述拉格朗日公式關於參數w和b的最小值,因此先假定αi爲常數,L對w和b求導置0得:
fig3

將求得的w和b的極值帶回拉格朗日公式,可以消掉w和b,剩下的就是一個關於α的式子,公式推導如下:
fig4

根據拉格朗日對偶問題的定義,到了這一步就應該求W關於α的最大值問題了。這個問題可以這樣直觀理解,因爲KKT條件中h(x)是非正函數,而α ≥ 0,如果W要求的這個極值是最小值,那麼無窮大的α會使W的值變得無窮小。因此,我們得到了SVM的“半成品”公式:
fig5

之所以是“半成品”,是因爲到目前爲止,我們基於的都是樣本完全線性可分的條件。而實際情況往往正負樣本之間都會夾雜噪聲,即正樣本區域包含少量負樣本,而負樣本區域包含少量正樣本。這個時候就需要一個與分界面的容錯距離ϵ,將這個ϵ加入到原始的SVM公式我們得到:
fig6

常數C代表了樣本容錯距離之和對模型最終準確率的影響程度。將上述公式中新增的部分一起帶入拉格朗日公式如下:
fig7

重新L分別對w、b以及ϵ求導置0得:
fig8

由於拉格朗日參數ri ≥ 0,所以C ≥ αi ≥ 0。然後將上述極值帶回拉格朗日公式,可以消除w、b、ϵ和r,得到W關於α的最終版SVM公式如下:
fig9

現在的目標就是尋找一組αi的最優解,使得W的值最大。而求最優解的方法叫做SMO算法,有興趣的讀者可以自行查閱資料學習。

以上便是SVM公式的推導過程,敬請期待下節內容。

本文推導參考:http://blog.csdn.net/on2way/article/details/47729419

結語

感謝各位的耐心閱讀,後續文章於每週日奉上,敬請期待。歡迎大家關注小鬥公衆號 對半獨白

face

發佈了91 篇原創文章 · 獲贊 113 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章