拉格朗日乘子法、KKT条件、拉格朗日对偶性

拉格朗日乘子法、KKT条件、拉格朗日对偶性

@20160718

笔记主要来源于维基百科《统计学习方法》

拉格朗日乘子法(Lagrange Multiplier)

拉格朗日乘子法是一种寻找有等式约束条件的函数的最优值(最大或者最小)的最优化方法.在求取函数最优值的过程中,约束条件通常会给求取最优值带来困难,而拉格朗日乘子法就是解决这类问题的一种强有力的工具.

1. 单约束问题

考虑以下的二维单约束优化问题:

maximize f(x,y)
subject to g(x,y)=0

f(x,y) 绘制成等高图,当沿着曲线 g(x,y)=0 寻找最大值时,函数最大值的点应该是在 f(x,y)=maximum g(x,y)=0 相切的位置,但是有时候也会遇到沿着 g(x,y)=0 寻找的过程中, f(x,y) 在某一段保持不变,这个时候也有可能这段点集就是我们要寻找的最优解.有两种可能会出现这种情况:1) f g是”平行”的,也就是我们在约束曲线上寻找的同时也是在 f(x,y)=d 上移动; 2) 遇到了 f level part,意思就是,f在任何方向都不会改变.
在以上两种情况中都存在 λ 满足下式:

x,yf=λx,yg,

总结上述所有公式,我们有:
L(x,y,λ)=f(x,y)+λg(x,y)

解:
x,y,λL(x,y,λ)=0

这种方法就是拉格朗日乘子法,其中 λ 就是拉格朗日乘子,当第二种情况出现时 λ=0 .
类似地,针对多变量问题,我们可通过解下式获得最优解:
x1,...,xn,λL(x1,...,xn,λ)=0

2. 多约束问题

考虑一个简单的约束问题:两个约束曲线仅相交于一点,那么很显然,这一点就是最优点.再考虑一下更一般的情况, f level set并不平行于所有的约束曲线,这时候应该怎么办呢?线性组合!!!拉格朗日乘子法所寻找的点对应的梯度并不是f任意某个约束的梯度的倍数,而是所有约束梯度的线性组合!
A 表示可寻找的向量空间,S表示约束梯度的张量空间,就有: A=S ,向量空间垂直与 S 中的每一个元素.
与单约束问题类似,我们仍然考虑在沿着向量空间寻找过程中那些使f不变的点,因为这些点可能就是最优值.
也就是说,我们需要寻找那些 x 使得其移动方向垂直于f(x),因为这个时候 f 才是不发生变化的,则有:f(x)A=S,因此,存在实数 λ1,λ2,...,λM 满足:

f(x)=k=1Mλkgk(x)
其中,那些实数就是拉格朗日乘子,相应的拉格朗日函数式如下:
L(x1,...,xn,λ1,...,λM)=f(x1,..,xn)k=1Mλkgk(x1,...,xn),
解:
x1,...,xn,λ1,...,λML(x1,...,xn,λ1,...,λM)=0
以上就是拉格朗日乘子法针对多约束问题的求解办法.

KKT条件(Karush–Kuhn–Tucker conditions)

KKT条件是拉格朗日乘子法的拓展,是一种求取含不等式约束条件的函数最优值的方法.
考虑以下非线性优化问题:

maxmize  f(x)
subject to gi(x)0,hj(x)=0

其中 x 就是优化变量,f是目标函数, gi (i=1,2,...,m) 是不等式约束函数, hj (j=1,2,...,l) 是等式约束函数.
针对该问题,KKT条件就是指最优点 x 满足以下条件:

f(x)=i=1mμigi(x)+j=1lλjhj(x)

gi(x)0, for all i=1,2,...,m

hj(x)=0, for all j=1,2,...,l

μi0, for all i=1,2,...,m

μigi(x)=0, for all i=1,2,...,m

拉格朗日对偶性(Lagrange duality)

在约束最优化问题中,常常利用拉格朗日对偶性将原始问题转化为对偶问题。通过解对偶问题而得到原始问题的解.

1. 原始问题(primal problem)

假设 f(x),ci(x),hj(x) 是定义在 Rn 上的连续可微函数。考虑如下最优化问题:

minxRnf(x)                            (1)

s.t. ci(x)0, i=1,2,...,k                            (2)

       hj(x)=0, j=1,2,...,l                            (3)

称此约束最优化问题为 原始最优化问题原始问题.
引入广义拉格朗日函数
L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x)                            (4)

这里, αi,βj 是拉格朗日乘子, αi0 . 考虑 x 的函数:
θP(x)=maxα,β;αi0L(x,α,β)                            (5)

这里下标 P 表示原始问题.
容易得到:当x满足原始问题约束时, θP(x)=f(x) ,则可得到与原始优化问题想等价的极小化问题如下:
minxθP(x)=minxmaxα,β;αi0L(x,α,β)                            (6)

此问题称为 广义拉格朗日函数的极小极大问题. 定义原始问题的最优值
p=minxθP(x)                            (7)

称为原始问题的值.

2. 对偶问题(dual problem)

定义

θD(α,β)=minxL(x,α,β)                            (8)

再考虑极大化上式,即
maxα,β;αi0θD(α,β)=maxα,β;αi0minxL(x,α,β)                            (9)

问题 maxα,β;α0minxL(x,α,β) 称为 广义拉格朗日函数的极大极小问题.
可将广义拉格朗日函数的极大极小问题表示为约束最优化问题:
maxα,βθD(α,β)=maxα,βminxL(x,α,β)                            (10)

s.t. αi0, i=1,2,...,k                            (11)

称为原使问题的对偶问题. 定义对偶问题的最优值
d=maxα,β;αi0θD(α,β)                            (12)

称为对偶问题的值.

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

这里直接列出《统计学习方法》中的几个定理和推论.
定理1 若原始问题和对偶问题都有最大值,则

d=maxα,β;αi0minxL(x,α,β)minxmaxα,β;αi0L(x,α,β)=p

<script type="math/tex; mode=display" id="MathJax-Element-6092"></script>
推论1 x α,β 分别是原始问题(公式1~3)和对偶问题(公式10~11)的可行解,并且 d=p ,则 x α,β 分别是原始问题和对偶问题的最优解.
<script type="math/tex; mode=display" id="MathJax-Element-6098"></script>
定理2 考虑原始问题(公式1~3)和对偶问题(公式10~11). 假设函数 f(x) ci(x) 是凸函数, hj(x) 是仿射函数 1; 并且假设不等式约束 ci(x) 是严格可行的, 即存在 x , 对所有i ci(x)<0 , 则存在 x,α,β ,使 x 是原始问题的解, α,β 是对偶问题的解,并且
p=d=L(x,α,β)

<script type="math/tex; mode=display" id="MathJax-Element-6110"></script>
定理3 对原始问题(公式1~3)和对偶问题(公式10~11), 假设函数 f(x) ci(x) 是凸函数, hj(x) 是仿射函数,并且不等式约束 ci(x) 是严格可行的, 则 x α,β 分别是原始问题和对偶问题的解的充分必要条件是 x,α,β 满足 KKT条件
xL(x,α,β)=0

αici(x)=0, i=1,2,...,k

ci(x)0, i=1,2,...,k

αi0, i=1,2,...,k

hj(x)=0, j=1,2,...,l

注:在该定理中,书中还给出以下两个条件
αL(x,α,β)=0

βL(x,α,β)=0

我认为是错误的,如果满足的话,那么 ci(x)=0,i=1,2,...,k ,显然广义上的拉格朗日函数变成了原始的拉格朗日函数,与原始问题(公式2)不符。


  1. f(x) 称为仿射函数,如果它满足 f(x)=ax+b,aRn,bR,xRn
  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值