支持向量机(SVM)综合

概念

E.n. Support Vector Machine (SVM)。机器学习领域有一种概念叫 线性可分 (linearly seperable) —— 可以通过设置超平面将正负案例划分到超平面的两侧。e.g. 二维数据的超平面为一条线,三维数据的超平面为一个面。这里的 超平面 (hyperplane) 是支持向量机思想的核心:在超平面对样本进行完全分类的情况下,最大化 支持向量 (Support Vector,离超平面最近且等距的两个或两个以上的样本点) 到超平面的距离 (这个距离又称为 间隔,Margin) 。线性SVM (Linear SVM) 的超平面是线性的,满足 “平” 的概念,e.g. 二维空间中的一条直线,适合处理线性可分的数据;面对线性不可分的数据时,线性 SVM 可以通过生成最大软间隔分离超平面实现部分分离,但泛化性能有限。非线性SVM (Non-linear SVM) 则在线性 SVM 的基础上添加了 核技巧 (kernel tricks) ,将数据投射到高维空间,使其变得线性可分后,再进行超平面的生成。SVR (Support Vector Regression,支持向量回归) 是将线性 SVM 的思想运用到回归后生成的模型。

线性SVM

假设超平面 Π \Pi Π 的表达式为 { X ∣ W T X + b = 0 } \{X|W^TX+b=0\} { XWTX+b=0},其中 X = ( x 1 , . . . , x m ) T X=(x_1,...,x_m)^T X=(x1,...,xm)T,则样本点 X i X_i Xi 到超平面的最近距离为
d ∗ ( X i ; Π ) = ∣ W T X i + b ∣ ∣ ∣ W ∣ ∣ d^*(X_i;\Pi)=\frac{|W^TX_i+b|}{||W||} d(Xi;Π)=WWTXi+b

欧式范数 ∣ ∣ W ∣ ∣ ||W|| W 的作用在于防止距离因 W W W b b b 等比例变化而发生变动 (实际上超平面位置并没有发生改变)。规定 y i ∈ { − 1 , 1 } y_i\in \{-1,1\} yi{ 1,1},进行分类预测,
y i ^ = { − 1 , W T X i + b &lt; 0 1 , W T X i + b ≥ 0 \hat{y_i}=\begin{cases}-1,&amp;W^TX_i+b&lt;0\\1,&amp;W^TX_i+b\ge 0\end{cases} yi^={ 1,1,WTXi+b<0WTXi+b0

我们要求超平面能够有效地将所有样本点分离在两侧,因此有了约束条件
y i W T X i + b ∣ ∣ W ∣ ∣ ≥ d ∗ y_i\frac{W^TX_i+b}{||W||}\ge d^* yiWWTXi+bd

由于 W W W b b b 同比例变换对超平面没有影响,不妨设 d ∗ = 1 ∣ ∣ W ∣ ∣ d^*=\frac{1}{||W||} d=W1,将约束条件转化为
y i ( W T X i + b ) ≥ 1 y_i(W^TX_i+b)\ge 1 yi(WTXi+b)1

满足该约束条件的超平面 Π ∗ : { X ∣ W ∗ T X + b = 0 } \Pi^*:\{X|W^{*T} X+b=0\} Π:{ XWTX+b=0} 被称为 最大硬间隔分离超平面 (Maximum Hard Margin Seperating Hyperplane) 。在这基础上生成的超平面 Π 1 ∗ : { X ∣ W ∗ T X + b = − 1 } \Pi^*_1:\{X|W^{*T} X+b=-1\} Π1:{ XWTX+b=1} Π 2 ∗ : { X ∣ W ∗ T X + b = 1 } \Pi^*_2:\{X|W^{*T} X+b=1\} Π2:{ XWTX+b=1} 称为 间隔边界。约束条件满足时,间隔边界之间不存在样本点;间隔边界上的样本点即为前文所提 支持向量 (Support Vector)。间隔边界和支持向量的概念在下文讲拉格朗日乘子算法时相较重要,此处可先跳过。

最大硬间隔分离超平面仅能应用在线性可分的数据上,当数据线性不可分时,超平面永远存在错分的样本点,换言之该约束条件不再满足。此时加入松弛变量 ξ i ≥ 0 \xi_i\ge 0 ξi0
y i ( W T X i + b ) ≥ 1 − ξ i y_i(W^TX_i+b)\ge 1-\xi_i yi(WTXi+b)1ξi

满足调整过后约束条件的超平面称为 最大软间隔分离超平面 (Maximum Soft Margin Seperating Hyperplane) 。对松弛变量进行惩罚而产生的损失项也就是我们常说的 铰链损失 (Hinge Loss),
l ξ ( X i , y i ; Π ) = max ⁡ ( 0 , 1 − y i ( W T X i + b ) ) l_\xi(X_i,y_i;\Pi)=\max\big(0,1-y_i(W^TX_i+b)\big) lξ(Xi,yi;Π)=max(0,1yi(WTXi+b))

将间隔惩罚项与铰链损失结合在一起,线性 SVM 的损失函数为
L ( X , y ; Π ) = 1 2 ∣ ∣ W ∣ ∣ 2 + C ∑ i max ⁡ ( 0 , 1 − y i ( W T X i + b ) ) L(X,y;\Pi)=\frac{1}{2}||W||^2+C\sum_i\max\big(0,1-y_i(W^TX_i+b)\big) L(X,y;Π)=21W2+Cimax(0,1yi(WTXi+b))

C C C 为针对松弛变量的惩罚系数,值越大代表模型越看重错分样本,值越小代表模型越看重整体最大间隔,因此适当提高 C C C 值可以更大程度地拟合数据,但过高容易过拟合。此时形成最小化损失函数的无约束优化问题,在训练中使用 随机梯度下降法 (Stochastic Gradient Descent, SGD) 实现参数收敛。在这里跳过对损失函数求参数偏导的数学计算。

Algorithm Linear_SVM( D D D, η \eta η, C C C):
Input: Sample data D = { ( X i , y i ) ∣ y i ∈ { − 1 , 1 } , i = 1 , . . . , n } D=\big\{(X_i,y_i)|y_i\in\{-1,1\},i=1,...,n\big\} D={ (Xi,yi)yi{ 1,1},i=1,...,n}, learning rate η \eta η, penalty factor C C C.
Output: Prediction result y ^ \hat{y} y^.
 initialize W W W and b b b
while not converged do
  calculate residual, e = 1 − y ( W T X + b ) e= 1-y(W^TX+b) e=1y(WTX+b)
  find the sample which is most probable to be wrongly classified, i = arg ⁡ max ⁡ i e i i=\arg\max_ie_i i=argmaxiei
  if e i &gt; 0 e_i &gt; 0 ei>0 then
    W ← W + η C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值