1. 程式人生 > >07 SVM - 軟間隔模型

07 SVM - 軟間隔模型

六、硬間隔和軟間隔模型

之前兩章介紹的內容是硬間隔模型:
05 SVM - 支援向量機 - 概念、線性可分
06 SVM - 線性可分SVM演算法和案例

線性可分SVM中要求資料必須是線性可分的,才可以找到分類的超平面,但是有的時候線性資料集中存在少量的異常點,由於這些異常點導致了資料集不能夠線性劃分;直白來講就是:正常資料本身是線性可分的,但是由於存在異常點資料,導致資料集不能夠線性可分;

線性不可分的例子

如果線性資料中存在異常點導致沒法直接使用SVM線性分割模型的時候,我們可以通過引入__軟間隔__的概念來解決這個問題;


__硬間隔:__可以認為線性劃分SVM中的距離度量就是硬間隔,線上性劃分SVM中,要求函式距離一定是大於1的,最大化硬間隔條件為:

最大化硬間隔的條件

軟間隔: SVM對於訓練集中的每個樣本都引入一個鬆弛因子(ξ),使得函式距離加上鬆弛因子後的值是大於等於1;這表示相對於硬間隔,對樣本到超平面距離的要求放鬆了。

最大化軟體個的要求

鬆弛因子(ξ)越大,表示樣本點離超平面越近。如果鬆弛因子大於1,那麼表示允許該樣本點分錯。

0<¾<1時 ¾越大,點離超平面越近; ¾ 大於1,樣本點分錯

所以說加入鬆弛因子是有成本的,過大的鬆弛因子可能會導致模型分類錯誤,所以最終的目標函式就轉換成:

軟間隔的損失函式

__PS:__函式中的C>0是懲罰引數,是一個超引數,類似L1/L2 norm的引數;C越大表示對誤分類的懲罰越大,C越小表示對誤分類的懲罰越小;C值的給定需要調參。


優化損失函式的公式推導:

1、同線性可分SVM,構造軟間隔最大化的約束問題對應的拉格朗日函式如下:

構造軟間隔最大化約束問題,對應的拉格朗日函式

2、從而將我們的優化目標函式轉換為:

優化目標函式

3、優化目標同樣滿足KKT條件,所以使用拉格朗日對偶將優化問題轉換為等價的對偶問題:

優化函式的對偶問題

4、先求優化函式對於w、b、ξ的極小值,這個可以通過分別對優化函式L求w、b、ξ的偏導數得,從而可以得到w、b、ξ關於β和μ之間的關係。

得到w、b、¾關於²和¼之間的關係

5、將w、b、ξ的值帶入L函式中,就可以消去優化函式中的w、b、ξ,定義優化之後的函式如下:

推導公式

6、最終優化後的目標函式/損失函式和線性可分SVM模型基本一樣,除了約束條件不同而已, 也就是說也可以使用SMO演算法來求解。

最終優化後的目標函式/損失函式


硬間隔和軟間隔模型小結:

在__硬間隔__最大化的時候,支援向量比較簡單,就是離超平面的函式距離為1的樣本點就是支援向量。

在__軟間隔__中,根據KKT條件中的對偶互補條件: β(y(wx+b)-1+ξ)=0,從而有:當0<βi≤C的時候,並且ξi=0的樣本點均是支援向量(即所有的0<βi

分析 0 < ²i d C 的由來

PS: 軟間隔和硬間隔中的支援向量的規則是一樣的;

軟間隔的支援向量

08 SVM - 軟間隔模型演算法流程