第一次聽說支援向量機這個名詞或許有點懵,這好像有點難以理解這個演算法到底是幹什麼的。其實svm這個演算法這個演算法是用來分類的。目的是找到乙個超平面然後把一堆資料劃分成不同類別。對映到二維資料上面,那個超平面就是一條線了。如下圖所示:
我們也能看到有很多的線可以劃分這兩類資料,那我們的目的就是要找一條類似與紅色線的劃分線。為什麼呢?因為這樣紅線劃分的時候劃分更清晰,兩邊留出的「空隙」更多,更平均。因為我們在實際資料中會有很多的雜訊(不合理資料),像紅色線那樣的劃分超平面就會對樣本的「容忍」性最好,更專業一點的說法就是魯棒性最好,對未見示例的泛化能力最強。
w tx
+b=0
w^tx+b=0
wtx+b=
0,該方程用來表示超平面。由歐式幾何知識可知(了解即可),空間中任意一點到超平面的距離rrrr
=∣wt
x+b∣
∣∣w∣
∣r=\frac
r=∣∣w∣
∣∣wt
x+b∣
我們一般對絕對值這個符號不怎麼感冒,所以我們可以再將式子轉換一下。
r =y
i(wt
xi+b
)∣∣w
∣∣,y
i∈(−
1,+1
)r=\frac,y_i\in
r=∣∣w∣
∣yi
(wtx
i+b
),y
i∈(
−1,+
1)( xi
,yi)
(x_i,y_i)
(xi,y
i)就代表乙個樣本。y
iy_i
yi就代表類別種類。
為了讓魯棒性更強,我們就要間隔最大化。令d=m
in(r
)=mi
nyi(
wtxi
+b)∣
∣w∣∣
d = min(r) = min\frac
d=min(
r)=m
in∣∣
w∣∣y
i(w
txi
+b)
其實d
dd就是離超平面最近的那一點離超平面的距離。
為了讓間隔最大化就需要max
(d)max(d)
max(d)
,所以我們就可以得到
γ =m
ax(2
d),y
i(wt
xi+b
)∣∣w
∣∣≥d
,d>
0\gamma=max(2d), \frac≥d,d>0
γ=max(
2d),
∣∣w∣
∣yi
(wtx
i+b
)≥d
,d>
0看著這個式子還是比較複雜,還能再簡練一點。
再令d ^=
∣∣w∣
∣d\widehat=||w||d
d=∣∣w∣
∣dγ =m
ax2d
^∣∣w
∣∣,y
i(wt
xi+b
)≥d^
,d^≥
0\gamma=max\frac},y_i(w^tx_i+b)≥\widehat,\widehat≥0
γ=max∣
∣w∣∣
2d,
yi(
wtxi
+b)
≥d,d
≥0又因為d
^\widehat
d只是乙個常數,所以它的取值完全不會影響最優化時w,b
w,bw,
b的求解。那麼我們可以將d
^\widehat
d設定為1.
所以,γ=m
ax2∣
∣w∣∣
,yi(
wtxi
+b)≥
1,d^
≥0\gamma=max\frac,y_i(w^tx_i+b)≥1,\widehat≥0
γ=max∣
∣w∣∣
2,y
i(w
txi
+b)≥
1,d≥
0為了下一步求解更方便,我們將γ
\gamma
γ轉成乙個凸函式的形式,這樣我們就可以利用拉格朗日乘子法去求解凸優化問題了。γ=m
ax∣∣
w∣∣2
2,yi
(wtx
i+b)
≥1,d
^≥0\gamma=max\frac,y_i(w^tx_i+b)≥1,\widehat≥0
γ=max2
∣∣w∣
∣2,
yi(
wtxi
+b)
≥1,d
≥0至此,svm的原型推導就結束了。
支援向量機(SVM)公式推導
假設一堆訓練資料的正負樣本標記為 假設有乙個超平面h 可以通過此線性方程劃分,同時存在兩個平行於 h的超平面h1和 超平面h 能夠正確分類,也就是滿足如下約束 即 離 h最近的正負樣本剛好分別落在h1和 h2上使等號成立,它們就是支援向量。而超平面h1和 h2的距離可知為 注 線到線的距離公式求得 ...
西瓜書 第6章 支援向量機
乙個支援向量機解決乙個二分類問題 假設乙個超平面 wtx b 0能將正反例正確劃分 超平面上方為正例 1,下方為反例 1 那麼正例 xi,yi 使 wtxi b 0,yi 1 那麼反例 xi,yi 使 wtxi b 0,yi 1 任意點到超平面的距離可寫為 r wtxi b w 任意正反例的距離 w...
支援向量機(SVM)
簡介 術語 支援向量機 svm 是乙個類分類器,正式的定義是乙個能夠將不同類樣本在樣本空間分隔的超平面。換句話說,給定一些標記 label 好的訓練樣本 監督式學習 svm演算法輸出乙個最優化的分隔超平面。首先我們假定有乙個未知的欲分類的集合,可以進行分割,但是我們不知道分割的函式 超平面,也叫真實...