SVM中的線性分類器


線性分類器:

    首先給出一個非常非常簡單的分類問題(線性可分),我們要用一條直線,將下圖中黑色的點和白色的點分開,很顯然,圖上的這條直線就是我們要求的直線之一(可以有無數條這樣的直線)

image    假如說,我們令黑色的點 = -1, 白色的點 =  +1,直線f(x) = w.x + b,這兒的x、w是向量,其實寫成這種形式也是等價的f(x) = w1x1 + w2x2 … + wnxn + b, 當向量x的維度=2的時候,f(x) 表示二維空間中的一條直線, 當x的維度=3的時候,f(x) 表示3維空間中的一個平面,當x的維度=n > 3的時候,表示n維空間中的n-1維超平面。這些都是比較基礎的內容,如果不太清楚,可能需要復習一下微積分、線性代數的內容。

    剛剛說了,我們令黑色白色兩類的點分別為+1, -1,所以當有一個新的點x需要預測屬於哪個分類的時候,我們用sgn(f(x)),就可以預測了,sgn表示符號函數,當f(x) > 0的時候,sgn(f(x)) = +1, 當f(x) < 0的時候sgn(f(x)) = –1。

    但是,我們怎樣才能取得一個最優的划分直線f(x)呢?下圖的直線表示幾條可能的f(x)

image

    一個很直觀的感受是,讓這條直線到給定樣本中最近的點最遠,這句話讀起來比較拗口,下面給出幾個圖,來說明一下:

    第一種分法:

image

    第二種分法:

image

    這兩種分法哪種更好呢?從直觀上來說,就是分割的間隙越大越好,把兩個類別的點分得越開越好。就像我們平時判斷一個人是男還是女,就是很難出現分錯的情況,這就是男、女兩個類別之間的間隙非常的大導致的,讓我們可以更准確的進行分類。在SVM中,稱為Maximum Marginal,是SVM的一個理論基礎之一。選擇使得間隙最大的函數作為分割平面是由很多道理的,比如說從概率的角度上來說,就是使得置信度最小的點置信度最大(聽起來很拗口),從實踐的角度來說,這樣的效果非常好,等等。這里就不展開講,作為一個結論就ok了,:)

    上圖被紅色和藍色的線圈出來的點就是所謂的支持向量(support vector)。

  image    上圖就是一個對之前說的類別中的間隙的一個描述。Classifier Boundary就是f(x),紅色和藍色的線(plus plane與minus plane)就是support vector所在的面,紅色、藍色線之間的間隙就是我們要最大化的分類間的間隙。image

    這里直接給出M的式子:(從高中的解析幾何就可以很容易的得到了,也可以參考后面Moore的ppt)

image

    另外支持向量位於wx + b = 1與wx + b = -1的直線上,我們在前面乘上一個該點所屬的類別y(還記得嗎?y不是+1就是-1),就可以得到支持向量的表達式為:y(wx + b) = 1,這樣就可以更簡單的將支持向量表示出來了。

    當支持向量確定下來的時候,分割函數就確定下來了,兩個問題是等價的。得到支持向量,還有一個作用是,讓支持向量后方那些點就不用參與計算了。這點在后面將會更詳細的講講。

    在這個小節的最后,給出我們要優化求解的表達式:

image

    ||w||的意思是w的二范數,跟上面的M表達式的分母是一個意思,之前得到,M = 2 / ||w||,最大化這個式子等價於最小化||w||, 另外由於||w||是一個單調函數,我們可以對其加入平方,和前面的系數,熟悉的同學應該很容易就看出來了,這個式子是為了方便求導。

    這個式子有還有一些限制條件,完整的寫下來,應該是這樣的:(原問題

image

    s.t的意思是subject to,也就是在后面這個限制條件下的意思,這個詞在svm的論文里面非常容易見到。這個其實是一個帶約束的二次規划(quadratic programming, QP)問題,是一個凸問題,凸問題就是指的不會有局部最優解,可以想象一個漏斗,不管我們開始的時候將一個小球放在漏斗的什么位置,這個小球最終一定可以掉出漏斗,也就是得到全局最優解。s.t.后面的限制條件可以看做是一個凸多面體,我們要做的就是在這個凸多面體中找到最優解。這些問題這里不展開,因為展開的話,一本書也寫不完。如果有疑問請看看wikipedia。

 

二、轉化為對偶問題,並優化求解:

    這個優化問題可以用拉格朗日乘子法去解,使用了KKT條件的理論,這里直接作出這個式子的拉格朗日目標函數:

image

    求解這個式子的過程需要拉格朗日對偶性的相關知識(另外pluskid也有一篇文章專門講這個問題),並且有一定的公式推導,如果不感興趣,可以直接跳到后面藍色公式表示的結論,該部分推導主要參考自plukids的文章

    首先讓L關於w,b最小化,分別令L關於w,b的偏導數為0,得到關於原問題的一個表達式

image

    將兩式帶回L(w,b,a)得到對偶問題的表達式

image

    新問題加上其限制條件是(對偶問題):

image

    這個就是我們需要最終優化的式子。至此,得到了線性可分問題的優化式子

    求解這個式子,有很多的方法,比如SMO等等。

 

摘自:http://www.cnblogs.com/LeftNotEasy/archive/2011/05/02/basic-of-svm.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM