對偶和KKT條件

2021-07-10 17:00:34 字數 3236 閱讀 1028

前言:

對偶(duality)是優化中的乙個很重要的一點,以對偶問題的特性為根本的kkt條件,在很多優化問題的求解上行之有效。本文簡要介紹對偶問題的基本概念和核心技術以及kkt求解的原理和方法。

什麼是對偶?

對偶問題,就是將原問題(primal problem)轉化為對偶問題(dual problem)然後在進行求解的方法。

詳細解說對偶

1. 優化問題可以表示為:mi

nf0(

x) s

.t.f

i(x)

<=0i

=1,2

,...

n;hj

(x)=

0j=1

,2,.

..m

如果n,m都是0,優化問題為無約束優化問題(無優化問題的對偶問題就是自己),如果n=0,則為等式約束問題。

優化問題的定義域 d為所有函式定義域的交集。

2.乙個優化問題的對偶問題可以這樣得到:

1.首先寫出拉格朗日函式 l(

x,u,

v)=f

0(x)

+∑n1

ui∗f

i(x)

+∑m1

vjhj

(x)

其中u,v

為拉格朗日乘數,也叫對偶變數,顧名思義,u,

v 是對偶問題中的變數。

2. 拉格朗日函式逐點對x求下確界得到對偶函式 g(

u,v)

=inf

x∈dl

(x,u

,v)=

infx

∈df0

(x)+

∑n1u

i∗fi

(x)+

∑m1v

jhj(

x)其中下確界指最大的下屆,也就是最小值。逐點對x求下確界意味著,對任意乙個u,

v 求出乙個x使l(

x,u,

v)最小。如果把u,

v 當成變數,x當成引數,那麼不論x取什麼值,l都是乙個仿射函式l(

x,u,

v)=a

∗u+b

∗v+c

,其中 a=

(f1(

x),f

2(x)

,...

,fn(

x))

b=(h

1(x)

,h2(

x),.

..,h

m(x)

) c=

f0(x

) 3.對偶問題是凹的那麼g

(u,v

) 為很多個仿射函式的逐點取最小值,而這樣得到的函式一定是凹的。可以參照下圖理解。

紅色的線為逐點取最小值得到的函式影象。

這便是為什麼要有對偶演算法這個演算法的乙個原因,因為對偶問題都是凸問題(其實是凹問題,凹問題加個負號就是凸問題了),而凸優化問題在求解上會簡單很多。一般而言,如果可以把乙個問題表述成凸優化問題,那麼就相當於基本解決了這個問題。

4. 原問題與對偶問題的關聯

4.1 原問題的最小值大於或等於對偶問題的最大值。 f∗

=min

x∈da

nds.

t.f0

(x)>=fx

(x)>=l(

x,u,

v)>=g(

u,v)

對任意u,

v 都有g(

u,v)

<=f∗

所以g∗

=max

u,vg

(u,v

)<=f∗

4.2 原問題最小值和對偶問題的最大值之差 叫 duality gap(我還不知道改如何翻譯成中文) △=

f∗−g

∗ 如果△

=0就是強對偶,否則就是弱對偶,那麼什麼時候弱什麼時候強呢?

4.3 如果滿足原問題是凸優化問題,並且至少存在絕對乙個絕對可行點(什麼叫絕對可行點,就是乙個可以讓所有不等式約束都不取等號的可行點),那麼就具有強對偶性。這個條件就是傳說中的slater』s condition。

4.4 由此可知乙個只有等式約束的凸優化問題和其對偶問題一定具有強對偶性,因為根本就沒有不等式約束(推論)。

5.5 既然只有強對偶條件時才能保證對偶問題的最大值是原問題的最小值,那對偶法還有用嗎?

kkt condition

當然有用,kkt condition 就是對偶性質的乙個應用。 f∗

>=g∗

,那麼如果存在x,

u,v ,使f∗

=g∗ (不一定要計算出來,只要說明相等就行)那麼,此時x,

u,v 就分別是原問題和對偶問題的最優解。那麼我們就可以以這個為條件作為約束求出最優解。怎麼利用這個條件呢?推一推(參考cmu教程)f(

x∗)=

g(u∗

,v∗)

=min

xl(x

,u∗,

v∗)<=l(

x∗,u

∗,v∗

)<=f(

x∗)

可知所有等號都成立 f(

x∗)=

g(u∗

,v∗)

=min

xl(x

,u∗,

v∗)=

l(x∗

,u∗,

v∗)=

f(x∗

) 即如果存在 x,

u,v 使

1. ∂l(

x,u,

v)∂x

=0(f

romm

inl(

x,u,

v))

2. vj∗

hj=0

(fro

ml(x

∗,u∗

,v∗)

=f(x

∗))

3. f

i<=0,

hj=0

(原問題

的可行域

) 4. v

j>=0(

對偶問題

的可行域

) 如果存在x,

u,v 滿足上面四個條件,那麼他們就是原問題和對偶問題的可行解。這就是kkt條件。

而拉格朗日乘數法正是kkt條件在等式約束優化問題的簡化版。

SVM的kkt條件和對偶問題。

kkt條件。用於解決不等式優化問題提出的條件。目標優化函式 minf x 約束條件為g x 0 根據kkt條件,原問題轉化為 根據拉格朗日乘數法解得 kkt條件列表如下 拉格朗日對偶性以及svm的對偶問題 首先 將l x,u 轉化為廣義拉格朗日的極大值極小值問題 其中 當max u 0,u l x,...

對偶問題和KKT條件的理解

粗略查了下對偶問題的資料。可以這樣理解,對於乙個線性規劃的標準型 max cx s.t.ax b 它的對偶問題求解的是該標準型解的上限。在運籌學裡標準型可以理解為在若干機器的使用時長限制下,利潤的產品怎麼生產才能使利潤最大化。那它的對偶問題可以理解為如果工廠對外按時長出租這些機器,承租方應該考慮怎麼...

拉格朗日對偶性和KKT條件

在約束最優化問題中,常用拉格朗日對偶性將原始問題轉換為對偶問題求解。稱最優化問題 begin begin min limits f x begin text c i x le 0,i 1,2,k h j x 0,j 1,2,l end end end 為原始最優化問題。使用以上優化問題構造廣義拉格朗...