$$ \begin{gather*} \underset{t}{min} f(t) \; s.t.\; h_i(t)=0,i=1,\cdots,p \end{gather*} $$算法
目标函数: $f(t)$, 引入Lagrange算子:$L(t,\beta) = f(t) + \sum_{i=1}^n\beta_ih_i(t)$函数
$$ \begin{gather*} \underset{t}{min}f(t) \; s.t. &g_i(t) \le 0, i=1,\cdots,p \\ &h_j(t) = 0, j=1, \cdots, q \end{gather*} $$优化
目标函数: $f(t)$
约束条件:数学
不少状况, 不等式约束条件可引入新变量转化为等式约束条件, 故上述问题可简化为:it
$$ \underset{t}{min}f(t)\;s.t.\; g_i(t) = 0, i=1, \cdots, n $$io
根据约束条件和目标函数的类型分为3类:function
- 线性规划: 目标函数和约束条件都为变量的线性函数
- 二次规划: 目标函数为变量的二次函数, 约束条件为线性函数
- 非线性规划: 目标函数或者约束条件是非线性函数
KKT条件指在知足某些规则条件下, 非线性规划问题能有最优解的充要条件, 是广义拉格朗日乘数的重要成果
通常优化问题(含等式和不等式约束约束):变量
$$ \begin{gather*} \underset{t}{min}f(t) \; s.t. &g_i(t) \le 0, i=1,\cdots,p \\ &h_j(t) = 0, j=1, \cdots, q \end{gather*} $$lambda
引入Lagrange算子$\alpha, \beta$:programming
$$ L(t, \alpha, \beta) = f(t) + \sum_{i=1}^p\alpha_i g_i(t) + \sum_{j=1}^q\beta_j h_j(t) $$
可将$\alpha和\beta$分别看作两个约束$g_i(t) \le 0和g_j(t) \ 0$的限制条件
KKT条件指上述问题的最优势$x^*$必须知足:
(1) 约束条件知足: $g_i(x^*) \le0, h_i(x^*)=0$
(2) $\nabla L(t,\alpha,\beta)|_{t=x^*} = \nabla f(x^*) + \sum_{i=1}^p\alpha_i\nabla g_i(x^*) + \sum_{j=1}^q \beta_j \nabla h_j(x^*) = 0$
即,
最优势$x^*$处, $\nabla f$必须是$\nabla g_i$和$\nabla h_j$的线性组合
引入拉格朗日算子能够求出极值的缘由:
因为$f(t)$的$dt$变化方向受其余不等式的约束, 且在极值$x^*$处,$f(t$)的梯度$\nabla f(x^*)$与$\nabla g(x^*)$,$\nabla h(x^*)$之间存在线性关系, 故引入拉格朗日算子能够求出极值
(3) $\beta_j \ne 0$且$\alpha_i \ge 0,\; \alpha_i g_i(x^*) = 0$
不等式$g_i(t)\le0$的限制条件有方向性, 故$\alpha_i \ge 0$, 等式$h_j(t)=0$的限制条件无方向性, 故$\beta_j$无符号限制
不等式约束一直是优化问题中的难题,求解对偶问题能够将支持向量机原问题约束中的不等式约束转化为等式约束;
支持向量机中用到了高维映射,可是映射函数的具体形式几乎彻底不可肯定,而求解对偶问题以后,可使用核函数来解决这个问题。
并不必定要用拉格朗日对偶。要注意用拉格朗日对偶并无改变最优解,而是改变了算法复杂度:
在原问题下,求解算法的复杂度与样本维度(等于权值w的维度)有关;
而在对偶问题下,求解算法的复杂度与样本数量(等于拉格朗日算子a的数量)有关。
所以,
这样:
支持向量机实现非线性的方法的数学本质是升维,升维升到无穷维则没法表达w, 因此仍是使用拉格朗日对偶方法更好一点。准确的说,能够用一些优化算法直接求最小间距,可是,升维的时候核要是正定的,且升维可数,并且不是很大的时候能够用。
任意一个带约束的优化都可写成:
$$ \begin{gather*} \underset{x}{min}{f_0(x)}\;s.t. &f_i(x) \le 0, i= 1,\cdots,m \\ &h_i(x)=0,i=1,\cdots,p \end{gather*} $$
将上述带约束的优化问题转化为无约束优化问题, 定义拉格朗日(Lagrangian)函数以下:
$$ L(x,\lambda,v) = f_0(x) + \sum_{i=1}^m\lambda_if_i(x) + \sum_{i=1}^pv_ih_i(x) $$
最大化Lagrangian, 令
$$ z(x) = \underset{\lambda \ge 0,v}{max}L(x,\lambda,v) $$
z(x)知足原始约束条件的x, 其值等于$f_0(x)$:
知足初始约束, 则$h_i(x)=0$, 拉格朗日函数第三项被消去:
$$L(x,\lambda,v)=f_0(x) + \sum_{i=1}^m\lambda_if_i(x) $$
又由于$\lambda_if_i(x)\le0$, 因此$L(x,\lambda,v)$的最大值在$f_0(x)$处取得.
因此原始带约束优化问题等价于如下无约束优化问题:
$$ \begin{gather*} min{f_0(x)}\;s.t. &f_i(x) \le 0, i= 1,\cdots,m \\ &h_i(x)=0,i=1,\cdots,p \end{gather*} $$
等价于:
$$ \underset{x}{min}z(x) = \underset{x}{min} \;\underset{\lambda \ge0,v}{max}L(x,\lambda,v) $$
上述问题称为primal problem
总结:
- 一个带约束的优化问题都可用$minf_0(x)$表示
- 用拉格朗日函数将带约束优化转为无约束优化问题
- 初始约束条件总可写成$f_i(x)\le0$的形式, 且拉格朗日算子$\lambda_i\ge0$, 因此$maxL(x,\lambda,v)$可去掉约束条件:
去约束:
$f_0(x)\;\cdots s.t. \; f_i(x)\ge0 ,\;h_i(x)=0 \cong \underset{\lambda\ge0,v}{max}L(x,\lambda,v)$
最优化:
$\underset{x}{min}f_0(x) \cong \underset{x}{min} \; \underset{\lambda\ge0,v}{max}L(x,\lambda,v)$
dual problem 只是将primal proble调换了min和max位置:
$$ \underset{\lambda \ge0,v}{max} \;\underset{x}{min}L(x,\lambda,v) $$
注意上式和$$
underset{x}{min} ;underset{lambda ge0,v}{max}L(x,lambda,v)
$$并不等价.
令:
$$ g(\lambda,v) = \underset{x}{min}L(x,\lambda,v) $$
上式中$g(\lambda,v)$为拉格朗日对偶函数(Lagrange dual function), $g(\lambda,v)$是primal function的一个下界.
即, 若将primal proble的最小值记为$p^*$, 则对于全部的$\lambda \ge 0和v$, 有:
$$ g(\lambda,v) \le p^* $$
证实:
对全部知足约束条件的x, 总有:
$$ \sum_{i=1}^m\lambda_i f_i(x) + \sum_{i=1}^pv_ih_i(x) \le 0 $$
所以
$$ L(x,\lambda,v) = f_0(x)+\sum_{i=1}^m\lambda_i f_i(x) + \sum_{i=1}^pv_ih_i(x) \le f_0(x) $$
假设$L(x,\lambda,v)$在$x^*$处取得极值, 则
$$minf_0(x) = f_0(x^*)$$
代入上式:
$$ L(x^*,\lambda,v) = f_0(x^*)+\sum_{i=1}^m\lambda_i f_i(x^*) + \sum_{i=1}^pv_ih_i(x^*) \le f_0(x^*) = p^* $$
因而
$$ g(\lambda,v) = \underset{x}{min}L(x,\lambda,v) \le L(x^*,\lambda,v) \le f_0(x^*) = p* $$
这样, $g(\lambda,v)$的下界是$p^*$,因而:
$$ \underset{\lambda \ge0,v}{max}g(\lambda,v) $$
是primal problem的最大下界!
记dual problem 的最优值为$d^*$, 获得:
$$ d^* \le p^* $$
该性质称为weak duality, 对全部的优化问题都成立.
此外,
$$p^*-d^*$$称为duality gap.
基于weak duality的重要结论:
不管 primal problem 是什么形式,dual problem 老是一个 convex optimization 的问题——它的极值是惟一的(若是存在的话). 对于那些难以求解的 primal problem (甚至能够是 NP 问题),咱们能够经过找出它的 dual problem ,经过优化这个 dual problem 来获得原始问题的一个下界估计。
当
$$d^* = p^*$$成立时,称为strong duality.
strong duality 成立的状况下,咱们能够经过求解 dual problem 来优化 primal problem, 例如SVM 的时候咱们直接假定了 strong duality 的成立.
严格知足约束条件的点x, 指$f_i(x)\le0$严格到$f_i(x)<0$, 即存在x知足:
$$ f_i(x) <0\;i=1,\cdots,m\\ h_i(x)=0\;i=1,\cdots,p $$
原始问题是convex且知足slater条件,则strong duality成立: $d^*=p^*$
特例: 对某些非convex optimization,strong duality也成立
primal problem: $\underset{x}{min}\;\underset{\lambda \ge 0,v}{max}L(x,\lambda,v)$
dual problem: $\underset{\lambda \ge 0,v}{max}\;\underset{x}{min}L(x,\lambda,v)$
$$ \begin{align*} f_0(x^*) &=g(\lambda^*,v^*) \\ &=\underset{x}{min} \left( f_0(x)+\sum_{i=1}^m\lambda_i^*f_i(x)+\sum_{i=1}^pv_i^*h_i(x) \right) \\ &\le f_0(x^*)+\sum_{i=1}^m\lambda_i^*f_i(x^*)+\sum_{i=1}^pv_i^*h_i(x^*) \\ &\le f_0(x^*) \end{align*} $$
由
$$ f_0(x^*) \le f_0(x) + \sum_{i=1}^m\lambda_if_i(x) + \sum_{i=1}^pv_ih_i(x) $$
得:
$$ f_0(x^*) \le L(x^*,\lambda^*,v^*) $$
因此$x^*$是$L(x,\lambda^*,v^*)$的一个极值点, 因此:
$$ \nabla f_0(x^*) + \sum_{i=1}^m\lambda_i^*\nabla f_i(x^*) + \sum_{i=1}^pv_i^*\nabla h_i(x^*)=0 \;(条件1) $$
又由
$$ f_0(x^*) \le f_0(x^*)+\sum_{i=1}^m\lambda_i^*f_i(x^*)+\sum_{i=1}^pv_i^*h_i(x^*) $$
得:
$$ \lambda_i^*f_i(x^*) \le 0 $$
故极值点$x^*$处:
$$ \lambda_i^*f_i(x^*)=0,\;i=1,\cdots,m\;(条件2) $$
条件(1)(2)合起来称为complementary slackness.
条件(2)中若$\lambda_i^*>0$必有$f_i(x^*)=0$, 反之, 若$f_i(x^*)<0$可得$\lambda_i^*=0$, 此条件在SVM中用来证实非支持向量$f_i(x^*)<0$对应的系数$\alpha_i$
complementary slacknes加上其余约束条件即为KKT条件:
$$ \begin{align*} \nabla f_0(x^*) + \sum_{i=1}^m\lambda_i^*\nabla f_i(x^*) + \sum_{i=1}^pv_i^*\nabla h_i(x^*)&=0 &(条件1) \\ \lambda_i^*f_i(x^*)&=0,\; i=1,\cdots,m&(条件2) \\ f_i(x^*) &\le 0,\; i=1,\cdots,m&(条件3) \\ \lambda_i^* &\ge0,\;i=1,\cdots,m&(条件4) \\ h_i(x^*) &= 0,\; i=1,\cdots,p&(条件5) \end{align*} $$
经过dual problem可求primal problem的解: