1. 程式人生 > >支援向量機SVM推導及求解過程

支援向量機SVM推導及求解過程

        支援向量機是屬於原創性、非組合的具有明顯直觀幾何意義的分類演算法,具有較高的準確率。

        使用SVM演算法的思路:(1)簡單情況,線性可分情況,把問題轉化為一個凸優化問題,可以用拉格朗日乘子法簡化,然後用既有的演算法解決;(2)複雜情況,線性不可分,用核函式將樣本投射到高維空間,使其變成線性可分的情形,利用核函式來減少高緯度計算量。

       一、SVM相關基本概念

       分割超平面

       設C和D為兩不相交的凸集,則存在超平面P,P可以將C和D分離。 

        兩個集合的距離,定義為兩個集合間元素的最短距離。

        做集合C和集合D最短線段的垂直平分線。

          (影象摘自七月演算法)

       但是, 如何定義兩個集合的"最優"分割超平面?找到集合“邊界”上的若干點,以這些點為“基礎”計算超平面的方向,以兩個集合邊界上的這些點的平均作為超平面的“截距”。這些點被稱作支援向量,點是可用向量方式表示。

       (影象取自七月演算法)

        輸入資料

        假設給定一個特徵空間上的訓練資料集

其中,,為第i個例項(若n>1,即x是多維度,具有多個屬性特徵,此時為向量);

        的類標記,當為+1時,稱為正例,當為-1時,稱為負例。

  線性可分支援向量機

        給定線性可分訓練資料集,通過間隔最大化得到的分離超平面為

,相應的分類決策函式該決策函式稱為線性可分支援向量機。其中,是某個確定的特徵空間轉換函式,它的作用是將x對映到(更高的)維度,最簡單直接的:。事實上,求解分離超平面問題可以等價為求解相應的凸二次規劃問題。

整理符號

        分割平面:

        訓練集:

        目標值:

        新資料的分類:

 二、SVM推導過程

       推導目標函式

        根據題設

        有:

 w,b等比例縮放,則t*y的值同樣縮放,從而

        最大間隔分離超平面

        目標函式:表示最近點到直線距離儘可能大


(影象取自七月演算法)


        函式間隔和幾何間隔

       分割平面:  (函式間隔)

       總可以通過等比例縮放w的方法,使得兩類點的函式值都滿足

             (影象取自七月演算法)

     建立目標函式

       1.總可以通過等比例縮放w的方法,使得兩類點的函式值都滿足

       2.約束條件:

       3.原目標函式:

       4.新目標函式:

                       

       5.目標函式變換一下:

                       

        6.拉格朗日乘子法

                      

         7.原問題是極小極大問題

                      

                       原問題的對偶問題是極大極小問題

         8.將6中的拉格朗日函式分別對w, b 求偏導並令其為0:

                       

           9.計算拉格朗日的對偶函式

                        

         10.繼續求的極大

                      

         11.整理目標函式:新增負號

                      

        12.線性可分支援向量機學習演算法

               計算結果如下

                      

        13.分類決策函式

                        

       三、線性不可分SVM

  1.若資料線性不可分,則增加鬆弛因子,使函式間隔加上鬆弛變數大於等於1,

         則約束條件變成

                         

         目標函式:    (這裡是為了保證鬆弛因子不至於過大)

         2.此時的凸優化為

                        

          3.拉格朗日函式

                         

        4.將三式代入L中,得到

                      

       5. 整理,得到對偶問題的最優化問題

                    

      求得最優解

      6.計算

                   

       實踐中往往取支援向量的所有值取平均,作為b*

       7.求得分離超平面

       8.分類決策函式為

     

       核函式:可以使用核函式,將原始輸入空間對映到新的特徵空間,從而使得原本線性不可分的樣本可在核空間可分。

       有多項式核函式

       高斯核函式RBF 

       字串核函式

        在實際應用中,往往依賴先驗領域知識或交叉驗證等方案才能選擇有效的核函式。沒有更多先驗資訊,則使用高斯核函式。

核函式對映:

                          (影象取自七月演算法)

                         (影象取自七月演算法)

                  高斯核

                                       (影象取自七月演算法)

          粗線是分割超“平面”,其他線是y(x)的等高線,綠色圈點是支援向量點。

          高斯核是無窮維的,因為

          注:SVM和Logistic迴歸的比較:(1)經典的SVM,直接輸出類別,不給出後驗概率;(2)Logistic迴歸,會給出屬於哪一個類別的後驗概率;(3)比較重點是二者目標函式的異同。