SVM(二)

约束条件下的最优化问题

在上文中我们得到了SVM的目标函数,是一个约束最优化问题,下面来求解这个问题。

1.约束最优化问题

既然是约束,就可以分为g(x)=0g(x)\leq 0两种形式(注意后面也有等于,不是<),如下图所示,分别是在一条线上和一片区域上寻找最优解。

(1)最优解特点:

观察等式约束情况,可以发现直线上的最优解正好与等高线相切。这种情况是必然的,在最优解处目标函数的梯度方向如果不与直线的切线垂直的话,那么梯度方向必然存在一个分量与切线方向相同,也就是最优解还可以向这个方向移动,这里就不是最优解。有如下三个推论:

推论1:在那个宿命的相遇点\boldsymbol{x}^*也就是等式约束条件下的优化问题的最优解),原始目标函数f(\boldsymbol{x})的梯度向量\nabla f(\boldsymbol{x^*})必然与约束条件g(\boldsymbol{x})=0的切线方向垂直。

推论2:函数f(\boldsymbol{x})的梯度方向也必然与函数自身等值线切线方向垂直。

推论3:“函数f(\boldsymbol{x})与函数g(\boldsymbol{x})的等值线在最优解点\boldsymbol{x}^*处相切,即两者在\boldsymbol{x}^*点的梯度方向相同或相反”

由推论3可以得出以下结果:

\nabla f(\boldsymbol{x}^*)+\lambda \nabla g(\boldsymbol{x}^*)=0

这就是构造拉格朗日函数的原因,将约束条件与目标函数整合到一起,\lambda就是拉格朗日乘子,它用来缩放使两个梯度求和为0。同时我们还有g(x)=0这个条件,构造拉格朗日函数L(\boldsymbol{x},\lambda)=f(\boldsymbol{x})+\lambda g(\boldsymbol{x}),对x和\lambda 求偏导等于0即可。

2.KKT条件

但是SVM的目标函数里的约束条件是\leq,此时最优解x有两种可能:

(1)x在g(x)边界

此时与g(\boldsymbol{x})=0条件相同,不难理解这时最优解x在g(x)上的梯度和在f(x)上的梯度是相反的,也就是此时\lambda>0

(2)x在g(x)内部

此时约束条件是没有起到作用的,因为不管怎么优化都能满足约束条件,所以此时\lambda=0

综合上面两种情况,可以求得:

\begin{array}{lr} g(\boldsymbol{x})\leq0~ & (1)\\ \lambda\geq0~ & (2)\\ \lambda g(\boldsymbol{x})=0 & (3) \end{array}

这个就是KKT条件

 

3.拉格朗日对偶

之前我们构造了在等式约束条件下的拉格朗日函数,但那是基于三个推论,因为目标函数与约束条件在最优解处有相同或相反方向的梯度,而在不等式下没有这个条件。不过如果能构造出一种函数,使它在可行解区域内与目标函数一致,在可行解区域外无限大,这个函数就可以等价原最优化问题。下面讲解拉格朗日对偶

(1)原目标函数

\begin{array}{lll} \min_{\boldsymbol{x}} & f(\boldsymbol{x}) & ~\\ \textrm{s. t.} & h_i(\boldsymbol{x})=0 & i=1,2,\ldots,m\\ ~ & g_j(\boldsymbol{x})\leq 0 & j = 1,2,\ldots,n\\ \end{array}

(2)新构造的目标函数

构造广义拉格朗日函数作为新的目标函数,注意此时是最大化,优化的自变量是a和b

\theta_P(\boldsymbol{x})=\max_{\boldsymbol{\alpha},~\boldsymbol{\beta};~\beta_j\geq0}L(\boldsymbol{x},\boldsymbol{\alpha},\boldsymbol{\beta})

L(\boldsymbol{x},\boldsymbol{\alpha},\boldsymbol{\beta})=f(\boldsymbol{x})+\sum_{i=1}^m\alpha_i h_i(\boldsymbol{x})+\sum_{j=1}^n\beta_j g_j(\boldsymbol{x})

\theta_P(\boldsymbol{x})=\max_{\boldsymbol{\alpha},~\boldsymbol{\beta};~\beta_j\geq0}L(\boldsymbol{x},\boldsymbol{\alpha},\boldsymbol{\beta})= f(\boldsymbol{x})+\max_{\boldsymbol{\alpha},~\boldsymbol{\beta};~\beta_j\geq0}\left[ \sum_{i=1}^m\alpha_i h_i(\boldsymbol{x})+\sum_{j=1}^n\beta_j g_j(\boldsymbol{x}) \right]

上式的讨论需要分为在可行解区域内和可行解区域外:

可行解区域内:此时满足h(x)=0,并且g(x)<=0,而系数b>=0,所以max最大只能是0

\max_{\boldsymbol{\alpha},~\boldsymbol{\beta};~\beta_j\geq0}\left[ \sum_{i=1}^m\alpha_i h_i(\boldsymbol{x})+\sum_{j=1}^n\beta_j g_j(\boldsymbol{x}) \right] =0,~\textrm{for}~ \boldsymbol{x}\in\Phi

可行解区域外:此时要么h_i(\boldsymbol{x})\neq0,要么g_j(\boldsymbol{x})>0,都可以使得max的优化结果为正无穷

\max_{\boldsymbol{\alpha},~\boldsymbol{\beta};~\beta_j\geq0}\left[ \sum_{i=1}^m\alpha_i h_i(\boldsymbol{x})+\sum_{j=1}^n\beta_j g_j(\boldsymbol{x}) \right] =+\infty,~\textrm{for}~ \boldsymbol{x}\notin \Phi

所以在x的分布下我们的目标函数为如下:

\theta_P(\boldsymbol{x})=\left\{ \begin{array}{ll} f(\boldsymbol{x}) & \boldsymbol{x}\in\Phi\\ +\infty & \textrm{otherwise} \end{array} \right.

此时已经没有了约束条件,下面可以求解最优化问题\min_{\boldsymbol{x}}\left[\theta_P(\boldsymbol{x})\right]

(3)对偶问题

上式很难建立\theta_P(\boldsymbol{x})的显示表达式(由于x的取值不同表达不同),所以将其改为对偶形式。我们上面构造的函数如下:

\min_{\boldsymbol{x}}\left[\theta_P(\boldsymbol{x})\right]= \min_{\boldsymbol{x}}\left[ \max_{\boldsymbol{\alpha},\boldsymbol{\beta}:\beta_j\geq0}L(\boldsymbol{x},\boldsymbol{\alpha},\boldsymbol{\beta}) \right]

在构造另一个函数\theta_D(\boldsymbol{\alpha},\boldsymbol{\beta})=\min_{\boldsymbol{x}}L(\boldsymbol{x},\boldsymbol{\alpha},\boldsymbol{\beta}),以及它的优化为:

\max_{\boldsymbol{\alpha},\boldsymbol{\beta}:\beta_j\geq0}\left[\theta_D(\boldsymbol{\alpha},\boldsymbol{\beta})\right]= \max_{\boldsymbol{\alpha},\boldsymbol{\beta}:\beta_j\geq0} \left[ \min_{\boldsymbol{x}}L(\boldsymbol{x},\boldsymbol{\alpha},\boldsymbol{\beta}) \right]

这就是上一节函数的对偶问题,可以证明这两个问题有相同的解。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值