支持向量机公式整理(SVM)

支持向量机可以分为三类:

  • 线性可分的情况 ==> 硬间隔最大化 ==> 硬间隔SVM
  • 近似线性可分的情况 ==> 软间隔最大化 ==> 线性支持向量机
  • 线性不可分的情况 ==> 核技巧/软间隔最大化 ==> 非线性SVM

硬间隔向量机(hard margin svm)

任务:寻找一条与所有支持向量距离最远的决策边界,这条决策边界就是 0 = w T X + b 0 = w^T X + b 0=wTX+b,即:
w T X i + b > 0 , y i > 0 w T X i + b < 0 , y i < 0 w^T X_i + b > 0 , y_i > 0 \\ w^T X_i + b < 0 , y_i < 0 wTXi+b>0,yi>0wTXi+b<0,yi<0
所以问题可以描述为:
m a x    m a r g i n ( x , b ) s . t . y i ( w T + b ) > 0 m a r g i n ( w , b ) = m i n    d i s t a n c e ( w , b , x i ) = m i n 1 ∣ w ∣ ∣ w T x i + b ∣ max \; margin(x,b) \qquad s.t.y_i(w^T+b)>0 \\ margin(w,b) = min \; distance(w,b,x_i) = min \frac{1}{|w|}|w^Tx_i+b| maxmargin(x,b)s.t.yi(wT+b)>0margin(w,b)=mindistance(w,b,xi)=minw1wTxi+b
带换一下也就是
m a x    m i n 1 ∣ w ∣ ∣ w T x i + b ∣ = = > m a x 1 ∣ w ∣    m i n ∣ w T x i + b ∣ s . t . y i ( w T x i + b ) > 0    = = >    ∃ r > 0 , m i n    y i ( w T + b ) = r max \; min \frac{1}{|w|}|w^Tx_i+b| ==> max \frac{1}{|w|} \; min |w^Tx_i+b| \\ s.t. y_i(w^Tx_i+b)>0 \; ==>\; \exists r > 0 , min \; y_i(w^T+b)=r maxminw1wTxi+b==>maxw1minwTxi+bs.t.yi(wTxi+b)>0==>r>0,minyi(wT+b)=r
用r来表示就是:
m a x r ∣ w ∣ ∃ r > 0 , m i n    y i ( w T + b ) = r max \frac{r}{|w|}\\\\ \exists r > 0 , min \; y_i(w^T+b)=r maxwrr>0,minyi(wT+b)=r

这里我的理解是:因为 w x i + b = r wx_i+b=r wxi+b=r ==> w r x i + b r = 1 \frac{w}{r} x_i + \frac{b}{r}=1 rwxi+rb=1,所以不管r取什么值, w = w 0 r w=\frac{w_0}{r} w=rw0 b = b 0 r b=\frac{b_0}{r} b=rb0, 所以r的取值所带来的影响会被最后的w和b所融合进去,所以r=1也没关系。最终的问题可以描述为(这里是N个不等式):
m a x 1 2 ∣ w ∣ 2 s . t .    y i ( w T + b ) − 1 > = 0 i = 1 , 2 , 3 , . . . , N max \frac{1}{2}|w|^2 \\ s.t. \; y_i(w^T+b)-1>=0 \qquad i=1,2,3,...,N max21w2s.t.yi(wT+b)1>=0i=1,2,3,...,N
构造拉格朗日函数,引入N个参数 α \alpha α,转换成对偶函数如下(大括号表示不出来我也很绝望):
m i n 1 2 ⋅ ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N x i s . t . ∑ i = 1 N α i y i = 0 α i > = 0    i = 1 , 2 , 3 , . . N min \frac{1}{2} \cdot \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_i \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{N} x_{i} \\ s.t.\sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ \alpha_i >=0 \; i = 1,2,3,.. N min21i=1Nj=1Nαiαjyiyj(xixj)i=1Nxis.t.i=1Nαiyi=0αi>=0i=1,2,3,..N

使用KKT条件,得到的解:
w ∗ = ∑ i = 1 N α i ∗ y i x i w^{*}=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i} w=i=1Nαiyixi

b ∗ = y j − ∑ i = 1 N a i ∗ y i ( x i ⋅ x j ) b^{*}=y_{j}-\sum_{i=1}^{N} a_{i}^{*} y_{i}\left(x_{i} \cdot x_{j}\right) b=yji=1Naiyi(xixj)

最终的解是:
w ∗ x + b ∗ = 0 w^{*}x+b^{*}=0 wx+b=0

f ( x ) = s i g n ( w ∗ x + b ∗ ) f(x) = sign(w^{*}x+b^{*}) f(x)=sign(wx+b)

软间隔向量机(soft margin svm)

软间隔向量机采用合页损失函数,真实数据中,严格线性可分的数据很少。合页损失函数允许分类时的一点点误差。损失函数如下:
1 − y i ( w ⊤ x i + b ) ⩽ 0 , l o s s = 0 1 − y 2 ‾ ( w ⊤ x i + b ) > 0 , l o s s = 1 − y i ( w ⊤ x i + b ) 1- y_{i}\left(w^{\top} x_{i}+b\right) \leqslant0, \quad loss=0 \\ 1-y_{\overline{2}}\left(w^{\top} x_{i}+b\right) >0, \quad loss =1-y_{i}\left(w^{\top} x_{i}+b\right) 1yi(wxi+b)0,loss=01y2(wxi+b)>0,loss=1yi(wxi+b)
也就是,正确分类并且函数间隔大于1时没有误差,错误分类时,距离决策边界越远的点,受到的惩罚越大。使用合页函数的做优化问题可以表示为:
min ⁡ ∑ i N ( 1 − y i ( w T x i + b ) ) + + λ ∥ w ∥ 2 \min \sum_{i}^{N}\left(1-y_{i}\left(w^{T} x_{i}+b\right)\right)_{+}+\lambda\|w\|^{2} miniN(1yi(wTxi+b))++λw2

ξ i = 1 − y i ( w T x i + b ) , ξ i ⩾ 0 \xi_{i}=1-y_{i}(w^{T} x_{i}+b), \quad \xi_{i} \geqslant 0 ξi=1yi(wTxi+b),ξi0,则,分两种情况:
1、 1 − y i ( w T x i + b ) > 0 1-y_{i}(w^{T} x_{i}+b)>0 1yi(wTxi+b)>0 ==> ξ i = 1 − y i ( w T x i + b ) \xi_i =1-y_{i}\left(w^{T} x_{i}+b\right) ξi=1yi(wTxi+b) ==> y i ( w x + b ) = 1 − ξ i y_i(wx+b)=1-\xi_i yi(wx+b)=1ξi
2、 1 − y i ( w T x i + b ) ⩽ 0 1-y_{i}(w^{T} x_{i}+b)\leqslant0 1yi(wTxi+b)0 ==> y i ( w x + b ) ⩽ 1 y_i(wx+b)\leqslant1 yi(wx+b)1 ==> y i ( w x + b ) ⩽ 1 − ξ i y_i(wx+b)\leqslant1-\xi_i yi(wx+b)1ξi ( ξ i = 0 \xi_i=0 ξi=0)

综合上面两种情况,可以直接写为: y i ( w x + b ) ⩽ 1 − ξ i y_i(wx+b)\leqslant1-\xi_i yi(wx+b)1ξi,这样的话,最优化函数就变成了下面的样子:
m i n 1 2 w T w + C ∑ i = 1 N ξ i s . t . y i ( w T x i + b ) ⩾ 1 − ξ i , ξ i ⩾ 0 min \frac{1}{2} w^{T}w+C\sum_{i=1}^{N} \xi_{i} \\ s.t. y_{i}\left(w^{T} x_{i}+b\right) \geqslant 1-\xi_{i}, \quad \xi_{i} \geqslant 0 min21wTw+Ci=1Nξis.t.yi(wTxi+b)1ξi,ξi0
这两个式子是等价的。再《统计学习方法》中,先给出了后面的式子,再介绍了合页损失函数

这两个式子转换成等价的对偶函数如下:
m i n α 1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i x j ) − ∑ i = 1 n α i s . t . ∑ i = 1 N α i y i = 0 0 ≤ α i ≤ C ,    i = 1 , 2 , . . . N \underset{\alpha}{min} \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j}y_{i} y_{j}\left(x_{i}x_{j}\right)-\sum_{i=1}^{n} \alpha_{i} \\ s.t. \sum_{i=1}^{N}\alpha_iy_i=0 \qquad \\ 0\leq \alpha_i \leq C, \;i=1,2,...N αmin21i=1Nj=1Nαiαjyiyj(xixj)i=1nαis.t.i=1Nαiyi=00αiC,i=1,2,...N

对偶函数的解是:
w = ∑ i = 1 N α i y i x i w=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} w=i=1Nαiyixi

b = y j − ∑ i = 1 N a i y i ( x i ⋅ x j ) b=y_{j}-\sum_{i=1}^{N} a_{i} y_{i}\left(x_{i} \cdot x_{j}\right) b=yji=1Naiyi(xixj)

决策函数是:

f ( x ) = s i g n ( ∑ 1 N α i y i ( x ⋅ x i ) + b ∗ ) f(x)=sign (\sum_{1}^{N} \alpha_{i} y_{i}(x \cdot x_{i})+b^{*}) f(x)=sign(1Nαiyi(xxi)+b)

KKT条件

α f α w = 0 , α f α b = 0 , α f α λ = 0 \frac{\alpha f}{\alpha w}=0, \frac{\alpha f}{\alpha b}=0, \frac{\alpha f}{\alpha \lambda}=0 αwαf=0,αbαf=0,αλαf=0

λ i ( 1 − y i ( w T x i + b ) ) = 0 \lambda_{i}(1-y_{i}(w^{T} x_{i}+b))=0 λi(1yi(wTxi+b))=0

λ i = 0 \lambda_i=0 λi=0

( 1 − y i ( w T x i + b ) ) < 0 (1-y_{i}(w^{T} x_{i}+b))<0 (1yi(wTxi+b))<0

对于 λ i ( 1 − y i ( w T x i + b ) ) = 0 \lambda_{i}(1-y_{i}(w^{T} x_{i}+b))=0 λi(1yi(wTxi+b))=0 只要 λ i ≠ 0 \lambda_i \neq0 λi=0 ,就有 1 − y i ( w T x i + b = 0 1-y_{i}(w^{T} x_{i}+b=0 1yi(wTxi+b=0,也就是说 x i x_i xi再决策边界上, x i x_i xi是支持向量

  • 原问题与对偶问题育有强对偶关系 <===> 满足KKT条件

非线性支持向量机(核函数)

核函数可以对特征进行升维(当然,不一定非要是升维,也可能是转换到另一个空间),高维空间的运算量巨大,所以直接使用低维的计算结果,作为两个高维向量的内积:
ϕ ( x 1 , x 2 ) ∗ ϕ ( x 1 ′ , x 2 ′ ) = ( z 1 , z 2 , z 3 ) ∗ ( z 1 ′ , z 2 ′ , z 3 ′ ) = ( x 1 2 , 2 x 1 x 2 , x 2 2 ) ( x 1 ′ 2 , 2 x 1 ′ x 2 ′ , x 2 ′ 2 ) = ( x 1 x 1 ′ + x 2 x 2 ′ ) = ( x x ′ ) 2 = K ( x , x ′ ) \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, \sqrt{2}x_1 x_2, x_2^2)(x_1^{'2}, \sqrt{2}x_1^{'} x_2^{'}, x_2^{'2}) \\\\ = (x_1 x_1^{'} + x_2 x_2^{'}) = (xx^{'})^2 =K(x, x^{'}) ϕ(x1,x2)ϕ(x1,x2)=(z1,z2,z3)(z1,z2,z3)=(x12,2 x1x2,x22)(x12,2 x1x2,x22)=(x1x1+x2x2)=(xx)2=K(x,x)
核函数等价于两个映射哈函数的内积,不过,这个映射函数不需要手动指出。因为当两个映射函数相乘时,内积的结果可以用核函数表示。而映射函数在最优化问题中都是成对出现的。即出现映射函数的地方都可以用核函数替代。

如果用映射函数将x映射到高维空间,那么应该用高维向量替换x所在的位置:
1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( x i x j ) − ∑ i = 1 n α i \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j}y_{i} y_{j}\left(x_{i}x_{j}\right)-\sum_{i=1}^{n} \alpha_{i} 21i=1Nj=1Nαiαjyiyj(xixj)i=1nαi

1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( ϕ ( x i ) ϕ ( x j ) ) − ∑ i = 1 n α i \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j}y_{i} y_{j}\left(\phi(x_{i})\phi(x_{j})\right)-\sum_{i=1}^{n} \alpha_{i} 21i=1Nj=1Nαiαjyiyj(ϕ(xi)ϕ(xj))i=1nαi

1 2 ∑ i = 1 N ∑ j = 1 N α i α j y i y j ( K ( x i , x j ) ) − ∑ i = 1 n α i \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j}y_{i} y_{j}\left(K(x_{i}, x_{j})\right)-\sum_{i=1}^{n} \alpha_{i} 21i=1Nj=1Nαiαjyiyj(K(xi,xj))i=1nαi

那么最终拟合的结果也应该是由高维向量表示的:
f ( x ) = s i g n ( ∑ 1 N α i y i ( ϕ ( x ) ϕ ( x i ) ) + b ∗ ) f(x)=sign (\sum_{1}^{N} \alpha_{i} y_{i}(\phi(x)\phi(x_{i}))+b^{*}) f(x)=sign(1Nαiyi(ϕ(x)ϕ(xi))+b)

f ( x ) = s i g n ( ∑ 1 N α i y i ( K ( x , x i ) ) + b ∗ ) f(x)=sign (\sum_{1}^{N} \alpha_{i} y_{i}(K(x,x_i))+b^{*}) f(x)=sign(1Nαiyi(K(x,xi))+b)

高斯核函数(RBF)

正太分布:
f ( x ) = 1 2 π σ exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) f(x)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^{2}}{2 \sigma^{2}}\right) f(x)=2π σ1exp(2σ2(xμ)2)

高斯核函数:
K ( x , y ) = e − γ ∥ x − y ∥ 2 K(x, y)=e^{-\gamma\|x-y\|^{2}} K(x,y)=eγxy2

对于正态分布来说: σ \sigma σ是标准差, σ \sigma σ越小,曲线越窄。 σ \sigma σ越大,曲线越宽
对于高斯核函数来说: γ \gamma γ的值越大,曲线越窄; γ \gamma γ的值越小,曲线越宽;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值