1. 程式人生 > >支援向量機(Support Vector machines)

支援向量機(Support Vector machines)

本節主要是觀看Andrew Ng的斯坦福大學系列視訊CS299第6講、第7講等後,加上個人理解,對支援向量機部分做的一個筆記整理。
本文順序是:

  • 綜述各個部分關係
  • 最大間隔分類器
  • 軟、硬間隔分類
  • 核函式

2 最大間隔分類器

首先,我們應該知道求超平面與分類問題的正確性是與樣本點到超平面對的距離有直接關係的。吳恩達是用Logistic迴歸的例子來講述的這個問題:比如說θTx>>0y=1y0
以此類推,以圖1為例。線將二維平面分成正反兩類,我們可以充分認為B屬於反類,而A也有很大可能屬於反類,但是C就不一定,它離分類超平面比較近。改變一點超平面的劃分,C可能到其他的分類。
圖1


基於這種情況,我們希望讓所有分類點都充分可以認為分類是正確的,需要它們都離分類超平面足夠遠。這個問題,我們可以在後文中用到幾何間隔來解決。
下面,來介紹下函式間隔和幾何間隔。
首先對圖一及後文所用函式做簡短介紹。

分類標籤y只能取-1或1,於圖一中,就是直線上方星星所在類標籤為1,圓點一方類標籤為-1(相反也可以)。
超平面分割線:

wTx+b
分類器為:hw,b(x)=g(wTx+b)z>0g(z)=1;z<0,g(z)=1
此處x與w的維度可以是多維。

??這時我們分類器直接預測分類值,而不是像Logestic迴歸中預測y=1的可能性。

函式間隔:給定樣本點(x(i),y(i)),它的函式間隔受到(w,b)控制。它的函式間隔為

γ^(i)=y(i)(wTx+b)
對於整個訓練集S,我們可以定義整個訓練集的函式間隔為γ^=mini=1...mγ^(i)S=(x(i),y(i));i=1....m
一個非常大的正函式間隔使我們相信這個預測分類是置信區間足夠大的正確預測。
就是說如果y(i)(wTx+b)>>0,意味著分類正確(道理就是圖1中顯示道理,y僅僅是絕對值為1,影響預測正確性但不影響置信度)

但是這個定義存在一個問題,就是當(w,b)做等倍數變換的時候,超平面並沒有發生改變,但是函式間隔發生了改變。這顯然是不好的性質。因此,我們將w的大小固定,使函式間隔固定。將||w||=1時,這時的間隔就是幾何間隔。這裡給出幾何間隔定義:

γi=y(i)(wT||w||x+b||w||)γ=mini=1...mγ(i)S=(x(i),y(i));i=1....m
實際上,幾何間隔可以認為是歸一化後的函式間隔。幾何間隔就是點到超平面的距離(二維情況下是點到直線的距離)

現在我們來分析下基於上述概念得到的一些結論。二維的圖形見圖2。
這裡寫圖片描述
超平面的法向量是w(這個很好理解,多維情況下不明白可以參考解析幾何相關知識)。AB之間長度是幾何間隔γ(i)(0.y=1),Bx(i)γ(i)w||w||.而顯然B在超平面上,因此有公式:

wT(x(i)γ(i)w||w||)+b=0