支持向量機

支持向量機

支持向量機SVM相關知識點及部分公式推導

支持向量機的工作核心

找分界平面,N-1維的超平面

高等數學中,相關基礎公式:

切平面:
Fx(x0,y0,z0)(xx0)+Fy(x0,y0,z0)(yy0)+Fz(x0,y0,z0)(zz0)=0 F_x(x_0,y_0,z_0)(x-x_0) + F_y(x_0,y_0,z_0)(y-y_0) + F_z(x_0,y_0,z_0)(z-z_0) = 0
法線方程:
xx0Fx(x0,y0,z0)=yy0Fy(x0,y0,z0)=zz0Fz(x0,y0,z0) \frac{x-x_0}{F_x(x_0,y_0,z_0)} = \frac{y-y_0}{F_y(x_0,y_0,z_0)} = \frac{z-z_0}{F_z(x_0,y_0,z_0)}
法向量:
n=(Fx(x0,y0,z0),Fy(x0,y0,z0),Fz(x0,y0,z0)) n = (F_x(x_0,y_0,z_0), F_y(x_0,y_0,z_0), F_z(x_0,y_0,z_0))

直線方程:

Ax+By+C=0[ABC][xyz]=0[ABC](3,2)(1.1)3A+2B+CA2+B2ab=abcosθ=0abθ=90°(1.1) Ax + By + C = 0 \tag{1.1}\\ \begin{bmatrix}A & B & C\end{bmatrix}\begin{bmatrix}x\\y\\z\end{bmatrix} = 0\\ \begin{bmatrix}A & B & C\end{bmatrix}稱爲法向量\\ 點(3,2)到平面(1.1)的距離:\frac{3A +2B+C}{\sqrt{A^2+B^2}}\\ ---------------*********---------------\\ a \cdot b = \|a\|\|b\|cos\theta = 0\\ a、b垂直,θ=90°\\

矢量模式
wx+b=0wwx=b[w1w2][x1x2]w wx + b = 0\\ w在不同維度下,形態不一樣\\ wx = -b\\ \begin{bmatrix}w_1 & w_2\end{bmatrix}\begin{bmatrix}x_1 \\ x_2\end{bmatrix}\\ w爲法向量

曲面外一點p到曲面的垂直距離(x爲曲面上任一假設已知點)

(px)w=pxwcosθcosθ=(px)wpxwd=pxcosθ=px(px)wpxw=(px)ww=wp+bwmaxminid (p - x) \cdot w = \|p-x\|\|w\|cos\theta \\ cos\theta = \frac{(p - x) \cdot w}{ \|p-x\|\|w\|} \\ ---------------點到直線的距離---------------\\ d = \|p-x\|cos\theta = \|p-x\| \frac{(p - x) \cdot w}{ \|p-x\|\|w\|}=\frac{(p - x) \cdot w}{\|w\|}=\frac{wp+b}{\|w\|}\\ ---------------最近距離最大化---------------\\ max\min_id

準備構造拉普拉斯算子

maxw,bmini2wwxi+bs.t.yi(wxi+b)>0,i=1,2,3,......wx+b>0y=1wx+b<0y=1 \max_{w,b}\min_{i} \frac{2}{\|w\|}|wx_i + b|\\ s.t.\quad y_i(wx_i + b) >0,i=1,2,3,......\\ wx+b>0 \quad y=1\\ wx+b<0 \quad y=-1\\

等價變換

wxi+b1()maxw,bmini2wminw,bw2s.t.1yi(wxi+b)0,i=1,2,3,......L(w,b,a)=12w2+iNa(1yi(wxi+b)) \|wx_i + b\|總有辦法約爲1(此處不完全懂)\\ \max_{w,b}\min_{i}\frac{2}{\|w\|}\\ \min_{w,b}\frac{\|w\|}{2}\\ s.t. \quad1- y_i(wx_i+b)\le 0,i=1, 2, 3,......\\ ------------拉普拉斯算子公式等價替換------------\\ L(w,b,a) = \frac{1}{2}\|w\|^2 + \sum^N_i{a(1-y_i(wx_i+b))}

求導,找最優條件

wL=wiNayixi=0bL=iNayi=0w=iNayixi \nabla_wL=w-\sum^N_i a y_i x_i=0\\ \nabla_bL=-\sum^N_i a y_i=0\\ w=\sum^N_i a y_i x_i

將結果帶回

L(w,b,a)=12w2iNa(yi(wxi+b)1)=12wwTiNa(yi(wxi+b)1)=12iNiNaiajxixjyiyjiNai(yi(jNajyjxj xi+b)1)=iNai12iNjNaiajxixjyiyjiNbaiyi=iNai12iNjNaiajxixjyiyjmaxα12iNaiajxixj(yiyj)+iNais.t.iNaiyi=0ai>0minαiNai12iNaiajxixj(yiyj)s.t.iNaiyi=0ai>0 L(w,b,a) = \frac{1}{2}\|w\|^2 - \sum^N_i{a(y_i(w x_i + b) - 1)}\\ =\frac{1}{2}w \cdot w^T - \sum^N_i{a(y_i(w x_i + b) - 1)}\\ =\frac{1}{2}\sum^N_i\sum^N_i a_i a_j x_i x_j y_i y_j - \sum^N_i{a_i(y_i(\sum^N_j{a_j y_j x_j \ x_i + b}) - 1)}\\ =\sum^N_ia_i - \frac{1}{2}\sum^N_i\sum^N_j a_i a_j x_i x_j y_i y_j -\sum^N_i b a_i y_i\\ =\sum^N_ia_i - \frac{1}{2}\sum^N_i\sum^N_j a_i a_j x_i x_j y_i y_j\\ ------------最終結果------------\\ \max_\alpha{-\frac{1}{2}\sum^N_i a_i a_j x_i x_j (y_i y_j) + \sum^N_ia_i}\\ s.t. \sum^N_i a_i y_i = 0\\ a_i > 0\\ ------------通常習慣求最小------------\\ \min_\alpha{\sum^N_i a_i - \frac{1}{2}\sum^N_i a_i a_j x_i x_j (y_i y_j)}\\ s.t. \sum^N_i a_i y_i = 0\\ a_i > 0

其它相關:

  1. 軟間隔最大化
  2. 核函數(映射到高維空間可分)
  3. SMO算法(固定一個ai,迭代算aj;再固定aj,迭代算ai)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章