对偶问题(Dual Problem)是优化理论中的一个重要概念,它与原问题(Primal Problem)相对应。在数学优化中,对偶问题是从原问题出发构造出来的一个新的优化问题。对偶问题的主要目的是简化原问题的求解,并且在某些情况下,对偶问题的解可以直接给出原问题的解。下面我们详细解释对偶问题的概念。
原问题
假设我们有一个标准形式的最优化问题(原问题),它可以表示为:
minimize
f
0
(
x
)
subject to
f
i
(
x
)
≤
0
,
i
=
1
,
…
,
m
h
i
(
x
)
=
0
,
i
=
1
,
…
,
p
,
\begin{aligned} & \text{minimize} & & f_0(\mathbf{x}) \ & \text{subject to} & & f_i(\mathbf{x}) \leq 0, \quad i = 1, \ldots, m \ &&& h_i(\mathbf{x}) = 0, \quad i = 1, \ldots, p, \end{aligned}
minimizef0(x) subject tofi(x)≤0,i=1,…,m hi(x)=0,i=1,…,p,
其中
f
0
(
x
)
f_0(\mathbf{x})
f0(x) 是目标函数,
f
i
(
x
)
f_i(\mathbf{x})
fi(x) 是不等式约束函数,
h
i
(
x
)
h_i(\mathbf{x})
hi(x) 是等式约束函数,
x
\mathbf{x}
x 是决策变量。
拉格朗日函数
为了构造对偶问题,我们首先定义拉格朗日函数(Lagrangian function):
L
(
x
,
λ
,
ν
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
ν
i
h
i
(
x
)
,
\mathcal{L}(\mathbf{x}, \boldsymbol{\lambda}, \boldsymbol{\nu}) = f_0(\mathbf{x}) + \sum_{i=1}{m} \lambda_i f_i(\mathbf{x}) + \sum_{i=1}{p} \nu_i h_i(\mathbf{x}),
L(x,λ,ν)=f0(x)+∑i=1mλifi(x)+∑i=1pνihi(x),
其中
λ
=
(
λ
1
,
…
,
λ
m
)
\boldsymbol{\lambda} = (\lambda_1, \ldots, \lambda_m)
λ=(λ1,…,λm) 和
ν
=
(
ν
1
,
…
,
ν
p
)
\boldsymbol{\nu} = (\nu_1, \ldots, \nu_p)
ν=(ν1,…,νp) 分别是不等式约束和等式约束的拉格朗日乘子向量。
对偶函数
接下来,我们定义对偶函数(Dual Function):
g
(
λ
,
ν
)
=
inf
x
L
(
x
,
λ
,
ν
)
,
g(\boldsymbol{\lambda}, \boldsymbol{\nu}) = \inf_{\mathbf{x}} \mathcal{L}(\mathbf{x}, \boldsymbol{\lambda}, \boldsymbol{\nu}),
g(λ,ν)=infxL(x,λ,ν),
其中
inf
x
\inf_{\mathbf{x}}
infx 表示在所有可行的
x
\mathbf{x}
x 中取最小值。
对偶问题
最终,我们得到的对偶问题(Dual Problem)可以表示为:
maximize
g
(
λ
,
ν
)
subject to
λ
i
≥
0
,
i
=
1
,
…
,
m
.
\begin{aligned} & \text{maximize} & & g(\boldsymbol{\lambda}, \boldsymbol{\nu}) \ & \text{subject to} & & \lambda_i \geq 0, \quad i = 1, \ldots, m. \end{aligned}
maximizeg(λ,ν) subject toλi≥0,i=1,…,m.
弱对偶性
弱对偶性(Weak Duality)指的是原问题的最优值总是大于等于对偶问题的最优值:
f
∗
≥
g
,
f* \geq g,
f∗≥g,_
其中 (f^_) 是原问题的最优值,
g
∗
g^*
g∗ 是对偶问题的最优值。
强对偶性
强对偶性(Strong Duality)指的是在一定条件下,原问题和对偶问题的最优值相等:
f
∗
=
g
∗
,
f* = g*,
f∗=g∗,
这种情况下,求解对偶问题可以直接给出原问题的解。
应用示例
让我们来看一个具体的例子,假设我们有以下原问题:
minimize
x
1
−
4
x
2
subject to
−
x
1
+
3
x
2
≤
3
x
1
+
x
2
≤
3
x
1
,
x
2
≥
0.
\begin{aligned} & \text{minimize} & & x_1 - 4x_2 \ & \text{subject to} & & -x_1 + 3x_2 \leq 3 \ &&& x_1 + x_2 \leq 3 \ &&& x_1, x_2 \geq 0. \end{aligned}
minimizex1−4x2 subject to−x1+3x2≤3 x1+x2≤3 x1,x2≥0.
构造拉格朗日函数:
L
(
x
1
,
x
2
,
λ
1
,
λ
2
)
=
x
1
−
4
x
2
+
λ
1
(
−
x
1
+
3
x
2
−
3
)
+
λ
2
(
x
1
+
x
2
−
3
)
.
\mathcal{L}(x_1, x_2, \lambda_1, \lambda_2) = x_1 - 4x_2 + \lambda_1 (-x_1 + 3x_2 - 3) + \lambda_2 (x_1 + x_2 - 3).
L(x1,x2,λ1,λ2)=x1−4x2+λ1(−x1+3x2−3)+λ2(x1+x2−3).
对偶函数为:
g
(
λ
1
,
λ
2
)
=
inf
x
1
,
x
2
L
(
x
1
,
x
2
,
λ
1
,
λ
2
)
.
g(\lambda_1, \lambda_2) = \inf_{x_1, x_2} \mathcal{L}(x_1, x_2, \lambda_1, \lambda_2).
g(λ1,λ2)=infx1,x2L(x1,x2,λ1,λ2).
求解对偶问题:
maximize
g
(
λ
1
,
λ
2
)
subject to
λ
1
≥
0
λ
2
≥
0.
\begin{aligned} & \text{maximize} & & g(\lambda_1, \lambda_2) \ & \text{subject to} & & \lambda_1 \geq 0 \ &&& \lambda_2 \geq 0. \end{aligned}
maximizeg(λ1,λ2) subject toλ1≥0 λ2≥0.
在支持向量机中的应用
在支持向量机(SVM)中,我们通过构造拉格朗日函数来找到最大间隔超平面。原问题可以表示为:
minimize
1
2
∣
w
∣
2
subject to
y
i
(
w
⊤
x
i
+
b
)
≥
1
,
i
=
1
,
…
,
n
.
\begin{aligned} & \text{minimize} & & \frac{1}{2} |\mathbf{w}|^2 \ & \text{subject to} & & y_i (\mathbf{w}^\top \mathbf{x}_i + b) \geq 1, \quad i = 1, \ldots, n. \end{aligned}
minimize21∣w∣2 subject toyi(w⊤xi+b)≥1,i=1,…,n.
通过引入拉格朗日乘子 (\boldsymbol{\alpha}),构造拉格朗日函数,并求解对偶问题:
maximize
W
(
α
)
=
∑
i
=
1
n
α
i
−
1
2
∑
i
,
j
=
1
n
α
i
α
j
y
i
y
j
x
i
⊤
x
j
subject to
0
≤
α
i
≤
C
,
i
=
1
,
…
,
n
∑
i
=
1
n
α
i
y
i
=
0.
\begin{aligned} & \text{maximize} & & W(\boldsymbol{\alpha}) = \sum_{i=1}{n} \alpha_i - \frac{1}{2} \sum_{i,j=1}{n} \alpha_i \alpha_j y_i y_j \mathbf{x}_i^\top \mathbf{x}j \ & \text{subject to} & & 0 \leq \alpha_i \leq C, \quad i = 1, \ldots, n \ &&& \sum{i=1}^{n} \alpha_i y_i = 0. \end{aligned}
maximizeW(α)=i=1∑nαi−21i,j=1∑nαiαjyiyjxi⊤xj subject to0≤αi≤C,i=1,…,n ∑i=1nαiyi=0.
对偶问题的解
α
\boldsymbol{\alpha}
α 可以用来计算
w
\mathbf{w}
w 和 b,进而得到最大间隔超平面。