機器學習 SVM

2021-10-04 16:24:14 字數 2439 閱讀 7969

當train data線性可分時,存在多個分離超平面可以把兩類資料正確分開,感知機利用的是誤分類最小的策略,求得分離超平面。但是這是有無窮多個解,而線性svm利用了間隔最大化求分離超平面,解是唯一的,優點是不僅把正負樣本點分開,還對最難分的點(即離超平面最近的點)也有足夠大的確信度將它們分開

希望用乙個平面去劃分類別,一側為正一側為負,vanilla svm就是乙個簡單的用幾何方式完成的二分類監督學習演算法.

在特徵空間中尋找間隔最大的分離超平面使資料得到高效的二分類

有三種情況的svm:

假設有訓練資料集t:

表示點x與超平面的距離,wt⋅

x+bw^t·x+b

wt⋅x+b

的符號與標記類別的符號是否一致表示分類是否正確,所以採用y(w

t⋅x+

b)y(w^t·x+b)

y(wt⋅x

+b)來表示分類的正確性和確信度,這概念叫函式間隔

因為按比例改變w和b,超平面不會有變化,但函式間隔會變化,所以要對超平面的法向量w進行約束,使得間隔確定,變成幾何間隔

函式間隔與幾何間隔的關係:

間隔最大化

約束條件為超平面(w,

b)(w,b)

(w,b

)對於每個樣本點的幾何間隔至少為γ

\color\gamma

γ根據幾何間隔與函式間隔關係,轉化為:

不知道為啥:

所以就變成了這樣:

變成了凸二次規劃問題

使間隔最大化

使樣本正確分類

w是超平面引數,目標一是從點到面的距離公式簡化得到。

目標二與感知機類似,就是把大於等於0進行縮放成大於等於1,便於推導

放寬對樣本的要求,允許少量樣本分類錯誤

引入鬆弛變數δ

>=0

\delta>=0

δ>=0

如何計算鬆弛變數?

0-1損失函式不好求,引入hinge loss(合頁損失)

本來是z=y

i(wt

xi+b

)>=1

z = y_i(w^tx_i+b)>=1

z=yi​(

wtxi

​+b)

>=1

保證樣本分類正確,現在是知道分類錯誤了,即z小於1,1就作為邊界,用1-z來衡量錯誤的程度

但有要有控制因子去控制這個程度,引入c>0,懲罰引數:c越大,錯誤被放大得越大,即錯誤容忍度小,c無窮大,就是硬間隔。

實際應用時我們要合理選取c,c越小越容易欠擬合,c越大越容易過擬合。

軟間隔目標函式:

優點:凸優化問題,求解一定是全域性最優而不是區域性最優

可用核技巧適用於非線性問題

高維樣本空間也能用,因為資料集複雜度取決於支援向量而不是資料集的維度

缺點:二次規劃問題求解設計m階矩陣計算,svm不適用超大資料集

機器學習 SVM

svm 支援向量機是個二分類模型。給定給乙個包含正例和反例的樣本集合,svm的目的是尋找乙個超平面來對樣本根據正例和反例進行分割。保證最大間隔,間隔最大可以有效避免在分類面上的樣本的誤判率。網上也是對其推崇備至,認為不管什麼任務,先跑跑svm和rf。對於超平面的求取,是乙個凸二次規劃問題,牽扯到對偶...

機器學習SVM

svm支援向量機他是乙個二類分類模型,是給基本模型的特徵空間間隔最大的線性分類器,目的就是求最大間隔 eg 給定一些資料點用x表示資料點,用y表示分的類別 y可以取1或者 1,分別代表兩個不同的類 線性分類器 svm 就是要在n維中找到乙個超平面可以將資料更好的分類 這個超平面的方程可以表示為 wt...

機器學習 SVM

如果沒學過svm的話那就等於沒有學過機器學習。svm作為機器學習中最經典的演算法之一在2012年之前曾叱吒風雲,可以說除了整合演算法或深度學習之外是乙個最好的分類器。svm的型別有三種,即線性可分支援向量機 軟間隔支援向量機以及非線性支援向量機。由於本文是對演算法進行概括,因此手推支援向量機的任務這...