更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:
https://www.cnblogs.com/nickchen121/p/11686958.html
拉格朗日对偶性
在约束最优化问题中,拉格朗日对偶性(Lagrange duality)可以将原始问题转换为对偶问题,然后通过求解对偶问题的解得到原始问题的解。
一、原始问题
1.1 约束最优化问题
假设f(x),ci(x),hj(x)是定义在Rn上的连续可微函数,则约束最优化问题的原始问题为
min������x∈Rnf(x)s.t.ci(x)≤0,i=1,2,⋯,khj(x)=0,j=1,2,⋯,l(1)(2)(3)
如果不考虑约束条件,约束问题就是
min������x∈Rnf(x)
因为已经假设f(x),ci(x),hj(x)连续可微,直接对f(x)求导取0,即可求出最优解,但是这里有约束条件,因此得想办法去掉约束条件,而拉格朗日函数正是干这个的。
1.2 广义拉格朗日函数
为了解决上述原始问题,引入广义拉格朗日函数(generalized Lagrange function)
L(x,α,β)=f(x)+∑i=1kαici(x)+∑j=1lβjhj(x)
其中x=(x(1),x(2),⋯,x(n))T∈Rn,αi≥0,βj是拉格朗日乘子。
如果把L(x,α,β)看作是关于αi,βj的函数,求其最大值,即
max������α,βL(x,α,β)
由于αi,βj作为拉格朗日乘子已经可知,因此可以把L(x,α,β)看作是关于x的函数
θP(x)=max������α,βL(x,α,β)
其中下标P表示原始问题。
1.3 约束条件的考虑
假设给定某个x。
- 如果x违反原始问题的约束条件,即存在某个i使得ci(w)>0或存在某个j使得hj(w)≠0,则有
θP(x)=max������α,β:αi≤0[f(x)+∑i=1kαici(x)+∑i=1lβjhj(x)]=+∞
因为如果某个i使得约束条件ci(x)>0,则可以令αi→+∞;如果某个j使得hj(x)≠0,则可以使得βjhj(x)→+∞。
2. 如果x满足原始问题的约束条件,hj(x)=0并且αici(x)≤0,因此θP(x)的最大值即为f(x),即θP(x)=f(x)。
通过对约束条件的考虑即可得
θP(x)={f(x),+∞,x满足约束条件其他
所以如果考虑极小化问题
min������xθP(x)x=min������xmax������α,βL(x,α,β)=min������xf(x)
它与原始问题是等价的,其中min������xmax������α,βL(x,α,β)被称作广义拉格朗日函数的极小极大问题。
通过广义拉格朗日函数的极小极大问题,可以定义原始问题的最优值
p∗=min������xθP(x)
这一节主要通过使用拉格朗日函数把原始约束问题转化为无约束问题,即将约束问题无约束化。
二、对偶问题
定义一个关于α,β的函数
θD(α,β)=min������xL(x,α,β)
其中等式右边是关于x的函数的最小化,即确定了x的值,最小值只与α,β有关。
如果极大化θD(α,β),即
max������α,βθD(α,β)=max������α,βmin������xL(x,α,β)
上述就是原始问题的对偶问题,其中max������α,βmin������xL(x,α,β)也称为广义拉格朗日函数的极大极小问题。
该对偶问题的原始问题为
min������xθP(x)x=min������xmax������α,βL(x,α,β)
原始问题是先固定L(x,α,β)中的x,优化出参数α,β,再优化x;对偶问题是先固定α,β,优化出x,然后再确定α,β。
对偶问题的最优值为
d∗=max������α,βθD(α,β)
三、原始问题和对偶问题的关系
3.1 定理1
如果原始问题和对偶问题都有最优解,则
d∗=max������α,βmin������xL(x,α,β)≤min������xmax������α,βL(x,α,β)=p∗
因为对任意的α,β,x,都有
θD(α,β)=min������xL(x,α,β)≤L(x,α,β)≤max������α,βL(x,α,β)=θP(x)
即
thetaD(α,β)≤θP(x)
由于原始问题和对偶问题都有最优值,所以
max������α,βθD(α,β)≤min������xθP(x)
即
d∗=max������α,βmin������xL(x,α,β)≤min������xmax������α,βL(x,α,β)=p∗
上述说明了原始问题的最优值不小于对偶问题的最优值,但是我们要通过对偶问题来求解原始问题,就必须得使原始问题的最优值与对偶问题的最优值相等。
3.2 推论1
通过定理1可以推出:假设x∗,α∗,β∗分别是原始问题和对偶问题的可行解,如果d∗=p∗,则x∗,α∗,β∗分别是原始问题和对偶问题的最优解。
当原始问题和对偶问题的最优值相等d∗=p∗,如果使用对偶问题比求解原始问题简单,则可以用对偶问题求解原始问题。
3.3 定理2
对于原始问题和对偶问题,假设函数f(x)和ci(x)是凸函数,hj(x)是仿射函数(注:仿射函数是一阶多项式构成的函数,f(x)=Ax+b,A是矩阵,x,b是向量);并且假设不等式约束ci(x)是严格可行的,即存在x,对所有的i有ci(x)<0,则存在x∗,α∗,β∗,使x∗是原始问题的解,α∗,β∗是对偶问题的解,并且会有
p∗=d∗=L(x∗,α∗,β∗)
3.4 定理3(KTT条件)
对于原始问题和对偶问题,假设函数f(x)和ci(x)是凸函数,hj(x)是仿射函数;并且假设不等式约束ci(x)是严格可行的,即存在x,对所有的i有ci(x)<0,则x∗是原始问题的解,α∗,β∗是对偶问题的解的充分必要条件是x∗,α∗,β∗满足下面的Karush-Kuhn-Tucker(KKT)条件
∇xL(x∗,α∗,β∗)=0∇αL(x∗,α∗,β∗)=0∇βL(x∗,α∗,β∗)=0α∗ici(x∗)=0,i=1,2,⋯,kci(x∗)≤0,i=1,2,⋯,kα∗i≥0,i=1,2,⋯,khj(x∗)=0,j=1,2,⋯,l(4)(5)(6)(7)(8)(9)(10)
其中α∗ici(x∗)=0,i=1,2,⋯,k是KKT的对偶互补条件,由该条件可知:如果α∗i>0,则ci(x∗)=0。