拉格朗日对偶性(KKT)

Posted huangyc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拉格朗日对偶性(KKT)相关的知识,希望对你有一定的参考价值。

1. 前言

在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转化为对偶问题,通过求解对偶问题获得原始问题的解。该方法应用在许多统计学方法中,如最大熵模型、支持向量机。

2. 原始问题

假设(f(x),c_i(x),h_j(x))是定义在(R^n)上的连续可微函数。考虑如下最优化问题

[ min_{xin R^n}f(x);;;;;;;;;;;;;;;;;;;;;;;;(1) ]

[ s.t. ; c_i(x)leq0, ; i=1,2,...,k ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (2) ]

[ ;;;;;;; h_j(x)=0, ; j=1,2,...,l ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (3) ]
称此约束最优化问题为原始最优化问题或原始问题

引入广义拉格朗日函数

[ L(x,alpha,eta)=f(x)+sum_{i=1}^kalpha_ic_i(x)+sum_{j=1}^leta_jh_j(x) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (4) ]
这里, (alpha_i,eta_j)是拉格朗日乘子,(alpha_i≥0). 考虑(x)的函数,这里下标(P)表示原始问题。

[ heta_P(x)=max_{alpha,eta;alpha_igeq0}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (5) ]

容易得到:当(x)满足原始问题约束时,( heta_P(x)=f(x)),则可得到与原始优化问题想等价的极小化问题如下:

[ min_{x} heta_P(x)=min_{x}max_{alpha,eta;alpha_igeq0}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (6) ]
此问题称为广义拉格朗日函数的极小极大问题

定义原始问题的最优值

[ p^*=min_{x} heta_P(x) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (7) ]

3. 对偶问题(dual problem)

关于对偶问题,我们首先定义:

[ heta_D(alpha,eta)=min_{x}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (8) ]

再考虑极大化上式:

[ max_{alpha,eta;alpha_igeq0} heta_D(alpha,eta)=max_{alpha,eta;alpha_igeq0}min_{x}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (9) ]
问题(max_{alpha,eta;alphageq0}min_{x}L(x,alpha,eta))称为广义拉格朗日函数的极大极小问题。可将广义拉格朗日函数的极大极小问题表示为约束最优化问题:

[ max_{alpha,eta} heta_D(alpha,eta)=max_{alpha,eta}min_{x}L(x,alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (10) ]
[ s.t.;alpha_igeq0,; i=1,2,...,k ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (11) ]

称为原使问题的对偶问题。定义对偶问题的最优值,称为对偶问题的值。

[ d^*=max_{alpha,eta;alpha_igeq0} heta_D(alpha,eta) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (12) ]

4. 原始问题和对偶问题的关系

4.1 定理1

若原始问题和对偶问题都有最优值,则

[ d^*=max_{alpha,eta;alpha_igeq0}min_{x}L(x,alpha,eta)leqmin_{x}max_{alpha,eta;alpha_igeq0}L(x,alpha,eta)=p^* ]

4.2 推论1

(x^*)(alpha^*,eta^*)分别是原始问题(公式1~3)和对偶问题(公式10~11)的可行解,并且(d^*=p^*),则(x^*)(alpha^*,eta^*)分别是原始问题和对偶问题的最优解。

4.3 定理2

考虑原始问题(公式1~3)和对偶问题(公式10~11). 假设函数(f(x))(c_i(x))是凸函数,(h_j(x))是仿射函数1; 并且假设不等式约束(c_i(x))是严格可行的, 即存在(x), 对所有(i)(c_i(x)<0), 则存在(x^*,alpha^*,eta^*)使(x^*)是原始问题的解, (alpha^*,eta^*)是对偶问题的解,并且

[ p^*=d^*=L(x^*,alpha^*,eta^*) ]

4.4 定理3

对原始问题(公式1~3)和对偶问题(公式10~11), 假设函数(f(x))(c_i(x))是凸函数,(h_j(x))是仿射函数,并且不等式约束(c_i(x))是严格可行的, 则(x^*)(alpha^*,eta^*)分别是原始问题和对偶问题的解的充分必要条件是(x^*,alpha^*,eta^*)满足KKT条件:
[ abla_xL(x^*,alpha^*,eta^*)=0 ]

[ abla_alpha L(x^*,alpha^*,eta^*)=0 ]

[ abla_eta L(x^*,alpha^*,eta^*)=0 ]

[ alpha_i^*c_i(x^*)=0, ; i=1,2,...,k ]

[ c_i(x^*)leq0, ; i=1,2,...,k ]

[ alpha_i^*geq0, ; i=1,2,...,k ]

[ h_j(x^*)=0, ; j=1,2,...,l ]

(欢迎转载,转载请注明出处。欢迎沟通交流: [email protected]

以上是关于拉格朗日对偶性(KKT)的主要内容,如果未能解决你的问题,请参考以下文章

一文理解拉格朗日对偶和KKT条件

04-拉格朗日对偶问题和KKT条件

拉格朗日对偶问题与 KKT 条件

03 SVM - KKT条件

拉格朗日对偶问题的一些介绍

拉格朗日对偶