一、写在前面
关于对偶函数的思想以及定义,网上有很多内容,这里不再细说,但是个人还是觉得有实例看起来比较容易理解,本篇博文主要提供一个对偶的小例子。刚入门优化知识,理解尚浅!
二、题目叙述
考虑等式约束的最小二乘问题
m
i
n
i
m
i
z
e
x
T
x
s
u
b
j
e
c
t
t
o
A
x
=
b
minimize \quad x^Tx \\ subject \ to \quad Ax=b
minimizexTxsubject toAx=b
其中,
A
∈
R
m
∗
n
,
r
a
n
k
(
A
)
=
m
A \in \mathbb{R}^{m*n},rank(A)=m
A∈Rm∗n,rank(A)=m。给出KKT条件,推导原问题最优解
x
∗
x^*
x∗ 以及对偶问题最优解
v
∗
v^*
v∗ 的表达式。
三、解题步骤
1、原问题求解
(1)Lagrarian函数为:
L
(
x
,
v
)
=
x
T
x
+
v
T
(
A
x
−
b
)
=
x
T
x
+
v
T
A
x
−
v
T
b
\begin{array}{lcl} L(x,v) &=& x^Tx+v^T(Ax-b) \\ &=& x^Tx+v^TAx-v^Tb \end{array}
L(x,v)==xTx+vT(Ax−b)xTx+vTAx−vTb
其对应的KKT条件如下:
∂
L
(
x
,
v
)
∂
x
=
0
/
/
导
数
为
0
v
T
≠
0
/
/
L
a
g
r
a
n
g
e
乘
子
不
为
0
A
x
=
b
/
/
等
式
约
束
条
件
\begin{array}{lcl} \frac{\partial L(x,v)}{\partial x} = 0 \quad \quad //导数为0\\ v^T \neq 0 \quad \quad //Lagrange乘子不为0 \\ Ax = b \quad \quad //等式约束条件 \end{array}
∂x∂L(x,v)=0//导数为0vT̸=0//Lagrange乘子不为0Ax=b//等式约束条件
(2)求
L
(
x
,
v
)
L(x,v)
L(x,v) 对应的导数,计算过程如下:
∂
L
(
x
,
v
)
∂
x
=
x
+
(
x
T
)
T
+
(
v
T
A
)
T
=
2
x
+
A
T
v
\begin{array}{lcl} \frac{\partial L(x,v)}{\partial x} &=& x+(x^T)^T+(v^TA)^T \\ &=& 2x + A^Tv \end{array}
∂x∂L(x,v)==x+(xT)T+(vTA)T2x+ATv
令
∂
L
(
x
,
v
)
∂
x
=
0
\frac{\partial L(x,v)}{\partial x} = 0
∂x∂L(x,v)=0,则解得
x
=
−
1
2
A
T
v
x=-\frac{1}{2} A^Tv
x=−21ATv,因此原问题的最优解为
x
∗
=
−
1
2
A
T
v
x^*=-\frac{1}{2} A^Tv
x∗=−21ATv。
2、对偶问题求解
将
x
∗
x^*
x∗ 代入
L
(
x
,
v
)
L(x,v)
L(x,v) 得到对偶函数
g
(
v
)
g(v)
g(v):
g
(
v
)
=
(
x
∗
)
T
x
∗
+
v
T
(
A
x
∗
−
b
)
=
(
x
∗
)
T
x
∗
+
v
T
A
x
∗
−
v
T
b
=
(
−
1
2
A
T
v
)
T
(
−
1
2
A
T
v
)
+
v
T
A
(
−
1
2
A
T
v
)
−
v
T
b
=
1
4
v
T
A
A
T
v
−
1
2
v
T
A
A
T
v
−
v
T
b
=
−
1
4
v
T
A
A
T
v
−
v
T
b
\begin{array}{lcl} g(v) &=& (x^*)^Tx^*+v^T(Ax^*-b) \\ &=& (x^*)^Tx^*+v^TAx^*-v^Tb \\ &=& (-\frac{1}{2} A^Tv)^T(-\frac{1}{2} A^Tv)+v^TA(-\frac{1}{2} A^Tv) -v^Tb \\ &=& \frac{1}{4}v^TAA^Tv-\frac{1}{2}v^TAA^Tv-v^Tb \\ &=& -\frac{1}{4}v^TAA^Tv-v^Tb \end{array}
g(v)=====(x∗)Tx∗+vT(Ax∗−b)(x∗)Tx∗+vTAx∗−vTb(−21ATv)T(−21ATv)+vTA(−21ATv)−vTb41vTAATv−21vTAATv−vTb−41vTAATv−vTb
满足的最优性条件如下:
∂
L
(
x
,
v
)
∂
x
=
0
①
/
/
导
数
为
0
A
x
=
b
②
/
/
等
式
约
束
条
件
\begin{array}{lcl} \frac{\partial L(x,v)}{\partial x} = 0 \quad ① \quad \quad //导数为0\\ Ax = b \quad ② \quad \quad //等式约束条件 \end{array}
∂x∂L(x,v)=0①//导数为0Ax=b②//等式约束条件
在求对偶问题的时候,应该首先求解出
v
∗
v^*
v∗,①等价于
2
x
+
A
T
v
=
0
2x + A^Tv=0
2x+ATv=0,①式左乘A,将②式代入可得,
2
b
+
A
A
T
v
=
0
2b+AA^Tv=0
2b+AATv=0,解得:
v
∗
=
−
2
(
A
A
T
)
−
1
b
v^*=-2(AA^T)^{-1}b
v∗=−2(AAT)−1b,将
v
∗
v^*
v∗ 代入①得,
x
∗
=
−
1
2
A
T
v
∗
=
A
−
1
b
x^*=-\frac{1}{2}A^Tv^*=A^{-1}b
x∗=−21ATv∗=A−1b,因此:
v ∗ = − 2 ( A A T ) − 1 b x ∗ = − 1 2 A T v ∗ = A − 1 b \begin{array}{lcl} v^* &=& -2(AA^T)^{-1}b \\ x^* &=& -\frac{1}{2}A^Tv^*=A^{-1}b \end{array} v∗x∗==−2(AAT)−1b−21ATv∗=A−1b