您的位置:首页 > 其它

支持向量机之对偶学习算法(二)

2015-08-22 10:16 330 查看
接上节

这里讲的是支持向量机的拉格朗日对偶学习算法\color{Red}{对偶学习算法}

对偶学习算法
拉格朗日对偶性问题
原问题

对偶问题

原始问题与对偶问题的关系

KKT条件

对偶学习算法接上
求解colorRedwb

线性可分支持向量机学习算法

支持向量

对偶学习算法

上节的问题是:

minw,b12||w||2\color{Red}{\underset {w,b}{min} \frac{1}{2}||w||^2}

s.t.yi(wxi+b)−1≥0,i=1,2,...,N\color{Red}{s.t. y_i(wx_i+b)-1 \geq 0,i=1,2,...,N}

需要求解的是:w,b\color{Red}{w,b}

构建拉格朗日函数(Lagrange function),设对不等式约束的拉格朗日乘子(Lagrange multiplier)是αi≥0,i=1,2,...,N\color{Red}{\alpha {_i} \geq0,i=1,2,...,N}

拉格朗日函数是:

L(w,b,α)=12||w||2−∑Ni=1αiyi(wxi+b)+∑Ni=1αi\color{Red}{L(w,b,\alpha ) = \frac{1}{2}||w||^2 - \sum_{i=1}^N\alpha {_i}y_i(wx_i+b) + \sum_{i=1}^N \alpha _{i}}

其中,α=(α1,α2,α3,...,αN)T\color{Red}{\alpha =(\alpha _1,\alpha_2,\alpha _3,...,\alpha _N)^T}为拉格朗日乘子向量。

拉格朗日对偶性问题

原问题

假设f(x),ci(x),hj(x)是定义在Rn上的连续可微函数,考虑约束问题:f(x),c_i(x),h_j(x)是定义在R^n上的连续可微函数,考虑约束问题:

minxϵRnf(x)\color{Red}{\underset {x\epsilon R^n}{min}f(x)}

s.t.ci(x)≤0,i=1,2,...,k\color{Red}{s.t.c_i(x) \leq0,i=1,2,...,k}

hj(x)=0,j=1,2,...,l\color{Red}{h_j(x)=0,j=1,2,...,l}

称此约束最优化问题为原始最优化问题或者原始问题.

对于广义拉格朗日函数(generalized Lagrange function):

L(x,α,β)=f(x)+∑ki=1αici(x)+∑lj=1βjhj(x)\color{Red}{L(x,\alpha,\beta ) = f(x)+\sum_{i=1}^k\alpha_ic_i(x)+\sum_{j=1}^l\beta_jh_j(x)}

这里x=(x(1),...,x(n))TϵRn,αi,βj是拉格朗日乘子,αi≥0x=(x^{(1),...,x^{(n)}})^T \epsilon R^n,\alpha_i,\beta_j是拉格朗日乘子,\alpha_i \geq0

考虑关于函数

θP(x)=maxα,β,αi≥0L(x,α,β)\color{Red}{ \theta _P(x) = \underset {\alpha,\beta,\alpha_i\geq0}{max}L(x,\alpha,\beta)}

下标PP表示原问题

对于某个违反约束条件的 xx,存在 ii使得ci(w)≻0c_i(w) \succ 0或者存在jj使得hj(w)≠0h_j(w) \neq 0,就可是θP(x)\theta_P(x)趋向于无穷大。

也就是说:

当存在ii使ci(x)≻0c_i(x) \succ0,令αi→\alpha_i \rightarrow 无穷大,其他的α==0\alpha==0.

当存在jj使得hj(x)≠0h_j(x) \neq 0 存在βj\beta_j使得 βjhj(x)→\beta_jh_j(x) \rightarrow 无情大,其他的β==0\beta==0

上面两个情况都可能使得θP(x)→\theta_P(x) \rightarrow 无穷大

若xx满足约束条件则θP(x)=f(x)\color{Red}{\theta_P(x) = f(x)}

即:



考虑极小化问题

minxθP(x)=minxmaxα,β;αi≥0L(x,α,β)\color{Red}{\underset{x}{min} \theta_P(x) = \underset{x}{min} \underset{\alpha,\beta;\alpha_i \geq0}{max}L(x,\alpha,\beta)}

minxmaxα,β;αi≥0L(x,α,β)称为广义拉格朗日函数的极小极大问题\color{Red}{ \underset{x}{min} \underset{\alpha,\beta;\alpha_i \geq0}{max}L(x,\alpha,\beta)称为广义拉格朗日函数的极小极大问题}

原始问题的最优值:p∗=minxθP(x)\color{Red}{p^*=\underset{x}{min}\theta_P(x)}

对偶问题

定义 :

θD(α,β)=minxL(x,α,β)\color{Red}{ \theta _D(\alpha,\beta) = \underset {x}{min}L(x,\alpha,\beta)}

在考虑极大化问题:

maxα,β;αi≥0θD(α,β)=maxα,β;αi≥0minxL(x,α,β)\color{Red}{\underset{\alpha,\beta;\alpha_i \geq0}{max} \theta_D(\alpha,\beta)=\underset{\alpha,\beta;\alpha_i \geq0}{max} \underset {x}{min}L(x,\alpha,\beta)}

问题maxα,β;αi≥0minxL(x,α,β)称为广义拉格朗日函数的极大极小问题\color{Red}{\underset{\alpha,\beta;\alpha_i \geq0}{max} \underset {x}{min}L(x,\alpha,\beta)称为广义拉格朗日函数的极大极小问题}

对偶问题的最优值;d∗=maxα,β;αi≥0θD(α,β)\color{Red}{d^*=\underset{\alpha,\beta;\alpha_i \geq0}{max} \theta_D(\alpha,\beta)}

原始问题与对偶问题的关系

1.原始问题的最优值等于对偶问题的最优值

2.原始问题最优值时候的最优解也是对偶问题的最优解

KKT条件

设函数f(x)和ci(x)f(x)和c_i(x)是吐函数,hj(x)h_j(x)是放射函数,不等式约束ci(x)c_i(x)是严格可行的,则x∗,α∗,β∗x^*,\alpha^*,\beta^*分别是原始问题和对偶问题的解的充分必要条件是x∗,α∗,β∗x^*,\alpha^*,\beta^*满足下列条件:

▽xL(x∗,α∗,β∗)=0\color{Red}{\bigtriangledown _xL(x^*,\alpha^*,\beta^*)=0}

▽αL(x∗,α∗,β∗)=0\color{Red}{\bigtriangledown _{\alpha}L(x^*,\alpha^*,\beta^*)=0}

▽βL(x∗,α∗,β∗)=0\color{Red}{\bigtriangledown _{\beta}L(x^*,\alpha^*,\beta^*)=0}

α∗ici(x∗)=0,i=1,2,3,...,k\color{Red}{\alpha_{i}^*c_i(x^*)=0},i=1,2,3,...,k

ci(x∗)≤0,i=1,2,3,...,k\color{Red}{c_i(x^*)\leq0},i=1,2,3,...,k

α∗i≥0,i=1,2,3...,k\color{Red}{\alpha_i^* \geq 0},i=1,2,3...,k

hj(x∗)=0,j=1,2,...,l\color{Red}{h_j(x^*)=0},j=1,2,...,l

关于KKT的一个例子

更多对偶问题的连接

对偶学习算法(接上)

下面继续

原始问题的对偶问题是极大极小问题:

maxαminw,bL(w,b,α)\color{Red}{\underset{\alpha}{max} \underset{w,b}{min}L(w,b,\alpha)}

先求极小化问题,再求极大化问题

(1)求minw,bL(w,b,α)\color{Red}{\underset{w,b}{min}{L(w,b,\alpha)}}

拉格朗日函数是:

L(w,b,α)=12||w||2−∑Ni=1αiyi(wxi+b)+∑Ni=1αi\color{Red}{L(w,b,\alpha ) = \frac{1}{2}||w||^2 - \sum_{i=1}^N\alpha {_i}y_i(wx_i+b) + \sum_{i=1}^N \alpha _{i}}

其中,α=(α1,α2,α3,...,αN)T\color{Red}{\alpha =(\alpha _1,\alpha_2,\alpha _3,...,\alpha _N)^T}为拉格朗日乘子向量。

将拉格朗日函数L(w,b,α){L(w,b,\alpha)}分布对w,b,αw,b,\alpha求偏导数,并令其等于0。

▽wL(w,b,α)=w−∑Ni=1αiyixi=0\color{Red}{\bigtriangledown _wL(w,b,\alpha) = w - \sum_{i=1}^N \alpha_iy_ix_i = 0 }

▽bL(w,b,α)=∑Ni=1αiyi=0\color{Red}{\bigtriangledown_bL(w,b,\alpha)=\sum_{i=1}^N\alpha_iy_i=0}

即:

w=∑Ni=1αiyixi\color{Red}{w = \sum_{i=1}^N\alpha_iy_ix_i}

∑Ni=1αiyi=0\color{Red}{\sum_{i=1}^N\alpha_iy_i=0}

将上市带入拉格朗日函数中,可得到:

L(w,b,α)=12∑Ni=1∑Nj=1αiαjyiyj<xi,xj>−∑Ni=1αiyi(<∑Nj=1αjyjxj,xi>+b)+∑Ni=1αi\color{Red}{L(w,b,\alpha) = \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i \alpha_j y_iy_j -\sum_{i=1}^N\alpha_iy_i(<\sum_{j=1}^N\alpha_jy_jx_j,x_i>+b)+\sum_{i=1}^N \alpha_i}

=−12∑Ni=1∑Nj=1αiαjyiyj<xi,xj>+∑Ni=1αi\color{Red}{- \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i \alpha_j y_iy_j+\sum_{i=1}^N\alpha_i}

说明:

1.<xi,xj>是点乘,对应元素相乘再求和,xi,xjx_i,x_j都是列向量

2.wxwx这里也是点乘的意思,结果是一个数。

(2)求minw,bL(w,b,α)\color{Red}{\underset{w,b}{min}L(w,b,\alpha)}对α\color{Red}{\alpha}的极大值

maxα−12∑Ni=1∑Nj=1αiαjyiyj<xi,xj>+∑Ni=1αi\color{Red}{\underset{\alpha}{max}- \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i \alpha_j y_iy_j+\sum_{i=1}^N\alpha_i}

s.t.∑Ni=1αiyi=0\color{Red}{s.t. \sum_{i=1}^N\alpha_iy_i=0}

αi≥0,i=1,2,...,N\color{Red}{\alpha_i \geq0,i=1,2,...,N}

上面的极大化问题可以转化成极小化问题:

minα12∑Ni=1∑Nj=1αiαjyiyj<xi,xj>−∑Ni=1αi\color{Red}{\underset{\alpha}{min} \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i \alpha_j y_iy_j-\sum_{i=1}^N\alpha_i}

s.t.∑Ni=1αiyi=0\color{Red}{s.t. \sum_{i=1}^N\alpha_iy_i=0}

αi≥0,i=1,2,...,N\color{Red}{\alpha_i \geq0,i=1,2,...,N}

满足KKT\color{Red}{KKT}条件存在最优解α∗=(α∗1,α∗2,...,α∗N)T\alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T

求解w,b\color{Red}{w,b}

设α∗=(α∗1,α∗2,...,α∗N)T\color{Red}{\alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)^T}是对偶问题的最优解,则存在下标j\color{Red}{j},使得α∗j≻0\color{Red}{\alpha_j^* \succ0},则原始问题的最优解:

w∗=∑Ni=1α∗iyixi\color{Red}{w^* = \sum_{i=1}^N\alpha_i^*y_ix_i}

b∗=yj−∑Ni=1α∗iyi<xi,xj>\color{Red}{b^* = y_j-\sum_{i=1}^N\alpha_i^*y_i}

证明:

KKT条件成立:

▽∗wL(w∗,b∗,α∗)=w∗−∑Ni=1α∗iyixi=0\color{Red}{\bigtriangledown _w^*L(w^*,b^*,\alpha^*) = w^* - \sum_{i=1}^N \alpha_i^*y_ix_i = 0 }

▽bL(w∗,b∗,α∗)=∑Ni=1α∗iyi=0\color{Red}{\bigtriangledown_bL(w^*,b^*,\alpha^*)=\sum_{i=1}^N\alpha_i^*y_i=0}

α∗j(yi(<w∗,xi>+b∗)−1)=0,i=1,2,...,N\color{Red}{\alpha_j^*(y_i(+b^*)-1) = 0},i=1,2,...,N

yi(<w∗,xi>+b∗)−1≥0\color{Red}{y_i(+b^*)-1 \geq 0},i=1,2,…,N

α∗i≥0\alpha_i^* \geq 0,i=1,2,…,N

得到: w∗=∑Ni=1α∗iyixi\color{Red}{w^* = \sum_{i=1}^N\alpha_i^*y_ix_i}

之前已经讲过w∗=0w^*=0不是原始问题的最优解

可知道一定存在jj使α∗j≻0\color{Red}{\alpha_j^* \succ 0}

由于α∗j(yj(<w∗,xj>+b∗)−1)=0\color{Red}{\alpha_j^*(y_j(+b^*)-1) = 0}

可知道 yj(<w∗,xj>+b∗)−1=0\color{Red}{y_j(+b^*)-1 = 0}

带入所求的w∗w^*

得到: b∗=yj−∑Ni=1α∗iyi<xi,xj>\color{Red}{b^* = y_j-\sum_{i=1}^N\alpha_i^*y_i}

分离超平面是:

∑Ni=1α∗iyi<x,xi>+b∗=0\color{Red}{\sum_{i=1}^N\alpha_i^*y_i+b^*=0}

分类决策函数:

f(x)=sign(∑Ni=1α∗iyi<x,xi>+b∗)\color{Red}{f(x) = sign(\sum_{i=1}^N\alpha_i^*y_i+b^*)}

线性可分支持向量机学习算法

输入: 线性可分训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\left\{ (x_1,y_1),(x_2,y_2),...,(x_N,y_N)\right\},yϵ(+1,−1)y \epsilon (+1,-1)

输出:分离超平面和分类决策函数

(1)构造并求解约束最优化问题

minα12∑Ni=1∑Nj=1αiαjyiyj<xi,xj>−∑Ni=1αi\color{Red}{\underset{\alpha}{min} \frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\alpha_i \alpha_j y_iy_j-\sum_{i=1}^N\alpha_i}

s.t.∑Ni=1αiyi=0\color{Red}{s.t. \sum_{i=1}^N\alpha_iy_i=0}

αi≥0,i=1,2,...,N\color{Red}{\alpha_i \geq0,i=1,2,...,N}

求得最优解是:α∗=(α∗1,α∗2,α∗3,...,α∗N)T\color{Red}{\alpha^*=(\alpha_1^*,\alpha_2^*,\alpha_3^*,...,\alpha_N^*)^T}

(2)求w∗,b∗w^*,b^*

w∗=∑Ni=1α∗iyixi\color{Red}{w^* = \sum_{i=1}^N\alpha_i^*y_ix_i}

b∗=yj−∑Ni=1α∗iyi<xi,xj>\color{Red}{b^* = y_j-\sum_{i=1}^N\alpha_i^*y_i}

(3)计算分离超平面

分离超平面是:

<w∗,x>+b=0\color{Red}{+b=0}

分类决策函数:

f(x)=sign(<w∗,x>+b=0)\color{Red}{f(x) = sign(+b=0)}

说明:

1.上面计算的w∗,b∗w^*,b^*只依赖于训练集中的α∗i≻0的样本点(xi,yi)\color{Red}{\alpha_i^*\succ0的样本点(x_i,y_i)}

2.对α∗i≻0所对应的样本点称为支持向量\color{Red}{\alpha_i^* \succ 0所对应的样本点称为支持向量}

支持向量

训练集中对应α∗i≻0的样本点(xi,yi)称为支持向量\color{Red}{\alpha_i^*\succ 0 }的样本点(x_i,y_i)称为支持向量

对α∗i≻0\alpha_i^* \succ0时候,根据KKT条件可知道

yi(<w∗,xi>+b∗)−1=0\color{Red}{y_i(+b^*)-1=0}

即:

<w∗,xi>+b∗=±1\color{Red}{+b^*= \pm 1}



如上图所示:<w∗,xi>+b∗=±1\color{Red}{+b^*= \pm 1} 是间隔的边界,此时的xix_i就是支持向量点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: