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

本文深入探讨了支持向量机(SVM)的三种类型:线性可分、近似线性可分和线性不可分的情况,分别对应硬间隔、软间隔及非线性SVM。详细解析了硬间隔向量机的数学原理,包括决策边界的求解过程和拉格朗日对偶问题的转换。同时,介绍了软间隔向量机如何通过合页损失函数处理非严格线性可分数据,以及核函数在非线性SVM中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

硬间隔向量机(hard margin svm)

任务:寻找一条与所有支持向量距离最远的决策边界,这条决策边界就是0=wTX+b0 = w^T X + b0=wTX+b,即:
wTXi+b>0,yi>0wTXi+b<0,yi<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
所以问题可以描述为:
max  margin(x,b)s.t.yi(wT+b)>0margin(w,b)=min  distance(w,b,xi)=min1∣w∣∣wTxi+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
带换一下也就是
max  min1∣w∣∣wTxi+b∣==>max1∣w∣  min∣wTxi+b∣s.t.yi(wTxi+b)>0  ==>  ∃r>0,min  yi(wT+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来表示就是:
maxr∣w∣∃r>0,min  yi(wT+b)=r max \frac{r}{|w|}\\\\ \exists r > 0 , min \; y_i(w^T+b)=r maxwrr>0,minyi(wT+b)=r

这里我的理解是:因为wxi+b=rwx_i+b=rwxi+b=r ==> wrxi+br=1\frac{w}{r} x_i + \frac{b}{r}=1rwxi+rb=1,所以不管r取什么值,w=w0rw=\frac{w_0}{r}w=rw0b=b0rb=\frac{b_0}{r}b=rb0, 所以r的取值所带来的影响会被最后的w和b所融合进去,所以r=1也没关系。最终的问题可以描述为(这里是N个不等式):
max12∣w∣2s.t.  yi(wT+b)−1>=0i=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α,转换成对偶函数如下(大括号表示不出来我也很绝望):
min12⋅∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nxis.t.∑i=1Nαiyi=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=1Nαi∗yixi w^{*}=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i} w=i=1Nαiyixi

b∗=yj−∑i=1Nai∗yi(xi⋅xj) 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)=sign(w∗x+b∗) f(x) = sign(w^{*}x+b^{*}) f(x)=sign(wx+b)

软间隔向量机(soft margin svm)

软间隔向量机采用合页损失函数,真实数据中,严格线性可分的数据很少。合页损失函数允许分类时的一点点误差。损失函数如下:
1−yi(w⊤xi+b)⩽0,loss=01−y2‾(w⊤xi+b)>0,loss=1−yi(w⊤xi+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⁡∑iN(1−yi(wTxi+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−yi(wTxi+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−yi(wTxi+b)>01-y_{i}(w^{T} x_{i}+b)>01yi(wTxi+b)>0 ==> ξi=1−yi(wTxi+b)\xi_i =1-y_{i}\left(w^{T} x_{i}+b\right)ξi=1yi(wTxi+b) ==> yi(wx+b)=1−ξiy_i(wx+b)=1-\xi_iyi(wx+b)=1ξi
2、1−yi(wTxi+b)⩽01-y_{i}(w^{T} x_{i}+b)\leqslant01yi(wTxi+b)0 ==> yi(wx+b)⩽1y_i(wx+b)\leqslant1yi(wx+b)1 ==> yi(wx+b)⩽1−ξiy_i(wx+b)\leqslant1-\xi_iyi(wx+b)1ξi (ξi=0\xi_i=0ξi=0)

综合上面两种情况,可以直接写为:yi(wx+b)⩽1−ξiy_i(wx+b)\leqslant1-\xi_iyi(wx+b)1ξi,这样的话,最优化函数就变成了下面的样子:
min12wTw+C∑i=1Nξis.t.yi(wTxi+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
这两个式子是等价的。再《统计学习方法》中,先给出了后面的式子,再介绍了合页损失函数

这两个式子转换成等价的对偶函数如下:
minα12∑i=1N∑j=1Nαiαjyiyj(xixj)−∑i=1nαis.t.∑i=1Nαiyi=00≤α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=1Nαiyixi w=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} w=i=1Nαiyixi

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

决策函数是:

f(x)=sign(∑1Nαiyi(x⋅xi)+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−yi(wTxi+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−yi(wTxi+b))<0 (1-y_{i}(w^{T} x_{i}+b))<0 (1yi(wTxi+b))<0

对于λi(1−yi(wTxi+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−yi(wTxi+b=01-y_{i}(w^{T} x_{i}+b=01yi(wTxi+b=0,也就是说xix_ixi再决策边界上,xix_ixi是支持向量

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

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

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

如果用映射函数将x映射到高维空间,那么应该用高维向量替换x所在的位置:
12∑i=1N∑j=1Nαiαjyiyj(xixj)−∑i=1nα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

12∑i=1N∑j=1Nαiαjyiyj(ϕ(xi)ϕ(xj))−∑i=1nα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

12∑i=1N∑j=1Nαiαjyiyj(K(xi,xj))−∑i=1nα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)=sign(∑1Nαiyi(ϕ(x)ϕ(xi))+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)=sign(∑1Nαiyi(K(x,xi))+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)=12πσexp⁡(−(x−μ)22σ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、付费专栏及课程。

余额充值