拉格朗日乘子法

拉格朗日乘子法

约束优化问题

考虑约束最优化问题:
$f(x), c_i(x), h_j(x)$是定义在$R^n$空间上的连续可微函数,称

\min_{x \in R^n} \quad f(x)

s.t. \quad c_i(x) \le 0 \quad i = 1,2,...,k

\quad \quad h_j(x) = 0 \quad j = 1,...,l

为约束优化问题的原问题。

拉格朗日极小极大问题

为了解决以上问题,首先引入广义拉格朗日函数(generalized Lagrange function)

L(x, \alpha, \beta) = f(x) + \sum_{i=1}^{k} \alpha_i c_i(x) + 
\sum_{j=1}^{l} \beta_j h_j(x)

其中,$\alpha_i \ge 0$

可以证明,无约束优化问题

\min_{x \in R^n} \max_{\alpha,\beta}L(x, \alpha, \beta) 

等价于原问题,称为广义拉格朗日函数的极小极大问题。

证明

\theta(x)=\max_{\alpha,\beta}L(x,\alpha,\beta)

=\max_{\alpha,\beta} \{ f(x) + \sum_{i=1}^{k} \alpha_i c_i(x) + 
\sum_{j=1}^{l} \beta_j h_j(x) \}

a. 若$x$不满足约束条件,也即

c_i(x) > 0

h_j(x) \ne 0 

$\theta(x)=+\infty$,因此不可能是极小极大问题

\min_{x \in R^n} \quad \theta(x)

的解。
b. 若x满足约束条件,也即

c_i(x) \le 0

h_j(x) = 0 

\theta(x)=f(x)

\min_{x \in R^n} \quad \theta(x) = \min_{x \in R^n} f(x)

综上所述,拉格朗日极小极大问题的解就是原问题的解。

对偶问题

令原问题为

p^{*}=\min_{x \in R^n} \theta(x)=\min_{x \in R^n}\max_{\alpha,\beta} L(x,\alpha,\beta)

则其对偶问题为

d^{*}=\max_{\alpha,\beta}\theta(\alpha,\beta)=\max_{\alpha, \beta} \min_{x \in R^n}L(x, \alpha, \beta)

可以证明,$d^{*} \le q^{*}$,当且仅当满足KKT条件时,等号成立,且对偶问题的解就是原问题的解。

KKT条件
对于原问题和对偶问题,$f(x)$$c_i(x)$为凸函数,$h_j(x)$为仿射函数,且$c_i(x)$严格可行,也即$\exists x, \forall{i}, c_i(x) < 0$,则$x^{*},\alpha^{*},\beta^{*}$是原问题和对偶问题的解的充分必要条件

\nabla_{x} L(x^{*},\alpha^{*},\beta^{*})=0

\nabla_{\alpha} L(x^{*},\alpha^{*},\beta^{*})=0

\nabla_{\beta} L(x^{*},\alpha^{*},\beta^{*})=0

c_i(x^{*}) \le 0, \quad i = 1,2,...,k

h_j(x^{*}) = 0, \quad j = 1,2,...,l

\alpha_{i}^{*} \ge 0, \quad i = 1,2,...,k

\alpha_{i}^{*}c_i(x^{*}) = 0, \quad i = 1,2,...,k

其中,最后一个条件称为KKT对偶互补条件。

通常情况下,可以先求解对偶问题,得到最优解$\alpha^{*}, \beta^{*}$,然后通过KKT条件,解得原问题的解$x^{*}$,这个就是SVM的求解思路。

posted on 2018-12-18 16:32  zjgtan  阅读(273)  评论(0编辑  收藏  举报

导航