Stanford機器學習課程筆記——SVM

bigface1234fdfg發表於2015-01-29

Stanford機器學習課程筆記——SVM

    

    前面已經學習過SVM,寫了幾片博文,如下:

入門SVM:http://blog.csdn.net/puqutogether/article/details/39894835

SVM中的線性不可分情況:http://blog.csdn.net/puqutogether/article/details/41309745

SVM中的多類分類問題:http://blog.csdn.net/puqutogether/article/details/41679605

如何使用sklearn中的SVM:http://blog.csdn.net/puqutogether/article/details/43194159


    這一篇就來把上面學習的過程融合成一個整體。


1. 由LR引出SVM


    SVM分類器不是憑空而出的,它是和我們前面講到的LR迴歸模型有關係的。或者說就是從LR迴歸模型中的代價函式改進而來的。我們知道LR迴歸模型的代價函式J定義為:



這個代價函式中是依據log函式建立的,而log函式曲線發現,如果thetaT*x>=1或者thetaT*x<=-1,log函式值是不為0的,而我們需要的理想情況是當thetaT*x>>1或者thetaT*x<<-1的時候,函式值要等於0,代價函式值要等於0,誤差也要等於0.所以有了上圖中玫紅色的理想cost函式,它是一個分段函式的形式。如下:


    那麼我們就需要在LR的代價函式中修改形式,如下:



第一個公式是LR的代價函式,第二個是SVM的代價函式。除了log函式被cost函式替代之外,後面的正則項也稍微變化,1/m被約去了,lambda被提到前面成為了C,這個C一般要設定地很大,這樣子的SVM才能夠找到最大間隔的超平面

    既然C要設定地很大,那麼SVM的代價函式中的第一項的懲罰就很高,在轉換過程中,當thetaT*x>=1或者thetaT*x<=-1的時候,我們可以將其忽略。這樣,轉換之後的SVM的目標函式就是:


具體轉換的過程,在我之前的入門SVM一篇博文中已經涉及,這裡主要將講思路。

    

2. 解SVM模型的目標函式


    解上面的目標函式,我們就需要使用拉格朗日函式。如下:

    

對於這個函式,我們使用對偶問題和KKT條件來求解,進一步轉換為:


(這個轉換過程是通過拉格朗日函式對w和b求偏導,令偏導等於0,之後代入到上面拉格朗日函式中得到的。。。)

發現這個裡面只有一個引數a,那麼我們就直接求解這個引數就可以了,而SVM模型中的w和b都是可以通過a來表示得到的,如下:



而求解引數a,我們使用的是SMO演算法,這個演算法很巧妙,可以快速求得SVM模型中的引數a,其基本思想如下:

SMO的工作原理是:每次迴圈中選擇兩個alpha進行優化處理,一旦找到一對合適的alpha,那麼就增大其中一個,同時減小另一個。選擇的alpha要滿足在間隔邊界之外的條件,而且還沒有進行過區間化處理或者不再邊界上。

額,確實比較難懂。。。我也就沒有太深究這塊兒,有時間還是可以深入進去理解的。


    這樣我們就可以學習到一個SVM分類模型了。


3. 線性不可分情況


    線性不可分的情況,我在前面的博文中也講到過,這裡我們只說一下其中最核心的思想?

    

    如何解決SVM的線性不可分問題:引入核函式;

    核函式的基本做法是什麼?核函式就是把樣本原始的線性不可分的特徵隱式對映到一個高維空間中,使得樣本的相關特徵被分開,這樣在新空間中樣本的特徵是可分的。

    核函式中最關鍵的一步是什麼?就是核函式是隱式對映到高維空間的,在SVM中要做樣本的內積運算,一般做法就是先把樣本顯式對映到高維空間,然後再做內積運算,但是這樣子會造成維數災難。而核函式是隱式對映,是先在核函式中求內積的,這個時候內積就是在輸入空間中求的,不需要寫出顯示對映之後的結果,也就不怕維數災難了。


4.  SVM擴充套件到多類分類問題


    這部分也參考我們之前的博文,裡面給出了幾個擴充套件改進的思路。其中one-one 和 one-other也常用到的兩種。



參考:

http://blog.csdn.net/puqutogether/article/details/39894835

http://blog.csdn.net/puqutogether/article/details/41309745

http://blog.csdn.net/puqutogether/article/details/41679605

http://blog.csdn.net/puqutogether/article/details/43194159

http://blog.csdn.net/abcjennifer/article/details/7849812

http://blog.csdn.net/v_july_v/article/details/7624837

http://www.cnblogs.com/vivounicorn/archive/2010/12/13/1904720.html




相關文章