如果您想体验更好的阅读:请戳这里littlefish.top
函数间隔和几何间隔
给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为
w\*⋅x+b\*=0w\*⋅x+b\*=0
以及相应的分类决策函数
f(x)=sign(w\*⋅x+b\*)f(x)=sign(w\*⋅x+b\*)
称为线性可分支持向量机。
对于给定训练集合T和超平面(w,b)(w,b),定义超平面(w,b)(w,b)关于样本点(xi,yi)(xi,yi)的函数间隔为
γ^i=yi(w⋅xi+b)γ^i=yi(w⋅xi+b)
定义超平面(w,b)(w,b)关于训练数据集T的函数间隔为超平面(w,b)(w,b)关于T中所有样本点(xi,yi)(xi,yi)的函数间隔之最小值,
γ^=mini=1,...,Nγ^iγ^=mini=1,...,Nγ^i
对于给定的训练数据集和超平面(w,b)(w,b),定义超平面(w,b)关于(w,b)关于样本(xi,yi)(xi,yi)的几何间隔为
γ^i=yi(w||w||⋅xi+b||w||)γ^i=yi(w||w||⋅xi+b||w||)
定义超平面(w,b)(w,b)关于训练数据集T的几何间隔为超平面(w,b)(w,b)关于T中所有样本点(xi,yi)(xi,yi)的几何间隔之最小值
γ=mini=1,...,Nγiγ=mini=1,...,Nγi
从而得到几何间隔和函数间隔的关系:
γ=γ^i||w||γ=γ^i||w||
间隔最大化
对数据集合找到几何间隔最大的超平面意味着以充分大的确信度来对训练数据进行分类。
最大化超平面可表示为:
maxw,bγs.t.yi(w||w||⋅xi+b||w||)≥γ,i=1,...,Nmaxw,bγs.t.yi(w||w||⋅xi+b||w||)≥γ,i=1,...,N
即最大化超平面(w,b)(w,b)关于训练结合的间隔γγ,约束条件表示的超平面(w,b)(w,b)关于每个训练样本点的几何间隔至少为γγ。
而函数间隔对于上述公式并没有影响,假设按比例改变为λwλw和λbλb,那么函数间隔改变为λγ^λγ^
改变为相应的函数距离,如下
maxw,bγ^||w||s.t.yi(w⋅xi+b)≥γ^,i=1,...,Nmaxw,bγ^||w||s.t.yi(w⋅xi+b)≥γ^,i=1,...,N
由于分母和分子同时拥有λλ,因此成比例改变并不会对函数间隔产生影响,从而对目标函数的优化也没有影响。
令γ^γ^=1,代入上式,最大化1||w||1||w||等价于最小化12||w||12||w||,从而得到线性可分支持向量机学习的最优化问题
minw,b12||w||2s.t.yi(w⋅xi+b)−1≥0,i=1,2,...,Nminw,b12||w||2s.t.yi(w⋅xi+b)−1≥0,i=1,2,...,N
这是一个凸二次规划问题。
支持向量
在线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量(support vector),即
yi(w⋅xi+b)=1yi(w⋅xi+b)=1
对于y=+1的正例来说,支持向量在超平面
H1:w⋅x+b=1H1:w⋅x+b=1
对于y=-1的负例来说,支持向量在超平面
H2:w⋅x+b=−1H2:w⋅x+b=−1
如图中, H1和H2平行,之间形成一条长带,其宽度为2||w||2||w||。在决定分离超平面时只有支持向量起作用,而其他实例点并不起作用,如果移动支持向量改变所求的解,但是如果在间隔边界(H1和H2)以外移动其他实例点,解都不会发生改变。
对偶算法
为了求解线性可分支持向量机的最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到最优解。
定义拉格朗日函数:
L(w,b,α)=12||w||2−∑_i=0nα_iy_i(w⋅x_i+b)+∑_i=1Nα_iL(w,b,α)=12||w||2−∑_i=0nα_iy_i(w⋅x_i+b)+∑_i=1Nα_i
其中,α=(α_1,α_2,...,α_N)Tα=(α_1,α_2,...,α_N)T为拉格朗日乘子向量。
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题需要先求L(w,b,α)L(w,b,α)对(w,b)求极小,再对αα求极大:
max_αmin_w,bL(w,b,α)max_αmin_w,bL(w,b,α)
- min_w,bL(w,b,α)min_w,bL(w,b,α)
分别对w,b,αw,b,α求偏导数,并令其等于0,将结果带入原公式中即得
min_w,bL(w,b,α)=−12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)+∑_i=1Nα_imin_w,bL(w,b,α)=−12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)+∑_i=1Nα_i
- 求min_w,bL(w,b,α)min_w,bL(w,b,α)对αα的极大
max_α−12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)+∑_i=1Nα_is.t.∑_i=1Nα_iy_i=0,α_i>0,i=1,2,...,Nmax_α−12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)+∑_i=1Nα_is.t.∑_i=1Nα_iy_i=0,α_i>0,i=1,2,...,N
等价于:
min_α12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)−∑_i=1Nα_is.t.∑_i=1Nα_iy_i=0,α_i>0,i=1,2,...,Nmin_α12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)−∑_i=1Nα_is.t.∑_i=1Nα_iy_i=0,α_i>0,i=1,2,...,N
线性可分支持向量机学习算法
(1)构造并求解约束最优化问题
min_α12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)−∑_i=1Nα_is.t.∑_i=1Nα_iy_i=0,α_i>0,i=1,2,...,Nmin_α12∑_i−=1N∑_j−=1Nα_iα_jy_iy_j(x_i⋅x_j)−∑_i=1Nα_is.t.∑_i=1Nα_iy_i=0,α_i>0,i=1,2,...,N
(2)计算
w\*=∑i=1Nα\*iyixiw\*=∑i=1Nαi\*yixi
并选择α\*α\*的一个正分量α\*jαj\*,计算
b\*=y_i−∑i=1Nα\*iyi(xi⋅xj)b\*=y_i−∑i=1Nαi\*yi(xi⋅xj)
(3)求得分离超平面
w\*⋅x+b\*=0w\*⋅x+b\*=0
分类决策函数
f(x)=sign(w\*⋅x+b∗\)f(x)=sign(w\*⋅x+b∗\)
本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012