0
点赞
收藏
分享

微信扫一扫

支持向量机

夕阳孤草 2022-02-14 阅读 71

文章目录

一、Support Vector Machine

  • 要解决的问题:什么样的决策边界才是最好的呢?
  • 特征数据本身如果就很难分,怎么办呢?
  • 计算复杂度怎么样?能实际应用吗?
  • 目标:基于上述问题对SVM进行推导
  • 决策边界:选出来离边界上的点最远的决策面

二、距离的计算

假设在决策平面 L L L上有两点 x ′ x' x x ′ ′ x'' x,满足以下条件:

  • w T x ′ = − b , w T x ′ ′ = − b w^Tx'=-b,w^Tx''=-b wTx=b,wTx=b
  • w ⊥ L w\bot L wL,即: [ w T ( x ′ ′ − x ′ ) ] = 0 (1) \begin{bmatrix} w^T(x''-x') \end{bmatrix}=0 \tag{1} [wT(xx)]=0(1)
  • 平面外一点 x x x到该平面 L L L的距离为: d i s t a n c e = Proj L ( x − x ′ ) (2) distance=\text{Proj}_L(x-x')\tag{2} distance=ProjL(xx)(2)化简可得: d i s t a n c e ( x , b , w ) = ∣ w T ∣ ∣ w ∣ ∣ ( x − x ′ ) ∣ = 1 ∣ ∣ w ∣ ∣ ∣ w T x + b ∣ (3) distance(x,b,w)=\left|\frac{w^T}{||w||}(x-x')\right|=\frac{1}{||w||}|w^Tx+b|\tag{3} distance(x,b,w)=wwT(xx)=w1wTx+b(3)

三、数据标签定义

  • 数据集: ( X 1 , Y 1 ) , ( X 2 , Y 2 ) , ⋯   , ( X n , Y n ) (X_1,Y_1),(X_2,Y_2),\cdots,(X_n,Y_n) (X1,Y1),(X2,Y2),,(Xn,Yn)
  • Y Y Y为样本的类别:当 X X X为正例时, Y = + 1 Y=+1 Y=+1;当 X X X为负例时, Y = − 1 Y=-1 Y=1
  • 决策方程: y ( x ) = w T Φ ( x ) + b y(x)=w^T\Phi(x)+b y(x)=wTΦ(x)+b(其中 Φ ( x ) \Phi(x) Φ(x)是对数据做了核变换,使低维不可分数据映射为高维可分数据)    ⟹    y ( x i ) > 0    ⟺    y i = + 1 y ( x i ) < 0    ⟺    y i = − 1    ⟹    y i ⋅ y ( x i ) > 0 (4) \implies \begin{aligned}&y(x_i)>0\iff y_i=+1\\&y(x_i)<0\iff y_i=-1\end{aligned}\implies y_i\cdot y(x_i)>0\tag{4} y(xi)>0yi=+1y(xi)<0yi=1yiy(xi)>0(4)

四、优化的目标

  • 通俗解释:找到一条线( w w w b b b),使得离该线最近的点能够最远
  • 将点到直线的距离化简得: y i ⋅ ( w T Φ ( x i ) + b ) ∣ ∣ w ∣ ∣ (5) \frac{y_i\cdot\left(w^T\Phi(x_i)+b\right)}{||w||}\tag{5} wyi(wTΦ(xi)+b)(5)(由于 y i ⋅ y ( x i ) > 0 y_i\cdot y(x_i)>0 yiy(xi)>0,所以将绝对值展开原式依旧成立)

五、目标函数

  • 放缩变换:对于决策方程 ( w , b ) (w,b) (w,b)可以通过放缩使得其结果值 ∣ Y ∣ ≥ 1    ⟹    y i ⋅ ( w T Φ ( x i ) + b ) ≥ 1 |Y|\geq1\implies y_i\cdot\left(w^T\Phi(x_i)+b\right)\geq1 Y1yi(wTΦ(xi)+b)1
  • 优化目标: arg max ⁡ w , b { 1 ∣ ∣ w ∣ ∣ min ⁡ i [ y i ⋅ ( w T ⋅ Φ ( x i ) + b ) ] } (6) \argmax_{w,b}\left\{\frac{1}{||w||}\min_i\left[y_i\cdot\left(w^T\cdot\Phi(x_i)+b\right)\right]\right\}\tag{6} w,bargmax{w1imin[yi(wTΦ(xi)+b)]}(6)由于 y i ⋅ ( w T Φ ( x i ) + b ) ≥ 1 y_i\cdot\left(w^T\Phi(x_i)+b\right)\geq1 yi(wTΦ(xi)+b)1,只需要考虑 arg max ⁡ w , b 1 ∣ ∣ w ∣ ∣ \argmax_{w,b}\frac{1}{||w||} w,bargmaxw1
  • 当前目标: max ⁡ w , b 1 ∣ ∣ w ∣ ∣ \max_{w,b}\frac{1}{||w||} maxw,bw1,约束条件: y i ⋅ ( w T Φ ( x i ) + b ) ≥ 1 y_i\cdot\left(w^T\Phi(x_i)+b\right)\geq1 yi(wTΦ(xi)+b)1
  • 常规套路:将求解极大值问题转换成极小值问题    ⟹    min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 \implies\min_{w,b}\frac12||w||^2 minw,b21w2
  • 应用拉格朗日乘子法求解

六、拉格朗日乘子法

  • 原式转换: L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 − ∑ i = 1 n α i ( y i ( w T ⋅ Φ ( x i ) + b ) − 1 ) (7) L(w,b,\alpha)=\frac12||w||^2-\sum_{i=1}^n\alpha_i(y_i(w^T\cdot\Phi(x_i)+b)-1)\tag{7} L(w,b,α)=21w2i=1nαi(yi(wTΦ(xi)+b)1)(7)约束条件: y i ⋅ ( w T Φ ( x i ) + b ) ≥ 1 (8) y_i\cdot\left(w^T\Phi(x_i)+b\right)\geq1\tag{8} yi(wTΦ(xi)+b)1(8)

七、SVM求解

  • 由对偶性质可得: min ⁡ w , b max ⁡ α L ( w , b , α ) → max ⁡ α min ⁡ w , b L ( w , b , α ) (9) \min_{w,b}\max_\alpha L(w,b,\alpha)\to\max_\alpha\min_{w,b} L(w,b,\alpha)\tag{9} w,bminαmaxL(w,b,α)αmaxw,bminL(w,b,α)(9)
  • w w w求偏导: ∂ L ∂ w = 0    ⟹    w = ∑ i = 1 n α i y i Φ ( x i ) (10) \frac{\partial L}{\partial w}=0\implies w=\sum_{i=1}^n\alpha_iy_i\Phi(x_i)\tag{10} wL=0w=i=1nαiyiΦ(xi)(10) b b b求偏导: ∂ L ∂ b = 0    ⟹    0 = ∑ i = 1 n α i y i (11) \frac{\partial L}{\partial b}=0\implies 0=\sum_{i=1}^n\alpha_iy_i\tag{11} bL=00=i=1nαiyi(11)
  • 代入原式可得: L ( w , b , α ) = 1 2 w T w − w T ∑ i = 1 n α i y i Φ ( x i ) − b ∑ i = 1 n α i y i + ∑ i = 1 n α i = ∑ i = 1 n α i − 1 2 ( ∑ i = 1 n α i y i Φ ( x i ) ) T ∑ i = 1 n α i y i Φ ( x i ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 , j = 1 n α i α j y i y j Φ T ( x i ) Φ ( x j ) (12) L(w,b,\alpha)=\frac12w^Tw-w^T\sum_{i=1}^n\alpha_iy_i\Phi(x_i)-b\sum_{i=1}^n\alpha_iy_i+\sum_{i=1}^n\alpha_i\\=\sum_{i=1}^n\alpha_i-\frac12(\sum_{i=1}^n\alpha_iy_i\Phi(x_i))^T\sum_{i=1}^n\alpha_iy_i\Phi(x_i)\\=\sum_{i=1}^n\alpha_i-\frac12\sum_{i=1,j=1}^n\alpha_i\alpha_jy_iy_j\Phi^T(x_i)\Phi(x_j)\tag{12} L(w,b,α)=21wTwwTi=1nαiyiΦ(xi)bi=1nαiyi+i=1nαi=i=1nαi21(i=1nαiyiΦ(xi))Ti=1nαiyiΦ(xi)=i=1nαi21i=1,j=1nαiαjyiyjΦT(xi)Φ(xj)(12)完成了第一步求解 min ⁡ w , b L ( w , b , α ) \min_{w,b}L(w,b,\alpha) minw,bL(w,b,α)
  • 继续对 α \alpha α求极大值: max ⁡ α ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( Φ ( x i ) ⋅ Φ ( x j ) ) (13) \max_\alpha\sum_{i=1}^n\alpha_i-\frac12\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\left(\Phi(x_i)\cdot\Phi(x_j)\right)\tag{13} αmaxi=1nαi21i=1nj=1nαiαjyiyj(Φ(xi)Φ(xj))(13)条件: ∑ i = 1 n α i y i = 0 α i ≥ 0 (14) \begin{aligned}&\sum_{i=1}^n\alpha_iy_i=0\\&\alpha_i\geq0\end{aligned}\tag{14} i=1nαiyi=0αi0(14)
  • 极大值转换成求极小值: min ⁡ α 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j ( Φ ( x i ) ⋅ Φ ( x j ) ) − ∑ i = 1 n α i (15) \min_\alpha\frac12\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\left(\Phi(x_i)\cdot\Phi(x_j)\right)-\sum_{i=1}^n\alpha_i\tag{15} αmin21i=1nj=1nαiαjyiyj(Φ(xi)Φ(xj))i=1nαi(15)条件: ∑ i = 1 n α i y i = 0 α i ≥ 0 (16) \begin{aligned}&\sum_{i=1}^n\alpha_iy_i=0\\&\alpha_i\geq0\end{aligned}\tag{16} i=1nαiyi=0αi0(16)

八、soft-margin

  • 软间隔:有时候数据中有一些噪音点,如果考虑它们那么得出的决策边界往往不太好
  • 为了解决该问题,引入松弛因子: y i ⋅ ( w ⋅ x i + b ) ≥ 1 − ξ i (17) y_i\cdot(w\cdot x_i+b)\geq1-\xi_i\tag{17} yi(wxi+b)1ξi(17)
  • 新的目标函数: min ⁡ 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 n ξ i (18) \min\frac12||w||^2+C\sum_{i=1}^n\xi_i\tag{18} min21w2+Ci=1nξi(18)
  • C C C趋近于很大时:意味着分类严格不能有错误;当 C C C趋近于很小时:意味着可以有更大的错误容忍
  • C C C是我们需要指定的一个参数

九、低维不可分问题

  • 目标:找到一种变换的方法,也就是 Φ ( X ) \Phi(X) Φ(X),使其数据变成高维可分问题
  • 问题:如果将维数扩展到非常高的时候,计算复杂度会爆炸性增长
  • 方法:支持向量机通过某非线性变换 Φ ( X ) \Phi(X) Φ(X),将输入空间映射到高维特征空间。特征空间的维数可能非常高。如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数 K ( x , x ′ ) K(x,x') K(x,x),它恰好等于在高维空间中这个内积,即 K ( x , x ′ ) = < Φ ( x ) , Φ ( x ′ ) > K( x, x') =<\Phi(x),\Phi(x')> K(x,x)=<Φ(x),Φ(x)>。那么支持向量机就不用计算复杂的非线性变换,而由这个函数 K ( x , x ′ ) K(x, x') K(x,x)直接得到非线性变换的内积,大大简化了计算。这样的函数 K(x, x′) 称为核函数。
  • 常用核函数:
  • 高斯核函数: K ( X , Y ) = e x p { − ∣ ∣ X − Y ∣ ∣ 2 2 σ 2 } (19) K(X,Y)=exp\left\{-\frac{||X-Y||^2}{2\sigma^2}\right\}\tag{19} K(X,Y)=exp{2σ2XY2}(19)

十、参考文献

[1] 唐宇迪. 跟着迪哥学Python数据分析与机器学习实战[M]. 北京: 人民邮电出版社, 2019: 260-284.

举报

相关推荐

0 条评论