6.1 支持向量機算法(上)

  1. 背景:

    1.1 最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出
    1.2 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,並在1995年發表
    1.3 深度學習(2012)出現之前,SVM被認爲機器學習中近十幾年來最成功,表現最好的算法

  2. 機器學習的一般框架:
    訓練集 => 提取特徵向量 => 結合一定的算法(分類器:比如決策樹,KNN)=>得到結果

  3. 介紹:

    3.1 例子:
    這裏寫圖片描述

      兩類?哪條線最好?
    
      3.2 SVM尋找區分兩類的超平面(hyper plane), 使邊際(margin)最大
    

    這裏寫圖片描述

           總共可以有多少個可能的超平面?無數條
    
           如何選取使邊際(margin)最大的超平面 (Max Margin Hyperplane)?
    
           超平面到一側最近點的距離等於到另一側最近點的距離,兩側的兩個超平面平行
    
  4. 線性可區分(linear separable) 和 線性不可區分 (linear inseparable)
    這裏寫圖片描述這裏寫圖片描述

    這裏寫圖片描述

  5. 定義與公式建立

      超平面可以定義爲:
    
           W: weight vectot,   , n 是特徵值的個數
           X: 訓練實例
           b: bias
    

    這裏寫圖片描述

      4.1 假設2維特徵向量:X = (x1, X2)
            把 b 想象爲額外的 wight
            超平面方程變爲: 
    

    這裏寫圖片描述

            所有超平面右上方的點滿足
    

    這裏寫圖片描述
    所有超平面左下方的點滿足:
    這裏寫圖片描述

                調整weight,使超平面定義邊際的兩邊:
    

    這裏寫圖片描述

              綜合以上兩式,得到: (1)
    

這裏寫圖片描述
所有坐落在邊際的兩邊的的超平面上的被稱作”支持向量(support vectors)”

分界的超平面和H1或H2上任意一點的距離爲:
這裏寫圖片描述 (i.e.: 其中||W||是向量的範數(norm))
這裏寫圖片描述

              所以,最大邊際距離爲: 

這裏寫圖片描述

  1. 求解

    5.1 SVM如何找出最大邊際的超平面呢(MMH)?

          利用一些數學推倒,以上公式 (1)可變爲有限制的凸優化問題(convex quadratic optimization)
           利用 Karush-Kuhn-Tucker (KKT)條件和拉格朗日公式,可以推出MMH可以被表示爲以下“決定邊     
           界 (decision boundary)”          
    

    這裏寫圖片描述
    其中,

                {y_i} 是支持向量點{X_i} (support vector)的類別標記(class label)
    
               {X^T}是要測試的實例
    
               {\alpha _i} 和 {b_0} 都是單一數值型參數,由以上提到的最有算法得出
    
                l 是支持向量點的個數
    

    5.2 對於任何測試(要歸類的)實例,帶入以上公式,得出的符號是正還是負決定

  2. 例子:
    這裏寫圖片描述
    這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章