Introduction
在解「 有條件的最佳化問題 」時,有時需要把原本的問題轉換成對偶問題(Dual Problem)後,會比較好解。
如果對偶問題有最佳解,原本問題也有最佳解,且這兩個最佳解相同,則必須要滿足 Karush-Kuhn-Tucker (KKT) Conditions:
-
Primal Feasibility
-
Dual Feasibility
-
Complementary Slackness
-
Stationarity
至於這四項到底是什麼?講起來有點複雜。本文會先從對偶問題的概念開始介紹,再來講解這四個條件。
The Lagrange dual function
首先,講解一下什麼是對偶問題。
通常,有條件的最佳化問題,可寫成 <公式一> :
其中, 是目標函數,而 為不等式的條件限制, 為等式的條件限制。也就是說,最佳化的目標是要求出 讓 得出最小值,而這個 ,必須滿足 和 所限定的條件。若滿足這兩項條件,則表示這個最佳化問題有解,即為滿足 primal feasibility 。
此最佳化問題可以轉換成對偶問題,如下:
其中,我們把 稱為 Lagrangian , 和 稱為 Lagrange multiplier 。
所謂的對偶函數( Lagrange dual function ),即是在給定了 Lagrange multiplier 之下,改變 來得出 Lagrangian 最小值,如下:
其中, 為對偶函數,而 即是在改變 的情況下,找出最小值。
Lower bounds on optimal value
接著來證明,對偶函數可當作原本問題的 Lower Bound 。設原本問題公式一的最佳解為 ,則在所有 (記作 )和 為任意數的情況下,會滿足以下條件:
此性質不難證明,對於所有滿足 和 這兩個條件的 ,必滿足:
則:
設原本問題公式一最佳解時的 為 ,由於 必須滿足 滿足 和 這兩個條件,又因 ,故 成立。
舉個例子,下圖中,黑色的實線為目標函數 ,此最佳化問題有一個不等式條件限制 ,用綠色虛線表示,而滿足於 的 範圍落在 之間,範圍用兩條鉛直的紅色虛線表示。 紫色的圓圈為最佳解的點 。此最佳化問題沒有等式條件,故沒有 及 。則此問題的 Lagrangian 為 。藍色的點為 所畫出來的 Lagrangian 圖形。
在上圖中,兩條紅色虛線之間的範圍內,即 滿足不等式的條件限制 ,此時藍色的虛線皆位於黑色線的下方,滿足 。
下圖畫出改變不同 值時,對偶函數 的值,其中,黑色的實線為 ,紫色的虛線為 的值( )。
根據此圖,黑色的線恆在紫色的虛線下方,滿足 。
The Lagrange dual problem
所謂的對偶問題(Lagrange dual problem)即是把原本的問題轉成對偶函數之後,來解最佳化問題。
從前面結論可得知,對偶函數若滿足 (也就是所有的 都滿足 )的條件,則必足 。如果想找出最接近 的對偶函數解,則可藉由改變 ,來找出 的最大值。此對偶問題如下 <公式二>:
如果可以找出一組解,滿足 ,可得出 的最大值 ,則此問題滿足 dual feasibility。
根據對偶問題的解 和原本問題的解 的關係,可將對偶性質分為 weak duality 和 strong duality 兩類:
Weak duality
若對偶問題的解,小於或等於原本問題的解,即滿足 weak duality :
根據前面段落 Lower bounds on optimal value 所推導的結論, Weak duality 必定成立。
Strong duality
若對偶問題的解,等於原本問題的解,即滿足 strong duality :
這個條件不一定會成立,如果要成立的話,原本問題公式一的中的 和 要是凸函數,但即使滿足此條件,仍須滿足其他條件才能使 strong duality 成立,這講起來比較複雜,在此先不提。
Complementary Slackness
設原本問題最佳解的 為 ,對偶問題最佳解的 為 ,根據對偶函數 的定義,和前面段落 Lower bounds on optimal value 所推導出的結論,可得出:
若對偶問題滿足 strong duality :
則須滿足:
由於 為原本問題的等式條件限制,故 (b) 必會成立,若 (a) 要成立的話,須滿足:
也就是說, 和 的其中一項必須為零,不可以兩項都不為零。這種情形稱為 complementary slackness ,也就是林軒田教授在機器學習技法課程中所提到的:
哈利波特和佛地魔,其中一個必須死掉。
Karush-Kuhn-Tucker (KKT) conditions
KKT conditions 即為下四個條件:
-
Primal Feasibility:即滿足原本問題公式一的限制條件 和 ,使原本問題有解。
-
Dual Feasibility:即滿足對偶問題公式二的限制條件: ,使對偶問題有解。
-
Complementary Slackness:即滿足 strong duality : ,使原本問題和對偶問題有相同解。
-
Stationarity(gradient of Lagrangian with respect to x vanishes):
第四項雖然前面沒提到,但很容易理解,也就是說,在得出最佳解 的時候, Lagrangian 對於 的 gradient 要等於 0 。
Reference
本文參考至以下教科書,本文中的圖片也取自於以下教科書:
Stephen Boyd & Lieven Vandenberghe. Convex Optimization. Chapter 5 Duality.