機器學習:SVM(目標函數推導:Hard Margin SVM、Soft Margin SVM)


一、Hard Margin SVM

  • SVM 的思想,最終用數學表達出來,就是在優化一個有條件的目標函數:
  • 此為 Hard Margin SVM,一切的前提都是樣本類型線性可分

 

 1)思想

  • SVM 算法的本質就是最大化 margin;
  • margin = 2d,SVM 要最大化 margin,也就是要最大化 d,所以只要找到 d 的表達式,也能解決相應的問題;

 

 2)特征空間中樣本點到決策邊界的距離

  • 二維平面中:

  • n 維空間中:

  1. 此處 n 維空間並不是 3 維的立體空間,而是指 n 個方面,或 n 個特征,表示要從 n 個方面理解和分析樣本;
  2. 此處所說的 n 維空間中的點到直線的距離,只是相對於 二維 特征平面的說法,
  3. 直線的表達式:,或者:
  4. 如果樣本 x 中有 n 種特征,θ 和 xb 中都有 (n + 1) 個元素;w 向量中有 n 個元素; 
  5. b 和 θ0 是截距;
  • 點到直線的距離

 

 3)樣本在特征空間中葯滿足的條件

  • 訓練數據集中,所有的樣本點到決策邊界的距離都大於或等於 d;
  • 此處樣本的兩種類型:1、-1;(不在稱為 0 、1,是為了方便計算;其實稱為什么都無所謂,只要能很好的區分開不同的類別)
  1.  i:表示第 i 個樣本,其類型 y(i) 分兩種情況:1、-1;
  2. ≤ -d:因為 -1 類型的樣本點,帶入模型時,decision_function() 方法求的結果都小於 0,此處將絕對值符號去掉后的狀態;
  3. = d 時:表示支撐向量到決策邊界的距離;

 

  • 第一次變形

 

  • 第二次變形

  1. 由於 ||w||d 和 b 都是常量,公式進一步變形:分子、分母同時除以 ||w||d;

 

  • 第三次變形

  • 其中 y(i) 有1、-1 兩種分類結果,也就是訓練數據集的所有樣本都要滿足這個關系式;
  1. 如果  wT.x(i) + b ≥ 1,也就是 ,則:
  2. 如果 wT.x(i) + b ≤ -1,也就是 ,則:

 

 4)決策邊界及由支撐向量覺得的直線的方程

  • 3 條直線的方程(一):

 

  • 3 條直線方程(二):

  1. 由於 ||w||d 和 b 都是常量,直線方程進一步變形:分子、分母同時除以 ||w||d;

 

  • 3 條直線方程(三)

  1. 更改 wd 和 bd 的名稱:w、b;
  2. 此處的 w 向量 和 b 常量, 中的 w 向量和 b 常量不同,他們之間相差了一個系數 ||w||d
  1.   = 1 / -1 時,表示支撐向量到決策邊界的距離;

 

 5)目標函數

  • d 表示支撐向量到決策邊界的距離,則有 | wT.x + b | = 1,d = | wT.x + b | / ||w|| = 1 / ||w|| ,為了使 d 最大,就要使 ||w|| 盡可能的小;

  • 目標函數:||w||,求目標函數最小值;

 

  • 目標函數變形
  1. 變形原因:為了方便求導而改變目標函數;

 

  • 前提條件,也就是優化該目標函數的時是有前提條件的;
  1.   是由 ( | wT.x(i) + b | / ||w|| ) ≥ d 推導出來的;
  2. s.t.(such that):用在限定條件之前,表示該表達式為限定條件;

 

  •   和  中的 w 向量並不是模型  中的 w 向量,兩者之間相差一個系數:||w||d,且系數中的 ||w|| 指模型  中的 w 向量

 

 6)其它

  • 沒有前提條件的最優化,稱為全局最優化;
  1. 全局最優化問題:直接對目標函數求導,讓導數等於 0,相應的極值點就有可能是所要求的最大值或者最小值;

 

  • 有條件的最優化問題,在最優化領域,解決該問題的方法與沒有條件的最優化問題差異很大;
  1. 有條件的最優化問題:較復雜,需要使用拉布拉斯算子進行求解;

 

 

二、Soft Margin SVM

 1)目標函數

  • C 為超參數
  1. C = 1:兩者比重相同;
  2. C > 1:主要優化后半部分;
  3. C < 1:住喲啊優化前半部分;
  4. C 越大,容錯空間越小;C 越小,容錯空間越大;

 

 2)Hard Margin SVM 算法面臨的問題

  • Hard Margin SVM:本質上就是求解如圖的有條件的最優化問題,求出向量 w ,也就是求出模型的支撐向量機;

 

  • 現象:有些樣本比價特殊或者樣本錯誤(如圖1)、有些樣本的分布不是線性可分的(如圖2);

 

  • 問題:針對這兩種現象,使用 Hard Margin SVM,如圖,得到的決策邊界不准確;(如果是圖 2 的情況,使用 Hard Margin SVM 根本得不到模型)

 

 3)Soft Margin SVM 的思路

  • 思路人為的去除掉這些特殊的或者錯誤的樣本點;
  • Soft Margin SVM 要具有容一定的錯能力;
  1. 里的錯,指數據或樣本本身的異常或錯誤,而不是算法本身的錯誤;
  • 思考一個機制:對於這個機制,SVM 算法得到的決策邊界要有一定的容錯能力,在一些情況下,該機制應該考慮,在一定情況下可以將一些樣本進行錯誤分類,最終使得模型的泛化能力盡可能的高;
  • 模型的目的或要求:實踐應用中的泛化能力高,具體怎么得到這個模型則無關緊要;

 

 

 4)Soft Margin SVM 的損失函數推導

  • Hard Margin SVM 中:

  •     
  • 前提條件所有的樣本點都必須在 = 1/-1 這兩天直線的外側

 

  • Soft Margin SVM 去除異常樣本的方法擴大該限定條件,設定容錯空間,允許個別極端的或者錯誤的樣本點,分布在支撐向量所在直線與決策邊界之間的區域;
  1. :模型允許模型犯一定的錯誤,允許一些樣本分布在虛線與 =1 的直線之間;
  2. ζ 不是 一個固定的值,對任意一個樣本 x(i) 都有一個 ζi 與其對應;如果有 m 個樣本點,則有 m 個 ζ 值,每一個樣本都有其容錯空間;
  3. ζ 要做的是,希望模型有一定的容錯空間,但范圍不能太大;

 

  • 怎么表示容錯空間不能太大?

  • 方案:更改目標函數,兩部分之間取得平衡;

 

 5)其它

  • Hard Margin SVM 和 Soft Margin SVM 都是線性 SVM (也就是 Linear SVM),只是有些問題中的樣本分布線性可分,有些問題中的樣本不能完全線性可分(存在極端樣本、或者錯誤的樣本);
  • 得到的決策邊界都是一條直線,在高維空間中是一個平面;
  • 正則化的目的:使模型針對訓練數據集有更高的容錯能力,使得模型對訓練數據集中的極端樣本點不那么敏感,進而提升模型的泛化能力;

 

  • 思想所謂的正則化,本質是一個概念,並不是對於所有的模型添加了正則項都是同樣的 L1 范式、L2 范式;對於有些模型,需要改變正則化的策略;但是正則化所要實現的效果是一樣的——提升模型的泛化能力


免責聲明!

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



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