拉格朗日乘子法
拉格朗日乘子法
约束优化问题
考虑约束最优化问题:
设$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的求解思路。