吴恩达机器学习之最优间隔分类器

来源:互联网 发布:程序员过关 编辑:程序博客网 时间:2024/06/10 08:53

最优间隔分类器

定义目标函数:
hw,b=g(wTx+b)g(z)={10z0z<0y{1,1}
定义函数间隔:
Υi=yi(wTxi+b)
定义几何间隔:
Υi=yi(wTwxi+bw)
那么有:Υi=Υiw,函数间隔会随着wb的改变而变化,而几何间隔则是不变得,最优间隔分类器的目的就是使几何间隔最大化

目标1. maxΥ,w,bΥ  s.t. yi(wTwxi+bw)Υ
目标2. maxΥ,w,bΥw  s.t. yi(wTxi+b)Υ
目标3. minww2s.t. yi(wTxi+b)1(令Υ1=1)

由于这两种优化问题都是非凸优化,因此不会收敛到全局最小值,只会收敛到局部最小值,要用对偶问题来解答。

拉格朗日乘数法

目标函数定义:
minwf(w) s.t. hi(w)=0
定义拉格朗日算子
L(w,β)=f(w)+iβihi(w)
令偏导数等于0:
L(w,β)w=0L(w,β)β=0
如果w是解,那么存在β,使得:
L(w,β)w=0L(w,β)βi=0

广义拉格朗日乘数法

目标函数定义:
minwf(w) s.t. gi(w)0,hi(w)=0
定义广义拉格朗日算子
L(w,α,β)=f(w)+iαigi(w)+iβihi(w)
定义:θp(w)=maxα,βL(w,α,β)
θp(w)={f(w)gi(w),hi(w)otherwise
那么原始问题定义为:
p=minwθp(w)=minwmaxα,βL(w,α,β)
拉格朗日乘数法的原理可以参考下面这篇文章http://blog.csdn.net/z_x_1996/article/details/71705650

对偶问题

定义:
θD(α,β)=minwL(w.α,β)
它的对偶问题是:
d=maxα0,βθD(α,β)=maxα0,βminwL(w,α,β)
一般来说,对偶问题的解小于等于原始问题的解,即dp
如果想将原始问题转化为对偶问题来解,也就是要证明在什么情况下d=p


  1. 假设f为凸函数
  2. 假设hi(w)是仿射函数(仿射函数是指自变量最高次数为1的多项式函数)
  3. 存在w,对于所有的igi(w)<0

那么存在w,α,β,使得:L(w,α,β)w=0L(w,α,β)β=0
其中w是原始问题的解,α,β是拉格朗日乘数,是对偶问题的解
KKT互补条件:
αigi(w)=0gi(w)0αi0
如果αi>0gi(w)=0,通常有αi0gi(w)=0
对偶问题可以参考下面这篇文章
http://blog.csdn.net/x3886321/article/details/19128441

SVM的最优间隔分类器

拉格朗日常数αi,βi变成αi,参数w变成w,b
目标函数定义为:
min12(w)2s.t. yi(wTxi+b)1
gi(w,b)=yi(wTxi+b)+10αi>0gi(w,b)=0yi(wTxi+b)=1
我们将函数间隔为1的样本称为支持向量,这也就是支持向量机的来源。
拉格朗日算子:
L(w,b,α)=12w2i(yi(wTxi+b)1)
定义:
θD(α)=minw,bL(w,b,α)
L(w,b,α)α=wiαixiyi=0w=iαixiyi
L(w,b,α)b=iαiyi=0
L(w,b,α)=12wwTiαi(yi(wTxi+b)1)
=12ijαiαjyiyj<xi,xj>ijαiαjyiyj<xi,xj>+iαi
iαi12ijαiαjyiyj<xi,xj>W(α)
对偶问题:
maxαW(α)s.t. αi0iyiαi=0
所以目标函数为:
hw,b(x)=g(wTx+b)=g(iαiyi<xi,x>+b)
这样,我们就把转化变量变为了α,然后通过上面ω与α的关系便可以求出ω,ω求出来后,b也可以很容易的得到为:
b=mini,yi=1wTxi+maxi,yi=1wTxi2
具体的原理可以参考这篇文章http://blog.csdn.net/z_x_1996/article/details/72763904

阅读全文
0 0
原创粉丝点击