Andrew Ng - SVM【2】一步步迈向核函数——拉格朗日、原问题与对偶问题

这篇博客深入探讨了支持向量机(SVM)中的拉格朗日对偶规划,解释了KKT条件在求解约束优化问题中的作用,并阐述了最优间隔分类器的概念。通过分析原问题与对偶问题,阐述了SVM如何找到最佳分类超平面。

Andrew Ng - SVM【2】一步步迈向核函数


1. 拉格朗日对偶规划

暂且撇开SVM和最大间隔分类器不管(当然不是真的不管),我们先来讨论一个在一定约束条件下的优化问题:


minωf(ω)s.t.hi(ω)=0,i=1,...,l


则该问题对应的拉格朗日函数为:

L(ω,β)=f(ω)+li=1βihi(ω)

βi我们叫做拉格朗日乘数,接着我们令L偏导为零:

Lωi=0;Lβi=0,

便可以求出ωβ
对于更一般化的约束问题,除了等式约束条件以外,我们还要加入不等式约束条件,称之为原问题,表达式如下:

minωf(ω)s.t.gi(ω)0,i=1,...,k   hi(ω)=0,i=1,...,l


该问题对应的拉格朗日函数为:

L(ω,α,β)=f(ω)+ki=1αigi(ω)+li=1βihi(ω)

αiβi我们叫做拉格朗日乘数,假设有如下等式:

θP(ω)=maxα,β:αi0L(ω,α,β).

这里下标P用来指代原优化问题。给定一些ω,如果ω违反了拉格朗日的任意约束条件(存在gi(ω)>0或者hi(ω)0),θP(ω)=;相反,如果所有约束条件满足,则θP(ω)=f(ω)。因此:

θP(ω)={f(ω)ω.

所以当我们需要最小化(为什么是最小化?后边会有答案)θP(ω)的时候,即:

minwθP(ω)=minwmaxα,β:αi0L(ω,α,β).

为什么要最小化呢,因为最小化θP(ω)是我们的原问题(如果你还记得minωf(ω))。为了方便后边的使用,我们这里令p=minwθP(ω),并称之为原优化问题
然后我们来看另一个问题,定义:

θD(α,β)=minωL(ω,α,β).

在原优化问题中,我们求的是α,β为参函数的最大值,而在对偶问题(见上式)中,我们是对以ω为参的式子求最小值,其对应的对偶优化问题为:

maxα,β:αi0θD(α,β)=maxα,β:αi0minωL(ω,α,β).

很明显除了minmax的顺序之外,原优化问题和对偶优化问题长得是一模一样。对于对偶优化问题,我们定义d=maxα,β:αi0θD(ω)。到这一步,大家肯定都很奇怪我们上边做了那么多是为了什么,dp有关系吗?下边就是关系!

d=maxα,β:αi0minωL(ω,α,β)minwmaxα,β:αi0L(ω,α,β)=p.

而且,在一些特定的条件(KKT条件,这个可以参见凸优化问题的相关资料自行了解)下,我们甚至可以得到d=p,所以我们可以将求解原优化问题转化为求解对偶优化问题。

2. KKT条件

假设fgi都是凸函数,hi是仿射函数,进一步假设gi是可执行的;也就是存在ω使所有的gi<0。在上述假设都满足的情况下,必然会有一些奇葩的事情要发生。ω为原最优问题的解;α,β为对偶优化问题的解;而且p=d=L(ω,α,β)而且ω,α,β满足Karush-Kuhn-Tucker(KKT)条件:


L(ω,α,β)ωi=0,i=1,...,nL(ω,α,β)βi=0,i=1,...,lαigi(ω)=0,i=1,...,kgi(ω)0,i=1,...,k   α0,i=1,...,k


如果ω,α,β满足KKT,那么ω,α,β为原优化问题和对偶优化问题的解。注意标红的条件我们称之为KKT对偶互补条件,其告诉我们,如果αi>0,则gi(ω)=0,这个点将是我们稍后认识SVM中支撑向量的钥匙;也是之后SMO算法在收敛测试时的一个重要条件。

3. 最优间隔分类器

在前面的篇幅中,为了寻找最优间隔分类器,我们提出了如下的原优化问题:


minγ,ω,b12||ω||2s.t.y(i)(ωTx(i)+b)1,i=1,...,m


为了描述问题,我们把约束条件改写一下:

gi(ω)=y(i)(ωTx(i)+b)+10

在讨论KKT互补条件的时候,我们说过只有在gi(ω)=0(即函数间隔为1)的时候αi>0,那么看下图:

这里写图片描述

实线是最大间隔分割超平面。而有最小间隔的点应该是离超平面最近的点(函数间隔为1);这样的点图上有三个(画圈的)。所以只有这三个点对应的gi(ω)=0,相应的,也只有这三个点对应的αi>0,我们称这样的点为支撑向量(实际上就是落在函数间隔为1的超平面上的样本点)。由图上清晰可见支撑向量的数量相对于整个训练集实际上是很少的。
引入点积x(i),x(j),即(x(i))Tx(j)的另一种写法,因为这种写法将让我们认识到什么叫做核方法!mark一下。然后构建优化问题的拉格朗日函数:

L(ω,b,α)=12||ω||2mi=1αi[y(i)((ω)Tx(i)+b)1]

因为优化问题中只有不等式约束条件,所以拉格朗日函数中只有αi而没有βi。那么该问题的对偶形式是什么呢?为给出对偶形式,我们先关于ωb最小化L(ω,b,α),即先关于ωL的偏导:

ωL(ω,b,α)=ωmi=1αiy(i)x(i)=0

由此可以得出:

ω=mi=1αiy(i)x(i)

再关于bL的偏导:

L(ω,b,α)b=mi=1αiy(i)=0

将得到的ω的等式带回原问题并化简,我们可以得到原问题的对偶优化问题

maxαW(α)=i=1mαi12i,j=1my(i)y(j)α(i)α(j)x(i),x(j). s.t.αi0,i=1,...,m   i=1mαiy(i)=0


实际上,可以证明我们的优化问题满足d=p需要的条件,同时也满足KKT条件,因此我们可以通过求解对偶优化问题来求解原优化问题。而且明显可以看出我们上述的对偶优化问题是一个以αi为参的函数最大值的求解问题。α都求出来,问题解决!NO!暂且让我们把求α的高端算法放一放。假设已经求得了所要优化问题的α,因为y(i)x(i)都是已知的,所以我们很轻松的搞定ω,在得到ω之后,截距b的求法如下:

b=maxi:y(i)=1ωTx(i)2.

为了进一步给核函数铺垫一下,对于上边绿色的求ω的式子我有话说!假设我们用一个训练集训练了这个模型,现在要去预测一个新的点x,计算ωT+b,如果大于1则y=1但是!但是!通过绿色的等式,这玩意还可以这样预测:

ωT+b=(i=1mαiy(i)x(i))Tx+b =i=1mαiy(i)x(i),x+b.


为什么要有内积的出现呢?留一手!注意上边的式子中,记得我们曾提起过一个概念叫支撑向量,对于上边的式子来说,除了支撑向量对应的αi以外,其他的αi均为0,而支撑向量又比较!!!求和中的许多项都为0!!!这就很大程度上减少了我们的计算量。关于内积,其实是核函数中极为重要的一环,而通过核函数,可以提高我们的计算效率(即使在高维甚至无限维)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值