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