手撕SVM公式

轉載自:https://blog.csdn.net/Dominic_S/article/details/83002153

1.SVM作用

對於給定的訓練樣本集D={(x1,y1), (x2,y2),… (xn,yn)},yi屬於{-1,+1},希望能找出一個超平面,把不同類別的數據集分開,對於線性可分的數據集來說,這樣的超平面有無窮多個,而最優的超平面即是分隔間距最大的中間那個超平面
超平面

2.硬間隔最大化

超平面2
硬間隔
對於以上的KKT條件可以看出,對於任意的訓練樣本總有ai=0或者yif(xi) - 1=0即yif(xi) = 1
1)當ai=0時,代入最終的模型可得:f(x)=b,即所有的樣本對模型沒有貢獻
2)當ai>=0,則必有yif(xi) = 1,注意這個表達式,代表的是所對應的樣本剛好位於最大間隔邊界上,是一個支持向量,這就引出一個SVM的重要性質:訓練完成後,大部分的訓練樣本都不需要保留,最終的模型僅與支持向量有關。

關於對偶問題

  • 轉化爲對偶問題,具體就是把所有的約束條件,分別乘上拉格朗日乘子ai>=0,添加到需要優化的目標函數裏,形成一個待優化的表達式
  • 爲什麼原問題能求解,卻要轉化爲對偶問題?
    1)帶約束的原問題求解比較困難,變成對偶問題可以把約束條件和待優化的目標融合在一個表達式裏面
    2)拉格朗日對偶問題一般是凹函數(求最大值),即使原問題是非凸的,變成對偶問題更容易優化求解
    3)對偶問題能自然的引入核技巧,方便後續用來解決低維線性不可分的問題

3.軟間隔最大化

前面我們是假定所有的訓練樣本在樣本空間或特徵空間中是嚴格線性可分的,即存在一個超平面能把不同類的樣本完全分開,然鵝現實任務中很難確定這樣的超平面(不管是線性超平面還是經過核變換到高維空間的超平面),所以引入鬆弛變量,允許一些樣本出錯,但我們希望出錯的樣本越少越好,所以鬆弛變量也有限制(注:公式中的鬆弛變量不是單單一個數,每個樣本都有對應的鬆弛變量)。引入鬆弛變量的間隔問題成爲軟間隔
鬆弛變量
軟間隔
稀疏性

4.核函數

前面我們都是假設樣本是線性可分的,雖然軟間隔不完全可分,但大部分還是可分的。而現實任務中很可能遇到這樣的情況,即不存在一個能夠正確劃分兩個類別樣本的超平面,對這樣的問題,可以將樣本從原始空間映射到一個更高維的特徵空間中,使得樣本在這個特徵空間中線性可分。數學上可以證明,如果原始空間是有限維,即屬性數有限,則一定存在一個高維特徵空間使樣本可分。
核方法
核函數

參考文章:《機器學習》——周志華

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章