支援向量機(SVM)公式整理

2022-03-27 22:20:13 字數 3771 閱讀 2088

支援向量機可以分為三類:

任務:尋找一條與所有支援向量距離最遠的決策邊界,這條決策邊界就是\(0 = w^t x + b\),即:

\[w^t x_i + b > 0 , y_i > 0 \\

w^t x_i + b < 0 , y_i < 0

\]所以問題可以描述為:

\[max \; margin(x,b) \qquad s.t.y_i(w^t+b)>0 \\

margin(w,b) = min \; distance(w,b,x_i) = min \frac|w^tx_i+b|

\]帶換一下也就是

\[max \; min \frac|w^tx_i+b| ==> max \frac \; min |w^tx_i+b| \\

s.t. y_i(w^tx_i+b)>0 \; ==>\; \exists r > 0 , min \; y_i(w^t+b)=r

\]用r來表示就是:

\[max \frac\\\\

\exists r > 0 , min \; y_i(w^t+b)=r

\]這裡我的理解是:因為\(wx_i+b=r\) ==> \(\frac x_i + \frac=1\),所以不管r取什麼值,\(w=\frac\),\(b=\frac\), 所以r的取值所帶來的影響會被最後的w和b所融合進去,所以r=1也沒關係。最終的問題可以描述為(這裡是n個不等式):

\[max \frac|w|^2 \\

s.t. \; y_i(w^t+b)-1>=0 \qquad i=1,2,3,...,n

\]構造拉格朗日函式,引入n個引數\(\alpha\),轉換成對偶函式如下(大括號表示不出來我也很絕望):

\[min \frac \cdot \sum_^ \sum_^ \alpha_i \alpha_ y_ y_\left(x_ \cdot x_\right)-\sum_^ x_ \\

s.t.\sum_^ \alpha_ y_=0 \\

\alpha_i >=0 \; i = 1,2,3,.. n

\]使用kkt條件,得到的解:

\[w^=\sum_^ \alpha_^ y_ x_

\]\[b^=y_-\sum_^ a_^ y_\left(x_ \cdot x_\right)

\]最終的解是:

\[w^x+b^=0

\]\[f(x) = sign(w^x+b^)

\]軟間隔向量機採用合頁損失函式,真實資料中,嚴格線性可分的資料很少。合頁損失函式允許分類時的一點點誤差。損失函式如下:

\[1- y_\left(w^ x_+b\right) \leqslant0, \quad loss=0 \\

1-y_}\left(w^ x_+b\right) >0, \quad loss =1-y_\left(w^ x_+b\right)

\]也就是,正確分類並且函式間隔大於1時沒有誤差,錯誤分類時,距離決策邊界越遠的點,受到的懲罰越大。使用合頁函式的做優化問題可以表示為:

\[\min \sum_^\left(1-y_\left(w^ x_+b\right)\right)_+\lambda\|w\|^

\]令\(\xi_=1-y_(w^ x_+b), \quad \xi_ \geqslant 0\),則,分兩種情況:

1、\(1-y_(w^ x_+b)>0\) ==> \(\xi_i =1-y_\left(w^ x_+b\right)\) ==> \(y_i(wx+b)=1-\xi_i\)

2、\(1-y_(w^ x_+b)\leqslant0\) ==> \(y_i(wx+b)\leqslant1\) ==> \(y_i(wx+b)\leqslant1-\xi_i\) (\(\xi_i=0\))

綜合上面兩種情況,可以直接寫為:\(y_i(wx+b)\leqslant1-\xi_i\),這樣的話,最優化函式就變成了下面的樣子:

\[min \frac w^w+c\sum_^ \xi_ \\

s.t. y_\left(w^ x_+b\right) \geqslant 1-\xi_, \quad \xi_ \geqslant 0

\]這兩個式子是等價的。再《統計學習方法》中,先給出了後面的式子,再介紹了合頁損失函式

這兩個式子轉換成等價的對偶函式如下:

\[\underset \frac \sum_^ \sum_^ \alpha_ \alpha_y_ y_\left(x_x_\right)-\sum_^ \alpha_ \\

s.t. \sum_^\alpha_iy_i=0 \qquad \\

0\leq \alpha_i \leq c, \;i=1,2,...n

\]對偶函式的解是:

\[w=\sum_^ \alpha_ y_ x_

\]\[b=y_-\sum_^ a_ y_\left(x_ \cdot x_\right)

\]決策函式是:

\[f(x)=sign (\sum_^ \alpha_ y_(x \cdot x_)+b^)

\]\[\frac=0, \frac=0, \frac=0

\]\[\lambda_(1-y_(w^ x_+b))=0

\]\[\lambda_i=0

\]\[(1-y_(w^ x_+b))<0

\]對於\(\lambda_(1-y_(w^ x_+b))=0\) 只要 \(\lambda_i \neq0\) ,就有 \(1-y_(w^ x_+b=0\),也就是說\(x_i\)再決策邊界上,\(x_i\)是支援向量

核函式可以對特徵進行公升維(當然,不一定非要是公升維,也可能是轉換到另乙個空間),高維空間的運算量巨大,所以直接使用低維的計算結果,作為兩個高維向量的內積:

\[\phi (x_1, x_2) * \phi (x_1^, x_2^) = (z_1, z_2, z_3)*(z_1^, z_2^, z_3^) \\\\

= (x_1^2, \sqrtx_1 x_2, x_2^2)(x_1^, \sqrtx_1^ x_2^, x_2^) \\\\

= (x_1 x_1^ + x_2 x_2^) = (xx^)^2 =k(x, x^)

\]核函式等價於兩個對映哈函式的內積,不過,這個對映函式不需要手動指出。因為當兩個對映函式相乘時,內積的結果可以用核函式表示。而對映函式在最優化問題中都是成對出現的。即出現對映函式的地方都可以用核函式替代。

如果用對映函式將x對映到高維空間,那麼應該用高維向量替換x所在的位置:

\[\frac \sum_^ \sum_^ \alpha_ \alpha_y_ y_\left(x_x_\right)-\sum_^ \alpha_

\]\[\frac \sum_^ \sum_^ \alpha_ \alpha_y_ y_\left(\phi(x_)\phi(x_)\right)-\sum_^ \alpha_

\]\[\frac \sum_^ \sum_^ \alpha_ \alpha_y_ y_\left(k(x_, x_)\right)-\sum_^ \alpha_

\]那麼最終擬合的結果也應該是由高維向量表示的:

\[f(x)=sign (\sum_^ \alpha_ y_(\phi(x)\phi(x_))+b^)

\]\[f(x)=sign (\sum_^ \alpha_ y_(k(x,x_i))+b^)

\]正太分布:

\[f(x)=\frac \sigma} \exp \left(-\frac}}\right)

\]高斯核函式:

\[k(x, y)=e^}

\]對於正態分佈來說:\(\sigma\)是標準差,\(\sigma\)越小,曲線越窄。\(\sigma\)越大,曲線越寬

對於高斯核函式來說:\(\gamma\)的值越大,曲線越窄;\(\gamma\)的值越小,曲線越寬;

支援向量機(SVM)公式推導

假設一堆訓練資料的正負樣本標記為 假設有乙個超平面h 可以通過此線性方程劃分,同時存在兩個平行於 h的超平面h1和 超平面h 能夠正確分類,也就是滿足如下約束 即 離 h最近的正負樣本剛好分別落在h1和 h2上使等號成立,它們就是支援向量。而超平面h1和 h2的距離可知為 注 線到線的距離公式求得 ...

支援向量機(SVM)

簡介 術語 支援向量機 svm 是乙個類分類器,正式的定義是乙個能夠將不同類樣本在樣本空間分隔的超平面。換句話說,給定一些標記 label 好的訓練樣本 監督式學習 svm演算法輸出乙個最優化的分隔超平面。首先我們假定有乙個未知的欲分類的集合,可以進行分割,但是我們不知道分割的函式 超平面,也叫真實...

支援向量機SVM

支援向量機svm support vector machine 是機器學習領域的乙個有監督的學習模型。一 簡介 支援向量機建立在統計學習理論的基礎之上。統計學習理論 statistical learning theory簡稱slt 是一種處理小樣本的統計理論 為研究有限樣本情況下的統計模式識別和更廣...