《统计学习方法》第七章支持向量机学习笔记

一、线性可分支持向量机

定义:给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为:

wx+b=0

以及相应的分类决策函数:
f(x)=sign(wx+b)

称为线性可分支持向量机。
SVM的分类决策函数和感知机决策函数形式很类似,但是求得的超平面不一样。

1. 函数间隔和几何间隔

函数间隔是人为定义的一个间隔度量,确定的点A到指定超平面的函数间隔不唯一;几何间隔是客观存在的一个间隔度量,确定的点A到指定超平面的几何间隔是唯一的,几何间隔的绝对值实际上就是点到超平面之间的距离,几何间隔的符号表明确定的点A是否被指定的超平面正确分类。
函数间隔定义:对于给定的训练数据集 T 和超平面(w,b),定义超平面 (w,b) 关于样本点 (xi,yi) 的函数间隔为:

γˆi=yi(wxi+b)

定义超平面 (w,b) 关于训练数据 T 的函数间隔为超平面(w,b)关于 T 中所有样本点(xi,yi)的函数间隔之最小值,即:
γˆ=mini=1,,Nγˆi

几何间隔定义:对于给定的训练数据集 T 和超平面(w,b),定义超平面 (w,b) 关于样本点 (xi,yi) 的几何间隔为:
γi=yi(wwxi+bw)

定义超平面 (w,b) 关于训练数据 T 的几何间隔为超平面(w,b)关于 T 中所有样本点(xi,yi)的几何间隔之最小值,即:
γ=mini=1,,Nγi

函数间隔和几何间隔关系: γi=γˆiw γ=γˆw
两种间隔都表示分类预测的正确性以及确信度。两种间隔若为正,表明分类正确,值越大,正确的确信度越大;若为负,表明分类错误,值越小,分错的程度越大。

2. 学习算法

支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。对于线性可分的训练数据集,几何间隔最大的分离超平面是唯一的,这里的间隔最大化又称为硬间隔最大化。
间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据进行分类。即不仅将正负实例点分开,而且对最难分的实例点也有足够大的确信度将它们分开,这样的超平面对未知的新实例也有很好的分类预测能力。

2.1 使用最大间隔构造约束最优化问题

SVM的学习即求出超平面的参数 w b可以转化为如下的原始约束最优化问题:

maxw,bγs.t.yi(wwxi+bw)γ,i=1,2,N

上式中的目标函数的意义是求在几何间隔 γ 取到最大值时 w b的解,这里使用几何间隔而不使用函数间隔的原因是几何间隔有极大值且是唯一的,函数间隔没有极大值。求 w b的实质是求一个超平面,但是一个特定的超平面对应的 w b是不唯一的,可以按比例变化,对应有无数个函数间隔 γˆ 。即当几何间隔 γ 取到最大值时, w b按比例有无数个解。
利用函数间隔和几何间隔之间的关系可以直接将上面的最优化问题转化为:
maxw,bγˆws.t.yi(wxi+b)γˆ,i=1,2,N

函数间隔 γˆ 的取值并不影响最优化问题的解。上式的最优化问题是求几何间隔 γˆw 取最大值时 w b的值,当几何间隔 γˆw 取最大值时, w b按比例有无数个值但是均表示同一超平面,函数间隔 γˆ 随着 w b按比例变化会产生无数值,因此当函数间隔 γˆ 固定为1时,对目标函数的优化没有任何影响,其几何间隔是唯一的。同时假设将 w b按比例改变为 λw λb ,由函数间隔的定义可知,此时函数间隔成为了 λγˆ ,因此函数间隔的改变对最优化问题的不等式约束也没有任何影响。因此取函数间隔 γˆ=1 (将函数间隔 γˆ 固定为1,对于一个特定的超平面相当于将 w b固定了)带入上面的最优化问题,注意到最大化 1w 和最小化 12w2 是等价的(因为我们关心的并不是最优情况下目标函数的具体数值,当 w2 取最小值时, w 一定会取到最小值),于是上面的最优化问题可以转换成如下的最优化问题:
minw,b12w2s.t.yi(wxi+b)10,i=1,2,N(7.1)

上式是一个凸二次规划问题。求出上式的解 w b ,就得到了分离超平面 wx+b=0 和分类决策函数 f(x)=sign(wx+b) 。当前需要解决的重点问题是求出上式最优化问题的解 w b ,上式的限制条件有 N 个,每一个样本都对应着一个限制条件。

凸优化问题是指约束最优化问题:

minwf(w)s.t.gi(w)hi(w)0,=0,i=1,2,3,ki=1,2,3,l

其中,目标函数 f(w) 和约束函数 gi(w) 都是 Rn 上的连续可微的凸函数,约束函数 hi(w) Rn 上的仿射函数(一次函数,满足 f(x)=ax+b )。当目标函数 f(w) 是二次函数且约束函数 gi(w) 是仿射函数时,上式凸优化问题成为凸二次规划问题。

2.2 使用对偶算法求解约束最优化问题

将公式 (7.1) 所表示的最优化问题作为原始问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解 w b ,这就是线性可分支持向量机的对偶算法,可以这样做是因为对偶问题更容易解决(再理解下)
首先构建拉格朗日函数,这样可以将约束问题转化成无约束问题。将公式 (7.1) 中的约束条件改为标准形式 1yi(wxi+b)0 ,对每一个不等式约束引进拉格朗日乘子 αi0,i=1,2,,N ,得到拉格朗日函数:

L(w,b,α)=12w2i=1Nαiyi(wxi+b)+i=1Nαi(7.2)

其中, α=(α1,α2,,αN)T 为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题是极小极大问题 minw,bmaxαL(w,b,α) ,其对偶问题是极大极小问题 maxαminw,bL(w,b,α) 。为了得到对偶问题的解,需要先求 L(w,b,α) w,b 的极小,再求对 α 的极大。

(1)求 minw,bL(w,b,α)

将公式 (7.2) 的拉格朗日函数分别对 w,b 求偏导并令其为0,求出 w,b 的解(这里是对函数求极值,因为只有两个未知量 w,b ,可以利用普通求偏导来解决,注意 w 是一个向量)。

wL(w,b,α)=wi=1Nαiyixi=0bL(w,b,α)=i=1Nαiyi=0

由上式可得:

w=i=1Nαiyixii=1Nαiyi=0(7.3)

当前的几个变量值域分别为: xiRn yi{+1,1} αi0 wRn 。利用以上结论 (7.3) 对拉格朗日函数 (7.2) 进行化简:
L(w,b,α)=12w2i=1Nαiyi(wxi+b)+i=1Nαi=12wwi=1Nαiyi(wxi)i=1Nαiyib+i=1Nαi=12wi=1Nαiyixiwi=1Nαiyixibi=1Nαiyi+i=1Nαi=12wi=1Nαiyixib0+i=1Nαi=12j=1Nαjyjxji=1Nαiyixib0+i=1Nαi=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi

即有:
minw,bL(w,b,α)=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi(7.4)

(2)求 minw,bL(w,b,α) α 的极大

即要解决如下的最优化问题:

maxα12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαis.t.i=1Nαiyiαi=00,i=1,2,,N

将目标函数由求极大转换成求极小,得到如下等价的的最优化问题:
minα12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαis.t.i=1Nαiyiαi=00,i=1,2,,N(7.5)

这里不清楚,看完拉格朗日后再补充下。考虑原始问题 (7.1) 和对偶最优化问题 (7.5) 。目的是为了求解原始问题,可以找到对偶问题,对偶问题更加容易解决,解决对偶问题后也就解决了原始问题。根据拉格朗日对偶性中的定理2,原始问题和对偶问题是强对偶问题,最优值是相等的。但是求解原始问题为什么可以转换为求解对偶问题???求解原始问题是求解 w ,求解对偶问题是求解 α,β ,两者如何转换?
对线性可分训练数据集,假设对偶最优化问题 (7.5) α 的解为 α=(α1,α2,,αN) ,则可以由 α 求得原始最优化问题 (7.1) (w,b) 的解 (w,b) ,有如下的定理:

α=(α1,α2,,αN) 是对偶最优化问题 (7.5) 的解,则存在下标 j ,使得αj>0,并可按下式求得原始最优化问题 (7.1) 的解 (w,b)

w=i=1Nαiyixib=yji=1Nαiyi(xixj)(7.6)

证明:
原始问题和对偶问题是强对偶关系,它们的解满足 KKT条件,即有:
wL(w,b,α)=wi=1Nαiyixi=0αi(yi(wxi+b)1)=0,i=1,2,,Nαi0,i=1,2,,N

至少有一个 αj>0 (否则 w=0 ,产生矛盾),对此 j 有:yj(wxj+b)1=0,注意到 y2j=1 ,则有:
b=yjwxj

则可得:
w=i=1Nαiyixib=yji=1Nαiyi(xixj)

根据以上的定理可以得到SVM的分离超平面和分类决策函数:

i=1Nαiyi(xix)+b=0f(x)=sign(i=1Nαiyi(xix)+b)(7.7)

综合以上的分析,对于给定的线性可分训练数据集,首先求对偶问题 (7.5) 的解 α ;再利用 (7.5) 求得原始问题 (7.1) 的解 (w,b) ,从而得到分离超平面及分类决策函数 (7.7)
对于新点 x 的预测,只需要计算x与训练数据点的內积即可,并且只需要计算和 αi>0 对应的样本点 xi 的內积, αi>0 对应的样本点就是支持向量,数目很少。
当前还需要解决的问题是求对偶最优化问题 (7.5) 的解 α α 向量中分量的个数等于样本的个数 N ,使用SMO算法求解该问题。

3. 支持向量

支持向量有两种解释,一种是直观的解释,一种是和对偶最优化问题的解α联系起来了。

3.1 支持向量和间隔边界

在线性可分的情况下,训练数据集中的样本点与分离超平面距离最近的样本点的实例称为支持向量。支持向量是使原始约束最优化问题 (7.1) 的约束条件式等号成立的点,即:

yi(wxi+b)1=0

对于 yi=+1 的正例点,支持向量在超平面 H1 上: H1:wx+b=1
对于 yi=1 的负例点,支持向量在超平面 H2 上: H1:wx+b=1
H1 H2 上的点就是支持向量。 H1 H2 平行,且没有实例点落在它们中间,在 H1 H2 之间形成了一条长带,分离超平面与它们平行且位于它们中央。长带的宽度,即 H1 H2 之间的距离称为间隔,间隔依赖于分离超平面的法向量 w ,等于2w。如果 H1 H2 均平行后移,分离超平面不会发生任何改变,但是其参数 (w,b) 会按比例改变,导致 2w 改变,即间隔发生了变化。
在决定分离超平面时,只有支持向量起作用,其他实例点无任何作用,这也是该模型被称为支持向量机的原因。支持向量的个数一般很少,所以支持向量机是由很少的“重要的”训练样本确定。

3.2 支持向量和对偶最优化问题的解 α

在线性可分支持向量机中,由式 (7.6) 可知, (w,b) 只依赖于训练数据中对应于 αi>0 的样本点 (xi,yi) ,而其他样本点对 (w,b) 没有影响,将训练数据中对应于 αi>0 的实例点 (xi,yi) 称为支持向量。
支持向量一定在间隔边界上,由KKT互补条件可知:

αi(yi(wxi+b)1)=0,i=1,2,,N

对应于 αi>0 的实例点 (xi,yi) ,则有:
yi(wxi+b)1=0

(xi,yi) 一定在间隔边界上,和前面的的支持向量定义是一致的。
同时可以得出,非支持向量对应的 αi=0 ,因为 yi(wxi+b)1>0 ,故 αi=0

参考:http://blog.pluskid.org/?page_id=683

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值