1. 程式人生 > >Machine Learning 第七講SVM -- (一)最大間隔分類

Machine Learning 第七講SVM -- (一)最大間隔分類

一、Optimization Objective(SVM優化目標)

在logistic迴歸模型中,g(z)=1/(1+e^(-z)),其函式影象如下:

在這基礎上,若logistic迴歸只有一個樣本,則Cost函式如下圖所示:

(1)在y=1的情況下,只剩下Cost的左邊一項,當y=0時,只剩下Cost的右邊一項,其對應的圖形如上圖中的平滑曲線。

(2)我們在logistic曲線的基礎上修改,將其修改成上圖紫色曲線所示,即如下圖:

SVM的代價函式:

 我們通過最小化目標函式能夠得到對應的引數值C

支援向量機中h(x)如下:

二、Large Margin Intuition(最大間隔的直觀感知)

在上面的內容中講到SVM的目標函式是:

若C是一個非常大的數,假設C=100,0000,則我們希望找到一個能使C後面的求和數

為0的解,這樣會使得目標函式最小化,在這種情況下,目標函式變成:

SVM決策邊界:線性劃分

 

這裡引入margin的概念,如下圖:

SVM便是努力將正樣本和負樣本用最大間距分開。

存在離群點的線性可分邊界

上圖中A、B、C、D都是異常資料。

在不考慮異常資料的情況下,若C非常大,原來的邊界應該是黑色的線,但是在加入

了異常點A之後,邊界變成紫色的線,因為一個異常點就改變了劃分邊界,這是不明智的。

因此,若C不是非常大,即使一些異常資料,如A、B、C、D等,SVM也能夠把不同的

類正確區分開(支援向量機這時候可以忽略一些異常資料,得到更好的決策邊界),

 甚至不是線性可分的情況下,SVM也可以得到好的結果。

 

三、Mathematics Bebind Large Margin Classification(最大間隔分類背後的數學原理)

本部分內容主要講最大間距分類器的數學原理。

首先了解內積的概念:

其中p是可正可負。

如下圖:

SVM決策邊界:

下圖說明為何SVM會選擇具有最大間隔的超平面(決策邊界):

(1)先看左圖,這是一個反面示例,綠色的線表示決策邊界,這不是一個好的決策邊界,

不是好的決策邊界原因:

正例情況下,即當時,,從圖中可以看到,p^(1)較小,因此

若需要滿足不等式,||θ||需要非常大。

負例情況下,即當時,,從圖中可以看到,p^(2)較小,因此

若需要滿足不等式,||θ||需要非常大。

但是,最小化目標函式需要||θ||越小越好,因此出現矛盾,因此這個綠色

決策邊界不是一個很好的

決策邊界。

(2)再看右圖,右圖中綠色的線表示決策邊界,這是一個很好的決策邊界的原因:

時,,從圖中可以看到,p^(1)(紅色)比(1)中的大很多,

因此滿足不等式,||θ||可以比之前變小很多。

時,,從圖中可以看到,p^(2)(紫色)比(1)中的大很多,

因此滿足不等式,||θ||可以比之前變小很多。

因此,圖2綠色的決策邊界線,能保證||θ||取值較小,滿足我們的要求。

因為SVM試圖極大化的範數(||   ||),即極大化訓練樣本到決策邊界的距離,因此,SVM能夠找出最大間距分類器。

 

附上一道練習題:

解答:

在本圖中,X表示正樣本,O表示負樣本。

在本題中,最優決策邊界肯定是y軸,又θ是決策邊界的法向量,因此θ向量和x軸重合(x軸的正方向即為θ向量的正方向),是指樣本在θ向量上的投影,這個值和樣本的x大小一致。

||θ|| 

應該滿足因此只需要考慮支援向量,所謂支援向量表示離超平面最近的那個樣本,

這裡考慮的是x=2(=2)的正樣本,和x=-2(=-2)的負樣本。因為只要滿足這兩個樣本,對於x>2的正樣本和x<-2的負樣本,都能滿足上述不等式。

(1)考慮正樣本,x=2(=2)的,需要滿足2*||θ||≥1,則||θ||≥1/2。

(2)考慮負樣本,x=-2(=-2)的,需要滿足(-2)*||θ||≤-1,則||θ||≥1/2。

因此,||θ||≥1/2,取||θ||=1/2;

(可以驗證一下,x=3(=3)和x=-3(=-3)是否滿足,x=3(=3)時,3*(1/2))>1;x=-3(=-3)時,(-3)*(1/2)<-1,因此滿足不等式)。

注:

如果根據正負樣本,一個求出||θ||≥2,一個求出||θ||≥3,則為了讓所有樣本滿足不等式條件,需要取兩者的交集,即||θ||≥3。