優化命題的對偶性(Duality)

2021-07-03 04:13:01 字數 3098 閱讀 8965

本文用以介紹和分析帶有約束的優化命題的對偶性(duality),給出對偶命題的推導方面,並舉例說明。主要參考的是jorge nocedal 和 stephen j. wright 的 numerical optimization 一書(第二版)。

考察如下的只含不等式約束的一般性優化命題:

minx∈r

nf(x

)subject to c(

x)≥0

(1)

針對這一命題的lagrangian函式為:l(

x,λ)

=f(x

)−λt

c(x)

其中,λ∈

rm是lagrangian乘子。

針對上面的式子,我們定義如下的對偶目標函式(dual objective function)

q 如下:q(

λ):=infxl

(x,λ

)(2)

也就是針對不同的

λ 引數確定一組

x 使得 q(

λ)最小。同時,這裡我們只考慮最小值不會是 −∞

的情況。這裡我們要求取的是 l(

x,λ)

的全域性最小值,但是當 f(

x)為凸函式,且 c(

x)為凹函式(比如線性約束)的時候,l(

x,λ)

是凸函式,因此任何乙個區域性最小都是全域性最小。

因此,我們可以定義命題(1)的對偶命題(dual problem)如下(這裡

λ 被稱為對偶變數):

maxλ∈r

mq(λ

)subject to λ≥

0(3)

考慮如下的線性規劃命題:

minxct

xsubject to ax

−b≥0

,(5)

其對偶目標函式為:q(

λ)=infx[

ctx−

λt(a

x−b)

]=infx[(

c−at

λ)tx

+btλ

] 如果 c−a

tλ≠0

那麼下界顯然是 −∞

, 因此我們考慮的範圍就侷限於 c−

atλ=

0 的情況(因為 −∞

顯然不會是下界中的最大值)。因此,上面線性規劃命題的對偶命題就是:

maxλbt

λsubject to at

λ=c,

λ≥0(6)

考慮如下的二次規劃:

min12x

tgx+

ctxsubject to ax

−b≥0

,(7)

這裡 g=

gt,g

≥0。其對偶目標函式為:q(

λ)=infx[

12xt

gx+c

tx−λ

t(ax

−b)]

這裡lagrangian函式是凸函式,因此在最小值出導數為0,即gx

+c−a

tλ=0

,將這裡的

x 和

λ的關係代入可以得到對偶命題為:

maxλ−1

2(at

λ−c)

tg−1

(atλ

−c)+

btλsubject to λ≥

0(8)

這裡舉乙個簡單的一維二次規劃的例子來說明上面的內容,令(7)式中的 g=

2,c=

−2,函式影象如下:

當我們講約束設定為 −5

≤x≤5

時,可以從圖中看出,應該在 x=

1 處取得最小值 −1

。這個時候的對偶命題的影象為:

可以看出,對偶的目標函式在 (0

,0) 處取得最大值,在各處具體的函式值見下圖:(注意

q 陣中的行和列對應的座標都是以

0.5為單位從

0 向上遞增)

從上圖可以看出,目標函式確實在 (0

,0)點處取得最大值。為什麼是 (0

,0) 點呢,因為約束為在原命題中的約束 −5

≤x≤5

時,最優點處的兩條約束都沒有啟用(active),所以兩條約束對應的對偶變數都是0.

然後,我們改變約束條件,令約束條件為 −6

≤x≤−

2 時,對偶命題的函式圖象為:

從圖中可以看出,當對偶目標函式取得最大值時,對偶變數 λ1

=0,λ

2≠0 ,這也很好理解因為此時在原命題的最優點處第一條約束沒有啟用而第二條約束被啟用了。關於具體的最大值和 λ2

的值。 具體內容見下圖:(注意

q 陣中的行和列對應的座標都是以

0.5為單位從

0 向上遞增)

可以看出,對偶函式的最大值為

8,等於原始函式的最小值,此時λ2

=6.從上面乙個例子我們也可以感受到,原始命題只有乙個決策變數,其實很好求解;而對偶命題有兩個決策變數,相對來說較難求解。也就是說,當我們面對乙個問題時,其決策變數數和約束條數從某種程度上說明了求解其原始命題和對偶命題求解的相對難易程度。我們可以選擇求解原始命題或求解其對偶命題,這也是一些對偶演算法的由來。

但是我們也應該意識到,在從對偶命題的方向求解時,我們在迭代過程中的點返回到原始命題中往往是不可行的(infeasible),也就是說,對偶的方法往往要在最後一步才能給出乙個可行解,而且這個可行解就是最優的,但如果讓演算法提前終止迭代的話,我們就要冒著拿到乙個不可行解的風險,而這個風險在原始演算法中往往是不存在的。

拉格朗日對偶性

在支援向量機中,需要用拉格朗日對偶性將原始問題轉換成對偶問題,解得對偶問題的解從而得到原始問題的解。在此簡單介紹拉格朗日對偶性的基本原理和方法。假設f x ci x hj x 是定義在rn 上的連續可微函式。考慮約束最優化問題 minx r nf x s.t ci x hj x 0,i 1,2,k ...

拉格朗日對偶性

拉格朗日對偶性常常被用來解決有約束條件的最優化問題,在最大熵模型或者支援向量機的優化中最為常見,其主要思路就是將帶約束條件的原始為題轉換為沒有約束條件的對偶問題。首先呈現以下原始問題,我們在做優化的時候,會遇到需要優化乙個函式 f x 這個函式還帶著兩個約束條件,這裡分別用 ci x 和 hj x ...

拉格朗日對偶性

在約束最優化問題中,常常會利用到拉格朗日對偶性求解。在常用的機器學習演算法中,支援向量機和最大熵模型都使用到該方法求最優解。因為後面將要講到這兩個演算法,所以先介紹這種方法作為知識的鋪墊。對於有約束的問題,拉格朗日對偶性是將原始問題轉化為最優問題,通過求解對偶問題而得到原始問題的解。一 原始問題 假...