笔记(总结)-SVM(支持向量机)的理解-1

SVM即支持向量机作为神经网络复兴前的最强大模型,建模和推导有着严密的数学推导作为基础,在训练完成后计算速度也较快,得到了广泛的应用。本文先阐述SVM的基本问题和推导过程,再引入软间隔的SVM,最后引入核函数和求解方法。


问题引入

考虑简单的二分类问题,我们想找一个“最好”的超平面来分隔两类样本。可以看到,在样本点线性可分的情况下,能够找到多个超平面。但其中黑色超平面直观上来看是最合理的,所有样本点到黑色超平面的距离都比较远。新来一个样本时,由于噪声或训练集局限性(采样)等因素,新样本可能更加接近超平面,导致分类错误,而黑色超平面受的影响最小,因为所有样本到它的距离都比较远,泛化能力最强。
这里写图片描述

样本空间中,超平面方程如下:

wTx+b=0 w T x + b = 0

样本空间中任意一点 x0 x 0 到超平面的距离为:

r=|wTx0+b|||w|| r = | w T x 0 + b | | | w | |

如何描述这个“最好”的超平面?我们引入两条“间隔”超平面作为“楚河汉界”,现在我们的目标变为:在满足所有样本点位于边界外的基础上(分类正确),使“楚河汉界”最宽(泛化能力最强)。
这里写图片描述

我们取两条间隔线为 wTx+b=±k w T x + b = ± k ,在任意间隔线上取一点,到另一间隔线的距离即为“楚河汉界”宽度,等于 d=2k||w|| d = 2 k | | w | | ,此时我们的目标变为:

max d max   d

s.t. wTx+bk, y=1 s . t .   w T x + b ≥ k ,   y = 1

wTx+bk, y=1 w T x + b ≤ − k ,   y = − 1

由于目标为最大间隔,而 k k 相当于衡量宽度的一个尺度,取不同尺度只会改变目标函数的优化程度,为了之后模型推导的方便,取k=1。目标等价变为:

min 12||w||2 m i n   1 2 | | w | | 2

s.t. yi(wTx+b)1, xi s . t .   y i ( w T x + b ) ≥ 1 ,   ∀ x i

在该问题中,约束条件为仿射函数,为凸二次规划问题,可以直接求解。但推导得到等价的对偶问题后,可以更高效地求解。


拉格朗日乘数法与对偶问题

不失一般性,定义原问题 p p ∗ 如下:

min f(w) min   f ( w )

s.t.gi(w)0 s . t . g i ( w ) ≤ 0

构造拉格朗日函数:

L(w,α)=f(w)+iαigi(w) L ( w , α ) = f ( w ) + ∑ i α i g i ( w )

定义:

θp(w)=maxαi0L(w,α) θ p ( w ) = max α i ≥ 0 L ( w , α )

有:

θp(w)={f(w)+ θ p ( w ) = { f ( w ) 限 制 满 足 + ∞ 限 制 不 满 足

αi0 α i ≥ 0 的前提下,若不满足 gi(w)0 g i ( w ) ≤ 0 ,可取不满足的约束,取对应 αi α i 为无穷,则函数为无穷。此时原问题 p p ∗ 的等价表述为:

min f(w)=min θp(w)=minmaxαi0L(w,α) p min   f ( w ) = min   θ p ( w ) = min max α i ≥ 0 L ( w , α )   即 为 p ∗

得到对偶问题 d d ∗ 为:

maxαi0minL(w,α)=maxαi0θD(w) d θD(w)=minL(w,α) max α i ≥ 0 min L ( w , α ) = max α i ≥ 0 θ D ( w )   令 为 d ∗ 其 中   θ D ( w ) = min L ( w , α )

当满足KKT条件时:

αi0gi(w)0αigi(w)=0 { α i ≥ 0 g i ( w ) ≤ 0 α i g i ( w ) = 0

原问题和对偶问题有相同的解。


SVM对偶问题

回到SVM原问题 p p ∗ :

min 12||w||2 m i n   1 2 | | w | | 2

s.t. yi(wTx+b)1, xi s . t .   y i ( w T x + b ) ≥ 1 ,   ∀ x i

构造拉格朗日算子,显然有:

f(w)=12||w||2 f ( w ) = 1 2 | | w | | 2

gi(w)=1yi(wTxi+b)0 g i ( w ) = 1 − y i ( w T x i + b ) ≤ 0

L(w,α)=f(w)+iαigi(w) L ( w , α ) = f ( w ) + ∑ i α i g i ( w )

通过解对偶问题来解原问题

maxαi0minL(w,α)=maxαi0θD(w)  θD(w)=minw,bL(w,α) max α i ≥ 0 min L ( w , α ) = max α i ≥ 0 θ D ( w )   其 中   θ D ( w ) = min w , b L ( w , α )

对于 L(w,α) L ( w , α ) ,极值在偏导为0处取到(注意此时 Lwb L 只 是 关 于 w 和 b 的 函 数 ),令:

Lw=0, Lb=0 ∂ L ∂ w = 0 ,   ∂ L ∂ b = 0

得到:

w=iαiyixi, iαiyi=0 w = ∑ i α i y i x i ,   ∑ i α i y i = 0

w w 代回L,得到:

minw,bL=iαi12ijαiαjyiyjxTixj, W(α) min w , b L = ∑ i α i − 1 2 ∑ i ∑ j α i α j y i y j x i T x j ,   记 为 W ( α )

可以看到 L L 只是关于α的函数,对偶问题即为:

d=maxW(α) d ∗ = max W ( α )

s.t. αi0, iαiyi=0 s . t .   α i ≥ 0 ,   ∑ i α i y i = 0

此时回过头来,我们看KKT条件,易得若 αi>0 α i > 0 ,则有 gi(w)=0 g i ( w ) = 0 ,即 yi(wTxi+b)=1 y i ( w T x i + b ) = 1 xi x i 位于间隔超平面上,我们称这样的样本为支持向量。当我们求解得到 αi α i 代入后,由 w=iαiyixi w = ∑ i α i y i x i 即可得到 w w ,由任意一支持向量均满足gi(w)=0,将 w,xi,yi w , x i , y i 代入即可得到 b b ,最终判别函数为:

f(x)=wTx+b=(iαiyixiT)x+b=iαiyi(xiTx)+b

对于所有非支持向量的样本,有 αi=0 α i = 0 ,即在最终的判别函数中只有支持向量起作用,故SVM可以看做一系列支持向量的“加权和”构成的模型。


本文总结了SVM的建模来由、对偶问题和模型推导过程,最终得到了SVM对偶问题的形式和判别函数。其余内容下文再续。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值