拉格朗日对偶性(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)的主要内容,如果未能解决你的问题,请参考以下文章