一 支持向量機
1 算法原理
從幾何角度,對于線性可分數據集,支持向量機就是找距離正負樣本都最遠的超平面。相比于感知機,解是唯一的,且不偏不倚,泛化性能最好。
設劃分超平面是,則任何一個點到超平面的距離就是
(推導:https://finisky.github.io/2020/02/24/pointtohyperplane/)
即,設能夠全部正確分類樣本,即對所有
,
。
定義幾何間隔:
則分類正確,
大于0,反之則小于0。
對于給定數據集和超平面,定義數據集關于超平面的幾何間隔為:所有樣本點的幾何間隔的最小值。
2 模型
在上文所述的分類中,為+1或者-1。支持向量機要求的是數據集X關于超平面的幾何間隔達到最大的那個超平面。
——為什么幾何間隔最大的就是距離正負樣本都最遠的?
- 沒有正確劃分時,幾何間隔最小的是誤分類點,
- 正確劃分時,
非負,且越靠近兩類中央
越大,在正中間的最大。
3 策略
設是使得幾何間隔最小的樣本。
轉化
轉化
繼續變換
原始問題的時間復雜度和特征維數成正比,而對偶問題的時間復雜度和數據量成正比。
二 軟間隔
1 算法原理
在線性不可分的任務中,允許支持向量機犯錯
將必須嚴格執行的約束條件轉化為具有一定靈活性的“損失”。
2 模型
合格損失函數的要求如下:
- 當滿足約束條件時,損失為0
- 當不滿足約束條件時,損失不為0
- (可選)當不滿足約束條件時,損失與其違反約束條件的程度成正比
3 策略
軟間隔:
其中
是一個常數,來調節損失的權重。
但
替換l_{0/1},得
再令合頁損失函數(hinge)
三 支持向量回歸
1. 算法原理
相比于線性回歸用一條線擬合訓練樣本,支持向量回歸(SVR)采用一個以超平面為中心,寬度為的間隔帶。來擬合訓練樣本。
2. 模型
落在帶內的樣本不計算損失,不在帶子上的樣本,以偏離帶子的距離作為損失,然后以最小化損失的方式迫使間隔帶從樣本最密集的地方穿過,從而達到擬合訓練樣本的目的。
3. 策略
不敏感損失函數
優化問題可以寫為
引入兩個松弛變量,考慮兩邊松弛程度不同,改寫為