拉格朗日乘子法

拉格朗日乘子法

约束优化问题

考虑约束最优化问题:
$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, eta) = f(x) + sum_{i=1}^{k} alpha_i c_i(x) + 
sum_{j=1}^{l} eta_j h_j(x)

其中,$alpha_i ge 0$

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

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

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

证明

	heta(x)=max_{alpha,eta}L(x,alpha,eta)

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

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

c_i(x) > 0

h_j(x) 
e 0 

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

min_{x in R^n} quad 	heta(x)

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

c_i(x) le 0

h_j(x) = 0 

	heta(x)=f(x)

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

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

对偶问题

令原问题为

p^{*}=min_{x in R^n} 	heta(x)=min_{x in R^n}max_{alpha,eta} L(x,alpha,eta)

则其对偶问题为

d^{*}=max_{alpha,eta}	heta(alpha,eta)=max_{alpha, eta} min_{x in R^n}L(x, alpha, eta)

可以证明,$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^{*},eta^{*}$是原问题和对偶问题的解的充分必要条件


abla_{x} L(x^{*},alpha^{*},eta^{*})=0


abla_{alpha} L(x^{*},alpha^{*},eta^{*})=0


abla_{eta} L(x^{*},alpha^{*},eta^{*})=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^{*}, eta^{*}$,然后通过KKT条件,解得原问题的解$x^{*}$,这个就是SVM的求解思路。

原文地址:https://www.cnblogs.com/zjgtan/p/10138095.html