一、Hard Margin SVM
- SVM 的思想,最終用數學表達出來,就是在優化一個有條件的目標函數:

- 此為 Hard Margin SVM,一切的前提都是樣本類型線性可分;
1)思想

- SVM 算法的本質就是最大化 margin;
- margin = 2d,SVM 要最大化 margin,也就是要最大化 d,所以只要找到 d 的表達式,也能解決相應的問題;
2)特征空間中樣本點到決策邊界的距離
-
二維平面中:

-
n 維空間中:
- 此處 n 維空間並不是 3 維的立體空間,而是指 n 個方面,或 n 個特征,表示要從 n 個方面理解和分析樣本;
- 此處所說的 n 維空間中的點到直線的距離,只是相對於 二維 特征平面的說法,
- 直線的表達式:
,或者:
; - 如果樣本 x 中有 n 種特征,θ 和 xb 中都有 (n + 1) 個元素;w 向量中有 n 個元素;
- b 和 θ0 是截距;
- 點到直線的距離:
;
3)樣本在特征空間中葯滿足的條件
- 訓練數據集中,所有的樣本點到決策邊界的距離都大於或等於 d;
- 此處樣本的兩種類型:1、-1;(不在稱為 0 、1,是為了方便計算;其實稱為什么都無所謂,只要能很好的區分開不同的類別)

- i:表示第 i 個樣本,其類型 y(i) 分兩種情況:1、-1;
- ≤ -d:因為 -1 類型的樣本點,帶入模型時,decision_function() 方法求的結果都小於 0,此處將絕對值符號去掉后的狀態;
- = d 時:表示支撐向量到決策邊界的距離;
-
第一次變形:

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

- 其中 y(i) 有1、-1 兩種分類結果,也就是訓練數據集的所有樣本都要滿足這個關系式;
- 如果 wT.x(i) + b ≥ 1,也就是
,則:
- 如果 wT.x(i) + b ≤ -1,也就是
,則:
4)決策邊界及由支撐向量覺得的直線的方程
-
3 條直線的方程(一):

-
3 條直線方程(二):
- 由於 ||w||d 和 b 都是常量,直線方程進一步變形:分子、分母同時除以 ||w||d;
-
3 條直線方程(三)
- 更改 wd 和 bd 的名稱:w、b;
- 此處的 w 向量 和 b 常量,
中的 w 向量和 b 常量不同,他們之間相差了一個系數 ||w||d;
-
= 1 / -1 時,表示支撐向量到決策邊界的距離;
5)目標函數
-
d 表示支撐向量到決策邊界的距離,則有 | wT.x + b | = 1,d = | wT.x + b | / ||w|| = 1 / ||w|| ,為了使 d 最大,就要使 ||w|| 盡可能的小;
- 目標函數:||w||,求目標函數最小值;
- 目標函數變形:
;
- 變形原因:為了方便求導而改變目標函數;
- 前提條件:
,也就是優化該目標函數的時是有前提條件的;
是由 ( | wT.x(i) + b | / ||w|| ) ≥ d 推導出來的;- s.t.(such that):用在限定條件之前,表示該表達式為限定條件;
-
和
中的 w 向量並不是模型
中的 w 向量,兩者之間相差一個系數:||w||d,且系數中的 ||w|| 指模型
中的 w 向量;
6)其它
- 沒有前提條件的最優化,稱為全局最優化;
- 全局最優化問題:直接對目標函數求導,讓導數等於 0,相應的極值點就有可能是所要求的最大值或者最小值;
- 有條件的最優化問題,在最優化領域,解決該問題的方法與沒有條件的最優化問題差異很大;
- 有條件的最優化問題:較復雜,需要使用拉布拉斯算子進行求解;
二、Soft Margin SVM
1)目標函數
- C 為超參數

- C = 1:兩者比重相同;
- C > 1:主要優化后半部分;
- C < 1:住喲啊優化前半部分;
- 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 要具有容一定的錯能力;
- 這里的錯,指數據或樣本本身的異常或錯誤,而不是算法本身的錯誤;
- 思考一個機制:對於這個機制,SVM 算法得到的決策邊界要有一定的容錯能力,在一些情況下,該機制應該考慮,在一定情況下可以將一些樣本進行錯誤分類,最終使得模型的泛化能力盡可能的高;
- 模型的目的或要求:實踐應用中的泛化能力高,具體怎么得到這個模型則無關緊要;

4)Soft Margin SVM 的損失函數推導
-
Hard Margin SVM 中:

- 前提條件:所有的樣本點都必須在 = 1/-1 這兩天直線的外側;
- Soft Margin SVM 去除異常樣本的方法:擴大該限定條件,設定容錯空間,允許個別極端的或者錯誤的樣本點,分布在支撐向量所在直線與決策邊界之間的區域;

:模型允許模型犯一定的錯誤,允許一些樣本分布在虛線與 =1 的直線之間;- ζ 不是 一個固定的值,對任意一個樣本 x(i) 都有一個 ζi 與其對應;如果有 m 個樣本點,則有 m 個 ζ 值,每一個樣本都有其容錯空間;
- ζ 要做的是,希望模型有一定的容錯空間,但范圍不能太大;
-
怎么表示容錯空間不能太大?
- 方案:更改目標函數,兩部分之間取得平衡;

5)其它
- Hard Margin SVM 和 Soft Margin SVM 都是線性 SVM (也就是 Linear SVM),只是有些問題中的樣本分布線性可分,有些問題中的樣本不能完全線性可分(存在極端樣本、或者錯誤的樣本);
- 得到的決策邊界都是一條直線,在高維空間中是一個平面;
- 正則化的目的:使模型針對訓練數據集有更高的容錯能力,使得模型對訓練數據集中的極端樣本點不那么敏感,進而提升模型的泛化能力;
- 思想:所謂的正則化,本質是一個概念,並不是對於所有的模型添加了正則項都是同樣的 L1 范式、L2 范式;對於有些模型,需要改變正則化的策略;但是正則化所要實現的效果是一樣的——提升模型的泛化能力。



