吳恩達機器學習筆記 —— 13 支援向量機

xingoo發表於2018-08-04

本章講述了SVM,相比於《統計學習方法》,從邏輯迴歸的角度更容易理解了。

更多內容參考 機器學習&深度學習

從邏輯迴歸來看,看損失值與Z的值的關係:
吳恩達機器學習筆記 —— 13 支援向量機

代入原來的是指,可以化簡公式:
吳恩達機器學習筆記 —— 13 支援向量機
總結來說:如果y=1,我們希望z的值大於等於1,如果y=0,我們希望z的值小於-1,這樣損失函式的值都會為0.

線性可分的決策邊界:
吳恩達機器學習筆記 —— 13 支援向量機

但是這種情況對於異常點是非常敏感的,比如有一個紅點,那麼決策邊界就會發生很大的變化。
吳恩達機器學習筆記 —— 13 支援向量機

此時希望C不要太大,即λ非常大,魯棒性更強。
吳恩達機器學習筆記 —— 13 支援向量機
吳恩達機器學習筆記 —— 13 支援向量機

對於向量空間中的兩個向量,向量的內積等於p*向量U的長度。
吳恩達機器學習筆記 —— 13 支援向量機
這樣θTx就轉換成了對向量θ的投影了
吳恩達機器學習筆記 —— 13 支援向量機
在邏輯迴歸中基於決策邊界進行分類,但是特徵需要手動來創造,很難去造全比較好的特徵
吳恩達機器學習筆記 —— 13 支援向量機

首先假設幾個樣本的參照點,l1,l2,l3,然後計算每個x與這三個點的相似度,這裡是用的高斯混合
吳恩達機器學習筆記 —— 13 支援向量機
這個similarity就是kernel函式。
吳恩達機器學習筆記 —— 13 支援向量機

similarity最大是1,最小是0。當兩個向量一模一樣的時候等於1。
吳恩達機器學習筆記 —— 13 支援向量機

通過選取的點與計算出f值,然後帶入到公式,就能得出決策邊界:

吳恩達機器學習筆記 —— 13 支援向量機

如何選擇l呢,最簡單的就是把所有的樣本點都當做l。然後計算x與所有樣本點的高斯核:
吳恩達機器學習筆記 —— 13 支援向量機

吳恩達機器學習筆記 —— 13 支援向量機

吳恩達機器學習筆記 —— 13 支援向量機
有很多的軟體可以算SVM了,只需要選擇引數C和kernel函式就行了
吳恩達機器學習筆記 —— 13 支援向量機

邏輯迴歸和SVM的區別:

  • 1 如果特徵的維度比樣本的維度還高,使用邏輯迴歸或者不帶核函式的SVM。因為沒有那麼多資料來擬合更高階的函式
  • 2 如果n很小,m適中,那麼可以使用高斯核的SVM
  • 3 如果n很小,m很大,那麼使用邏輯迴歸或者不帶核函式的SVM都可以,不然使用高斯核計算會很慢

相關文章