约束极值、SVM的总结

来源:互联网 发布:ipad刷mac系统 编辑:程序博客网 时间:2024/05/21 23:34

总结约束极值的基本内容以及SVM的基础知识,包含KKT条件

下降方向和可行方向

一般来讲,我们遇到的约束极值问题可以描述如下:

minf(x)hi(x)=0i=1,2,...,mgi(x)0j=1,2,...,l(1)

或者描述如下:

{minf(x)gi(x)0j=1,2,...,l(2)

(可以理解为gi(x)0以及gi(x)0)

对于上述问题,我们可以假定有一个方向D,使得:

f(xk+λD)<f(xk)gj(xk+λD)gj(xk)

对上述公式进行Taylor展开,那么会有:

f(xk+λD)=f(xk)+λDf(xk)+o(λ)gj(xk+λD)=gj(xk)+λDgj(xk)+o(λ)

因为λ>0,因此上述公式可以去掉λ,就变为了下面公式:

Df(xk)<0Dgj(xk)>0(3)

上述公式前者代表下降方向,后者代表可行方向。

KKT条件

我们假设一个点X是极小值点,那么当这个点处于可行域内部,那么是无约束极值问题;如果是在可行域边界,那么就是约束极值问题了。

现假设X只有一个起作用的约束,即g1(X)=0,那么g1(X)必然和f(X)在一条直线上并且方向相反。否则,这个点就存在下降方向(图中的点X即为可行下降方向)。

这里写图片描述

因此在上述条件下,有:

f(X)γ1g1(X)=0

以此类推,就会有如下内容:

f(X)j=1lγjgj(X)=0γjgj(X)=0j=1,2,...,lγj0j=1,2,...,l(4)

上述式即为KKT条件,其中γj即为广义拉格朗日乘子。

f(X)lj=1γjgj(X)=0这个公式是对拉格朗日函数求微分得到的,拉格朗日函数可以表述如下:

L(X,γ)=f(X)γg(X)=f(X)j=1lγjgj(X)(5)

SVM分类器基本内容

xi,i=1,2,...,N是训练集X中的特征向量,这些向量来自于类o1和类o2,假设线性可分。我们的目的是得到一个超平面,将所有训练样本分类正确:

g(x)=ωTx+ω0=0(6)

由于线性可分,所以必定能找到一个超平面,使得两类之间的间隔最大。通过点到直线距离公式,我们可以得到这个间隔的为:

z=g(x)ω

我们等比例的缩放ω,满足下列条件即可:

ωTx+ω01xω1ωTx+ω01xω2

其中,距离间隔最近的点的g(x)值为1或-1。因此根据上面的内容,可以将任务概述为计算超平面的参数ωω0,约束极值问题如下:

minJ(ω,ω0)=12ω2yi(ωTx+ω0)1,i=1,2,...,N(7)

设拉格朗如函数如下:

L(ω,ω0,λ)=12ωTωi=1Nλi[yi(ωTx+ω0)1](8)

根据KKT条件,极小值点需要满足如下条件:

ωL(ω,ω0,λ)=0ω0L(ω,ω0,λ)=0λi0,i=1,2,...,Nλi[yi(ωTxi+ω0)1]=0,i=1,2,...,N(9)

通过前两个式子,我们可以得到:

ω=i=1Nλiyixi(10)

一般到这里的话就需要求得拉格朗日乘子的值就可以得到相应解了,不过从计算的角度来看,这并不容易,因此我们可以通过求凸规划问题的对偶问题来解决计算问题,即将问题等价为其Wolfe双重表示形式,即变为:

maxL(ω,ω0,λ)i=1Nλiyi=0λi0(11)

0 0
原创粉丝点击