在求解支持向量机时,我们遇到了求解约束问题
max w , b ∣ ∣ w ∣ ∣ 2 (10) \max_{w,b}\mid\mid w\mid\mid^2 \tag{10} w,bmax∣∣w∣∣2(10)s.t. y i ( w T x i + b ) ≥ 1 y_i(w^Tx_i+b)\geq 1 yi(wTxi+b)≥1
对偶问题
对于一般的约束优化问题
min
f
(
x
)
s
.
t
.
g
i
(
x
)
≤
0
i
=
1
,
2
,
.
.
.
,
m
η
j
(
x
)
=
0
j
=
1
,
2
,
.
.
.
,
m
\min f(x)\\ s.t. \qquad \qquad g_i(x)\leq 0 \qquad i=1,2,...,m \\ \quad \quad \quad \quad \qquad \eta_j(x)=0 \qquad j=1,2,...,m
minf(x)s.t.gi(x)≤0i=1,2,...,mηj(x)=0j=1,2,...,m
拉格朗日函数为
L
(
x
,
μ
,
λ
)
=
f
(
x
)
+
∑
i
=
1
m
μ
i
g
i
(
x
)
+
∑
j
=
1
m
λ
j
η
j
(
x
)
L(x,\mu ,\lambda)=f(x)+\sum_{i=1}^m\mu_ig_i(x)+\sum_{j=1}^m\lambda_j\eta_j(x)
L(x,μ,λ)=f(x)+i=1∑mμigi(x)+j=1∑mλjηj(x)
其中 μ = ( μ 1 , μ 2 , . . . , μ m ) T , λ = ( λ 1 , λ 2 , . . . , λ m ) T \mu=(\mu_1,\mu_2,...,\mu_m)^T,\lambda=(\lambda_1,\lambda_2,...,\lambda_m)^T μ=(μ1,μ2,...,μm)T,λ=(λ1,λ2,...,λm)T为拉格朗日乘子。
定义拉格朗日对偶函数
Γ
(
μ
,
λ
)
\Gamma(\mu,\lambda)
Γ(μ,λ)为
L
(
x
,
μ
,
λ
)
L(x,\mu ,\lambda)
L(x,μ,λ)关于x的下确界(即最小值),
Γ
(
μ
,
λ
)
=
inf
x
∈
D
L
(
x
,
μ
,
λ
)
=
inf
x
∈
D
(
f
(
x
)
+
∑
i
=
1
m
μ
i
g
i
(
x
)
+
∑
j
=
1
m
λ
j
η
j
(
x
)
)
\Gamma(\mu,\lambda)=\inf_{x \in D}L(x,\mu,\lambda)=\inf_{x \in D}(f(x)+\sum_{i=1}^m\mu_ig_i(x)+\sum_{j=1}^m\lambda_j\eta_j(x))
Γ(μ,λ)=x∈DinfL(x,μ,λ)=x∈Dinf(f(x)+i=1∑mμigi(x)+j=1∑mλjηj(x))
其拥有两个性质:
- 无论上述优化是否为凸优化问题,其对偶函数 Γ ( μ , λ ) \Gamma(\mu,\lambda) Γ(μ,λ)恒为凸函数,对偶问题为凸优化问题。
- 当 μ ≥ 0 \mu \geq 0 μ≥0 时, Γ ( μ , λ ) \Gamma(\mu,\lambda) Γ(μ,λ)构成了上述优化问题最优值 p ∗ p^* p∗的下界
定义在满足
μ
≥
0
\mu \geq 0
μ≥0 这个约束条件下对偶函数最大值的优化问题为拉格朗日对偶问题
max
Γ
(
μ
,
λ
)
s
.
t
.
μ
≥
0
\qquad \qquad\max\Gamma(\mu,\lambda)\\ s.t. \quad \mu \geq 0
maxΓ(μ,λ)s.t.μ≥0
最优值为 d ∗ d^* d∗,强对偶性成立,则对偶问题的最优值即为主问题的最优解。
强对偶性要求:
- 主问题为凸优化
- 在主问题的可行集存在一点使所有的不等式约束的不等号成立。
KKT条件
设
f
(
x
)
,
g
i
(
x
)
,
h
j
(
x
)
f(x),g_i(x),h_j(x)
f(x),gi(x),hj(x)一阶偏导连续,
x
∗
,
(
μ
∗
,
λ
∗
)
x^*,(\mu^*,\lambda^*)
x∗,(μ∗,λ∗)分别为主问题和对偶问题的最优解,若强对偶性成立,则
x
∗
,
μ
∗
,
λ
∗
x^*,\mu^*,\lambda^*
x∗,μ∗,λ∗满足
{
∇
x
L
(
x
∗
,
μ
∗
,
λ
∗
)
=
∇
f
(
x
∗
)
+
∑
i
=
1
m
μ
i
∗
∇
g
i
(
x
∗
)
+
∑
j
=
1
m
λ
j
∗
∇
η
j
(
x
∗
)
g
j
(
x
∗
)
≤
0
h
j
(
x
∗
)
=
0
μ
i
∗
≥
0
μ
i
∗
g
i
(
x
∗
)
=
0
\begin{cases} \nabla_xL(x^*,\mu^*,\lambda^*)= \nabla f(x^*)+\sum_{i=1}^m\mu_i^*\nabla g_i(x^*)+\sum_{j=1}^m\lambda_j^*\nabla \eta_j(x^*) \\ g_j(x^*) \leq 0\\ h_j(x^*)=0 \\ \mu_i^* \geq 0\\ \mu_i^*g_i(x^*)=0 \end{cases}
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧∇xL(x∗,μ∗,λ∗)=∇f(x∗)+∑i=1mμi∗∇gi(x∗)+∑j=1mλj∗∇ηj(x∗)gj(x∗)≤0hj(x∗)=0μi∗≥0μi∗gi(x∗)=0