支援向量機可以分為三類:
任務:尋找一條與所有支援向量距離最遠的決策邊界,這條決策邊界就是\(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 是一種處理小樣本的統計理論 為研究有限樣本情況下的統計模式識別和更廣...