大家好,我是愛講故事的某某某。 歡迎來到今天的【五分鐘機器學習】專欄內容 --《向量支持機SVM》 今天的內容將詳細介紹SVM這個算法的訓練過程以及他的主要優缺點,還沒有看過的小伙伴歡迎去補番:
【五分鐘機器學習】向量支持機SVM——學霸中的戰斗機
在視頻的內容中,我們介紹了SVM的主要思想及Hard Margin SVM的優化過程。
在今天的專欄中,我們將填上視頻中的坑,本期專欄的主要內容有兩塊:
- 推導Hard Margin SVM兩個Margin Boundary之間的距離
- Soft-Margin SVM 的邏輯思路介紹
推導Hard Margin SVM兩個Margin Boundary之間的距離
我們假定一個Hard Margin SVM如下圖所示。

Fig1. Hard-Margin SVM實例
其中,決策分界面Decision Boundary的公式:

Eq1. Decision Boundary
兩個邊界分界面Margin Boundary的公式:


Eq2. Margin Boundary
我們假定圖1中高光的點(

)在邊界分界面上面,即滿足Eq2中的條件b1x1+b2x2+b0 = +1(落在紅色的線上面)。那么根據點到直線的公式:

Eq3. 高光點HiSample到決策分界面DecBoundary的距離
根據定義:

所以Eq3可以寫成:

Eq4. 高光點到決策分界面的距離
因為決策分界面正好在兩個邊界分界面的正中間,即兩個類別之間的間距為:

Eq5. 兩個邊界分界面之間的距離,即HardMargin
以上就是Hard-Margin SVM的兩個邊界分界面之間的距離的推導過程。
Soft-Margin SVM 的邏輯思路介紹
Soft-Margin SVM要解決的問題有兩個:
- 和Hard-MarginSVM一樣,需要最大化間距
- 在保證大局的正確性的同時,引入容錯率這個概念
對于第一點,如果你還記得我們的做法是將距離公式,轉化為Hard-margin SVM的Loss function。使其在最小化Loss的同時,也可以最大化Margin,即:

Eq6. Hard Margin SVM的Loss
在這個基礎上,我們引入Hinge Loss作為允許部分錯誤分類的過程。所以我們Soft-Margin SVM的Loss可以寫成:

Eq7. Soft Margin SVM的Loss
其中N表示樣本數量,C表示懲罰系數(Penalty Term),而Hinge loss 的部分為:

Eq8. Hinge Loss 的定義
【重點】這里我們不妨仔細看下這個公式,他的邏輯分兩層,從內到外看:
- 對于下面的部分,他的計算結果表示錯誤分類的誤差和

Eq9. Hinge Loss 的定義(2)
比如,當你y_n=1,并且b1x1+b2x2+b0=1時,表示通過分類器得到的結果和樣本真是標記相同,這個式子的輸出為0;反之,當你y_n=1,并且b1x1+b2x2+b0=-1時,表示通過分類器得到的結果和樣本真是標記相反,這個式子的輸出為2,表示為有誤差。
- max(0, ....) 這部分表示為取上面步驟的誤差計算結果和0這兩個數值中大的數值作為輸出。
比如,如果SVM的分類結果沒錯,上面步驟的輸出應該是0,那么max(0,0)=0;
如果SVM的分類結果有誤,上面步驟的輸出應該大于0(比如2),那么max(0,2)=2;
【重點】所以通過這個部分,你可以看到優化Soft Margin SVM Loss的過程就是在平衡兩個點:1. 最大化間距(Hard SVM), 還是2. 允許部分誤差(Hinge Loss)。而為了更好的平衡這兩點,我們引入了懲罰因子C。當C變大時,意味著我們會更多的懲罰Hinge Loss,即盡可能少犯錯;當C變小時,意味著我們會盡可能懲罰Hard SVM,也就是Margin更大。
為了更好的理解,這里給你準備了一個例子,對比下Hard Margin SVM和Soft Margin SVM。可以看到Soft margin SVM 由于Hinge Loss的引入,增加了很多容錯率,從而保證大局上的正確率。

Fig2. Toy Dataset example

Fig3. Hard Margin SVM 分類結果

Fig4. Soft Margin SVM分類結果
以上就是今天的【五分鐘機器學習】SVM篇的主要內容了。
如果你覺得本期內容有所幫助,歡迎素質三連。
您的支持將是我繼續發電的最大動力~
我是某某某
