線性支持向量機(soft-margin SVM)
在理解了上一篇的線性可分支持向量機後,這一篇很好理解,只不過多了幾個概念,正好論述的同時還可以再理解和整理一下svm的求解思路。
我們一般的訓練樣本,很少出現線性可分的情況,總有少部分的噪音點,而將這些噪音點除去後,餘下的樣本則線性可分。
線性不可分意味著某些樣本點不能滿足函數間隔(不是幾何間隔)大於等於1的約束條件,所以我們對每個樣本 點引入一個鬆弛變數 ,使得函數間隔加上鬆弛變數之後大於等於1,於是約束條件變為:
同時每個鬆弛變數需要在目標函數上支付一個代價 ,則目標函數變為:
C>0稱為懲罰參數,由不同業務決定,當成常數。目標函數的意義是:1、使每個點的間隔最大化,2、所有的鬆弛變數和最小,C調和二者的權重。大C表示不惜選擇窄邊界也要儘可能把更多點正確分類;小C表示希望得到更寬的邊界,即不惜增加錯誤點個數也要選擇更寬的分類邊界。
綜上,我們可以得到線性不可分的線性支持向量機的原始問題:
對偶問題
原始問題的拉格朗日函數為:
對偶問題是拉格朗日函數的極大極小問題,極小問題中 沒有限制條件
令拉格朗日函數在 處的偏導數值為0,可以得到:
將上式代入拉格朗日函數有:
則對偶問題為:
再優化一下對偶問題(消去 ,max轉min),我們就得到最終對偶問題:
求解
原始問題是凸二次規劃問題,滿足KKT條件,我們即有:
求得對偶問題的解 後,我們找一個分量 ,此分量範圍是 ,那我們就可以得出w和b的解:
注意: 任何一個 都可以求出一個b,所以原始問題對b的解並不一定唯一。
線性支持向量機的支持向量
只要在兩個邊界中間的樣本點,都屬於支持向量
- 落在邊界上:
- 落在區間內並分類正確:
- 落在區間內並分類錯誤:
- 落在超平面上:
合頁損失函數(暫)
既然都看到這兒了,少年點個贊可好?感謝!
done 2017年11月24日15:53:11
推薦閱讀:
※第七周筆記:支持向量機SVM
※機器學習演算法實踐-SVM核函數和軟間隔
※支持向量機中的函數距離和幾何距離怎麼理解?
※想研究下SVM,有什麼好的文章或者經驗之談可以分享下不?
※為什麼支持向量機要用拉格朗日對偶演算法來解最大化間隔問題?