对偶问题最直白解释
作者:互联网
目录
原问题的转化
- 还记得我们求最优解的原始问题嘛?
- 我们之前已经通过KKT算法得到了对于这个问题的最优解的求取办法,那为什么还要继续引出对偶问题呢?
- 因为将原始问题转化为对偶问题是求解带约束优化问题的一种方法,当然这不是唯一的方法,只不过转化为对偶问题后往往更容易求解,因而被广为应用。
- 关于对偶问题的动机说完了,下面我们把注意力集中在 m i n f ( x ) min f(x) minf(x)上,然后有两条约束条件,其实约束条件相当于将解空间划分为了两块, 空 间 1 空间1 空间1是符合约束条件, 空 间 2 空间2 空间2是不符合约束条件。
- 下面我们重新搬出拉格朗日乘数法的公式,再仔细观察一下这个原始问题与拉格朗日乘数法的关系。
- 我们试着来求一下
m
i
n
x
m
a
x
α
,
β
L
(
x
,
α
,
β
)
min_{x} max_{α,β} L(x,α,β)
minxmaxα,βL(x,α,β)。(有人可能有疑问,好端端的,为何突然要求这个,这是因为有人想试图使用对偶问题来转化并解决原始问题并且成功了。)
空间1:此时符合约束条件,所以 h ( x ) = 0 h(x)=0 h(x)=0,且 g ( x ) = 0 时 β > 0 , g ( x ) < 0 时 β = 0 g(x)=0时β>0,g(x)<0时β=0 g(x)=0时β>0,g(x)<0时β=0,故 α h ( x ) + β g ( x ) = 0 αh(x)+βg(x)=0 αh(x)+βg(x)=0,所以 m a x α , β L ( x , α , β ) = f ( x ) + 0 = f ( x ) max_{α,β} L(x,α,β)=f(x)+0=f(x) maxα,βL(x,α,β)=f(x)+0=f(x),所以 m i n x m a x α , β L ( x , α , β ) = m i n x f ( x ) min_{x} max_{α,β} L(x,α,β)=min_{x} f(x) minxmaxα,βL(x,α,β)=minxf(x)。
空间2:此时不符合约束条件,则 m a x α , β L ( x , α , β ) = ∞ max_{α,β} L(x,α,β)=∞ maxα,βL(x,α,β)=∞ - 所以,在符合约束的情况下,原始的 m i n x f ( x ) min_{x} f(x) minxf(x)问题就等价于 m i n x m a x α , β L ( x , α , β ) min_{x} max_{α,β} L(x,α,β) minxmaxα,βL(x,α,β)
- 这是第一阶段的工作,就是得出结论,原始的问题转化为新的问题,称为primal最小化问题。
对偶问题
- 下面注意哈,我们要定义一个对偶问题:
m a x α , β m i n x L ( x , α , β ) max_{α,β} min_{x} L(x,α,β) maxα,βminxL(x,α,β)
注意哈,此处我们的max和min的位置变换了(包含变量也要变换),我们把原问题的max和min对换了。我们下面的任务就是,证明上面的对偶问题(称为dual问题))和上一阶段得到的primal问题是等价的。 - 先说一下,我们为什么要费劲心力的证明这个dual问题和primal问题等价。对于primal问题,我们要先求里面的max,再求外面的min。而对于dual问题,我们可以先求里面的min。有时候,先确定里面关于x的函数最小值,比primal问题先关于 α , β α,β α,β的最大值,要更加容易解,甚至有些原问题是不可解的。
- 明白了使用对偶的动机,现在我们来看这个dual问题的公式与primal问题的公式的大小关系:
m a x α , β m i n x L ( x , α , β ) < = m i n x m a x α , β L ( x , α , β ) ( 式 0 ) max_{α,β} min_{x} L(x,α,β)<=min_{x} max_{α,β} L(x,α,β)(式0) maxα,βminxL(x,α,β)<=minxmaxα,βL(x,α,β)(式0)
上式为什么成立呢?因为首先对于左式中任意的 α 和 β α和β α和β,一定有 m i n x L ( x , α , β ) < = m i n x m a x α , β L ( x , α , β ) ( 式 1 ) min_{x} L(x,α,β)<=min_{x} max_{α,β} L(x,α,β) (式1) minxL(x,α,β)<=minxmaxα,βL(x,α,β)(式1)
没问题吧,你想啊,右式首先对于 α 和 β α和β α和β取了最大值,而左式是任意值,在这个基础上,左式和右式对于 x x x同时取最小值,自然是右式>=左式啊,所以(式1)是成立的吧,需要注意的是,右式此时已经是一个实数了,而左式还是关于 α 和 β α和β α和β的函数,上式的成立已经意味着你这个函数<=右式的实数了,那么你再对左式求最大值岂不是一定<=右式的实数?所以最终(式0)成立。这就是所谓的 “极小的极大 ⩽ 极大的极小”。 - 式0就是弱对偶性定理 (weak duality)得到的式子。弱对偶性是对于所有的对偶问题都有的一个性质,真正使得原问题(primal问题)能够与对偶问题(dual问题)等价的条件是强对偶性的成立。
- 满足slater条件才能使得强对偶性成立:
slater 条件: 原始问题为凸优化问题,即 f(x),g(x) 为凸函数,h(x) 为仿射函数,且可行域中至少有一点使不等式约束严格成立时,强对偶性成立,对偶问题等价于原始问题。
- 咱们的问题是一个凸优化问题,前提中就说明了是凸函数,所以此时是满足slater条件的,所以dual问题和primal问题等价,**最后,利用强对偶性求出的 x,α,β 同时也是原始问题的最优解,所以依然满足 KKT 条件,**至此,我们就可以先min后max了,别忘了我刚才提到过,先min后max有时候有很大的好处。
- 需要注意的是,一个问题有没有强对偶性,跟KKT条件完全是没关系的。只要一个问题是不等式约束问题,它的最优解就一定满足KKT条件(反之不可以))。 而能不能满足强对偶性,决定了原问题跟对偶问题是不是等价。
- 最后上个图,原文:https://zhuanlan.zhihu.com/p/46944722
标签:解释,直白,min,max,问题,对偶性,primal,对偶 来源: https://blog.csdn.net/qq_41076797/article/details/112781675