机器学习笔记(三) 支持向量机 原型、对偶问题

零、摘要

本篇文章讲述支持向量机的原型与他的拉格朗日对偶问题

主要参考资料:

  • 斯坦福大学 CS229 笔记 吴恩达
  • 《机器学习》周志华
  • 《机器学习实战》peter Harrington
  • 《高等数学》同济大学
  • 《微积分学教程》【俄】菲赫金格尔茨
  • 维基百科 支持向量机

一、原型

支持向量机(support vector machine)处理的是分类问题。首先,我们考虑这样一个问题,二维平面上有两个点集,要画一条一维直线把他们分开。
这里写图片描述
如图,A是给定的点集,B,C,D分别尝试用一条直线分开。直观来看,D中的直线比B,C中的要更合理一些。支持向量机算法就是要求得这一最为合理的直线。点集中距离这条直线最近的那些点被称作支持向量

这里,我们的输入属性值共有两种(二维点集),我们可以将分割的概念推广到高维空间中去。已知二维的点集可以用一维的直线分开(假定点集是线性可分的),那么在同样的假定下,三维空间中的点集可以用二维的平面分开,n维空间中的点集可以用n-1维的“平面”分开。由于人类无法直观感受到三维以上的空间,我么这些情形,统一把这“平面”称作超平面

在n维空间中,要描述这样一个超平面,我们可以写:

wTx+b=0w=(w1;w2;.......:wn)wTx+b=0,其中法向量w=(w1;w2;.......:wn)

我们对于一个样本点x,当 wTx+b>0wTx+b>0时,就预测他为正类, wTx+b<0wTx+b<0时,就预测他为反类(这里只讨论二元分类)。
同时,我们有m个训练样本,对应于上图中的m个点。m个点中第i个点有属性 yiyi,即该点是方块还是圆圈。

有了这些符号的定义,我们可以写出支持向量机的原型/基本型:

minwb1/2||w||2s.t. yi(wTxi+b)1i=1,2,...,mminwb1/2||w||2s.t. yi(wTxi+b)≥1,i=1,2,...,m

即在对于每一个样本点满足条件y(wTx+b)1y(wTx+b)≥1的情况下,通过最小化1/2||w||21/2||w||2来求得参数w,bw,b
下面我们将从零开始推导这两行的问题原型。

首先,我们考虑什么样的超平面分割效果最好?
这里写图片描述
我们看到,D中直线和两个类别的点集的轮廓接近平行,换句话说,它离各个属性点集的最小距离最大。推广到高维空间就是最佳超平面与各个属性点集的最小距离最大。这样的超平面产生的分类结果是最为鲁棒的,对未见样本的泛化性能更强。那么现在,事情就转化成了,先求处最小距离表达式,再求这式取最大值时w,b的值。

我们先求任意点到超平面距离的表达式。
这里写图片描述
我们有这张示意图,即在二维空间中的情形(我么可以毫不费力地将下面的结果推广到高维空间)。注意两坐标轴都标为x,这是因为竖轴也是用来表示样本点坐标,而在这个问题中我们用y来表示样本点的属性(上图中就有y=红色或y=绿色)。

同样在上图中,我们用A来标记某一个(任意一个)样本点xixi,而B点是通过A点向超平面作垂线与超平面的交点。我们还有超平面的法向量w,因此,w/||w||w/||w||就是法向量方向上的单位向量。
我们令,|AB|=γi|AB|=γi,可以得到B点坐标为xiγiw/||w||xi−γiw/||w||,同时,点B在超平面上,满足超平面方程wTx+b=0wTx+b=0,将点B坐标带入超平面方程,移项,解得|AB|=γi=|wTxi+b|/||w|||AB|=γi=|wTxi+b|/||w||

但存在一个问题,对于上图中的A我们得到的距离是正值,然而对于绿色的点,距离就变成了负值。回想我们的目的是要对这些距离的值进行计算,这符号相异的情形令人十分烦躁。于是我们将两个属性的点的y值分别标记为1和-1,然后在进行距离计算之后,所得距离乘以这个y值,即γi=yi|wTxi+b|/||w||γi=yi|wTxi+b|/||w||。这时,我们就有了任意样本点与超平面几何距离的一般表达式。

回想我们是想要最小距离最大化,那么现在我们可以直接写:

arg maxwb{ minnγi}=arg maxwb{ minnyi|wTxi+b|/||w||}arg maxwb{minnγi}=arg maxwb{minnyi|wTxi+b|/||w||}

或者,等价地:
maxγwb(γ)s.t. yi(|wTxi+b|/||w||)γi=1,2,...,mmaxγwb(γ)s.t. yi(|wTxi+b|/||w||)≥γ,i=1,2,...,m

即在确定 γγ是最小值的情况下(第二行),求他的最大值。我们看到,这时我们得到的就与原型至少在结构上很接近了:
minwb1/2||w||2s.t. yi(wTxi+b)1i=1,2,...,mminwb1/2||w||2s.t. yi(wTxi+b)≥1,i=1,2,...,m

但是直接求解我们得到的问题相当困难(非凸优化),我们需要对这个问题进行最后的等价转换,使他称为相对更容易求解的原型。

回想,对于一个样本点x,当wTx+b>0wTx+b>0时,就预测他为+1,wTx+b<0wTx+b<0时,就预测他为-1(跃迁函数)。那么当w和b同时乘以一个大于零的乘数因子时,预测结果不会改变。所以说我们有自由缩放w,b的权利,因此我们不妨限制整个样本集中与超平面距离最小的距离为γγ=1。我们由此得到:

maxγwb(γ)s.t. yi(wTxi+b)1i=1,2,...,mmaxγwb(γ)s.t. yi(wTxi+b)≥1,i=1,2,...,m

第二行已经于原型完全相同,我们再来关注第一行。回想我们对γγ的定义γ=y|wTxi+b|/||w||γ=y|wTxi+b|/||w||,最大化γγ等价于最小化||w||||w||等价于最小化||w||2||w||2。为了求导方便,我们增加1/2的乘积因子。所以我们最终得到了支持向量机的原型:

minwb1/2||w||2s.t. yi(wTxi+b)1i=1,2,...,mminwb1/2||w||2s.t. yi(wTxi+b)≥1,i=1,2,...,m

第二行求出所有距离中的最小值,第一行求他的最大值,我们想获得取最大值时参数w和b的值。

二、条件极值与拉格朗日对偶问题

1.二元函数的情形

我们发现,我们刚刚得到的支持向量机的原型问题是一个凸二次规划问题,能直接用现成的优化计算包来求解,但我们可以导出更加高效的方法。即将原型转化为拉格朗日对偶问题求解。

我们看到,我们的原型属于一个条件极值问题,即在yi(wTxi+b)1yi(wTxi+b)≥1的条件下,求1/2||w||21/2||w||2的极值,现在我们来研究这种问题的解决方法。

我们考虑这样一个问题:寻求函数

z=f(x1,x2)          (1.1)z=f(x1,x2)          (1.1)
在满足条件
ϕ(x1,x2)          (1.2)ϕ(x1,x2)          (1.2)
时的极值点。

首先,假设函数(1.1)在(x01,x02)(x10,x20)取得极值,那么显然这点需要满足条件(1.2),即有

ϕ(x01,x02)=0          (1.3)ϕ(x10,x20)=0          (1.3)

接下来,为了使用隐函数存在定理,我们做如下假定:

  • (x01,x02)(x10,x20)的某一邻域内f(x1,x2)ϕ(x1,x2)f(x1,x2)、ϕ(x1,x2)都有连续的一阶偏导数
  • ϕx2(x01,x02)ϕx2(x10,x20)即该函数关于x2x2的偏导数不为零

则由隐函数存在定理

设函数ϕ(x1,x2)ϕ(x1,x2)在点(x01,x02

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值