原始问题与对偶问题

最近在看支持向量机,对对偶问题不甚了解。就花了一些时间看了一下知乎上的解释和Andrew Ng的解释。以下是关于这个issue的总结。

假设我们有如下优化问题(原问题)

Problem 1:
min⁡f(x)\min f(x)minf(x)
$s.t. g(x) \leq 0, $

为描述方便起见,我们假设只有一个不等式约束,多个不等式约束可以做简单的扩展。等式约束则可以转化为不等式约束。令

L(x,λ)=f(x)+λg(x)L(x, \lambda) = f(x) + \lambda g(x)L(x,λ)=f(x)+λg(x)

很显然,如果

Problem 2:
f(x)&lt;vf(x) &lt; vf(x)<v
s.t.g(x)≤0,s.t. g(x) \leq 0,s.t.g(x)0,

无解,我们称vvv是Problem 1的一个下界。如果Problem 2有解,那么对于任意的λ≥0\lambda \geq 0λ0,

Problem 3:
L(x,λ)&lt;v,L(x, \lambda) &lt; v,L(x,λ)<v,

有解(略微思索便知)。

显然地,根据逆否命题:如果Problem 3无解,那么Problem 2无解

Problem 3无解的充分必要条件是

Problem 4:
v≤min⁡xL(x,λ)v \leq \min_x L(x, \lambda)vminxL(x,λ).

因此,如果Problem 4成立,则Problem 2无解,那么v是Problem 1的一个下界。

因为我们要找到一个最大下界,所以

v∗=max⁡λmin⁡xL(x,λ)v^* = \max_\lambda \min_x L(x, \lambda)v=maxλminxL(x,λ).

因此,也就引入了Dual problem.

说到这里,我们再来看一下原问题,
很显然,我们有如下公式
max⁡λL(x,λ)=f(x), if g(x)≤0;else +∞ \max_\lambda L(x, \lambda)= f(x), \text{ if } g(x) \leq 0; else \text{ } +\infty λmaxL(x,λ)=f(x), if g(x)0;else +

所以原问题即

Problem 5:
p∗=min⁡xmax⁡λL(x,λ)p^* = \min_x \max_\lambda L(x, \lambda)p=minxmaxλL(x,λ).

我们看到,原问题与对偶问题实际上就是前面极小极大符号的交换。

针对该解释,我给出的直观的理解是:对偶问题是直接求解原问题转化成求原问题的最大下界的问题

原问题与对偶问题满足如下不等式关系,

v∗=max⁡λmin⁡xL(x,λ)≤min⁡xmax⁡λL(x,λ)=p∗v^* = \max_\lambda \min_x L(x, \lambda) \leq \min_x \max_\lambda L(x, \lambda) = p^*v=maxλminxL(x,λ)minxmaxλL(x,λ)=p.

当f(x)与g(x)都是convex的时候,我们有v∗=p∗v^* = p^*v=p,原问题等价于对偶问题。这是因为当f(x)与g(x)是convex的时候,原问题与对偶问题的解都是独立于λ\lambdaλ的,具体地可以参见:

https://wenku.baidu.com/view/3d94c60f172ded630a1cb63d.html

补充:看西瓜书上对对偶问题的解释,觉得很透彻,现在复述一遍。

对于原始问题
min f(x)min \text{ } f(x)min f(x)
s.t.hi(x)=0,i=1,…,ms.t. h_i(x) = 0, i = 1, \dots, ms.t.hi(x)=0,i=1,,m
gj(x)≤0,j=1,…,ng_j(x) \leq 0, j = 1, \dots, ngj(x)0,j=1,,n.

构建Lagrange函数如下:
L(x,α,β)=f(x)+αTg(x)+βTh(x)L(x, \alpha, \beta) = f(x) + \alpha^Tg(x) + \beta^Th(x)L(x,α,β)=f(x)+αTg(x)+βTh(x)
其中α⪰0\alpha \succeq \mathbf{0}α0,表示α\alphaα中每个分量都是大于0的。
其Lagrange对偶函数如下,其中DDD表示可行域:
Γ(α,β)=infx∈D L(x,α,β)\Gamma(\alpha, \beta) = inf_{x \in D} \text{ } L(x, \alpha, \beta)Γ(α,β)=infxD L(x,α,β)
=infx∈D[f(x)+αTg(x)+βTh(x)]= inf_{x \in D} [f(x) + \alpha^Tg(x) + \beta^Th(x)]=infxD[f(x)+αTg(x)+βTh(x)]

很显然,x在可行域范围之内,满足g(x)≤0g(x) \leq 0g(x)0以及h(x)=0h(x) = 0h(x)=0
那么αTg(x)+βTh(x)≤0\alpha^Tg(x) + \beta^Th(x) \leq 0αTg(x)+βTh(x)0是成立的,因此:
假设x∗x^*x是无约束函数f(x)f(x)f(x)的最优解,那么有
Γ(α,β)=infx∈DL(x,α,β)≤L(x∗,α,β)≤f(x∗)\Gamma(\alpha, \beta) = inf_{x \in D} L(x, \alpha, \beta) \leq L(x^*, \alpha, \beta) \leq f(x^*)Γ(α,β)=infxDL(x,α,β)L(x,α,β)f(x)
f(x∗)=p∗f(x^*) = p^*f(x)=p为最优值, 那么Γ(α,β)≤p∗\Gamma(\alpha, \beta) \leq p^*Γ(α,β)p
显然,这个下界取决于α,β\alpha, \betaα,β这两个变量,找到一个最好的下界便成为一个很自然的问题,因此引入对偶问题:

maxα,βΓ(α,β)max_{\alpha, \beta} \Gamma(\alpha, \beta)maxα,βΓ(α,β)
s.t.α⪰0s.t. \alpha \succeq \mathbf{0}s.t.α0

f(x),g(x)f(x), g(x)f(x),g(x)为凸函数,h(x)h(x)h(x)为仿射函数的时候,有max Γ(α,β)=p∗max\text{ } \Gamma(\alpha, \beta) = p^*max Γ(α,β)=p

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值