12.支持向量機
覺得有用的話,歡迎一起討論相互學習~
參考資料 斯坦福大學 2014 機器學習教程中文筆記 by 黃海廣
12.2 大間距的直觀理解- Large Margin Intuition
- 人們有時將支持向量機看作是大間距分類器。在這一部分,我將介紹其中的含義,這有助於我們直觀理解 SVM 模型的假設是什么樣的。以下圖片展示的是SVM的代價函數:
最小化SVM代價函數的必要條件
- 如果你有一個正樣本,y=1,則只有在z>=1時代價函數\(cost_1(z)\)才等於0。反之,如果y=0,只有在z<=-1的區間里\(cost_0(z)\)函數值為0。這是 支持向量機 的一個有趣性質。
- 事實上,如果你有一個正樣本y=1,則僅僅要求\(\theta^{T}x\ge0\),就能將該樣本恰當分出.類似地,如果你有一個負樣本,則僅需要\(\theta^{T}x\le0\)就可以將負例正確分離。
- 但是,支持向量機的要求更高,對於正樣本不僅僅要能正確分開輸入的樣本,即不僅僅要求\(\theta^{T}x\ge0\)還需要的是比0值大很多,比如大於等於1。對於負樣本,SVM也想\(\theta^{T}x\)比0小很多,比如我希望它小於等於-1,這就相當於在支持向量機中嵌入了一個額外的安全因子。或者說安全的間距因子。
正則化參數C與決策邊界與決策間距
- 假設把C即正則化參數設定為一個很大的常數,那么為了優化整個SVM損失函數需要把損失項降到最小,即會盡量使乘積項為0,這會使其嚴格滿足以下的約束條件:
\[min\ (C*0+\frac{1}{2}\sum^{n}_{i=1}\theta_j^2) \]
- 線性可分-決策邊界
- 可以找到一條直線將正樣本和負樣本完美地划分開,此例中可以找到多條直線將其分開,下圖中的 紅線,綠線,黑線 都能將圖中點很好的分開,當 正則化參數 很大時則邊界線的 間距(margin) 就會很大,即會選擇下圖中的黑線作為邊界線。這使得SVM具有良好的魯棒性,即會盡量使用大的間距去分離。所以SVM也被稱為 大間距分類器(Large margin classifier)
- 當C非常大時,SVM會使用最大的間距將正負樣本分開,如下圖中的黑線
- 但是當C非常大時,SVM為了保證大的邊距,對異常點非常敏感,此時邊界會變為下圖中的紫紅色直線,如果此時C沒有那么大,SVM不會使用那么大的邊距,則邊界可能還是黑線
- 當 C 不是非常非常大的時候,它可以忽略掉一些異常點的影響,得到更好的決策界。甚至當你的數據不是線性可分的時候,支持向量機也可以給出好的結果。
- 回顧 C=1/λ,因此:
- C 較大時,相當於 λ 較小,可能會導致過擬合,高方差。
- C 較小時,相當於 λ 較大,可能會導致低擬合,高偏差。