一挑三 FJ vs KKT

2021-01-18 AI2ML人工智慧to機器學習

在解決最優化問題時候, Fermat 在1629年就解決了無限制最小問題, 但是一直過了靠近160年, 才有Lagrange解決等式約束的最值問題, 然後再過了160左右, 出現了四個人, Karush, John, Kuhn, 和Tucker, 他們解決了不等式約束最值問題, 這裡講的就是Fritz John, FJ是如何單挑其他三人, Karush, Kuhn, Tucker, KKT的。



FJ是什麼?


FJ是1個人的姓名的首字母, 是Fritz John, FJ,出生德國的數據家, 把偏微分方程 partial differential equations, PDE 玩的出神入化的一個人。 大家可能都沒有聽說過他, 但是他的黯然銷魂掌練出了FJ條件(conditions), 這掌不輸於武林絕學KKT條件。  一般來說, 玩偏微分方程出生的都是牛銀, 譬如,某種意義上, 算是我的校友的,Leslie Lamport, LL,  就是搞偏微分方程出身的。 不認識LL的, 我就說幾個關鍵詞吧, Latex的La, 拜佔庭將軍問題Byzantine Generals Problem, 2013年圖靈獎。好吧, 說PDE說的激動了。




KKT是什麼?


KKT是3個人的姓的首字母, 分別是Karush, Kuhn和Tucker, 最早是有Kuhn和Tucker在1951年總結發表的, 但是後來人們發現Karush在1939年碩士論文中就發現了這個必要條件(necessary conditions)。 碩士就能做出這樣的成就也是非常不容易! 但是由於參與了美國的曼哈頓計劃(Manhattan Project),使得Karush本人對名利追求並不熱衷,而追求和平,他對Karush和Tucker的定理的命名權並不放在心上。 以至於KT條件在10年後才重命名為KKT條件。







KKT條件(Condition)是什麼?


KKT條件是有不等式條件(inequality constrained problem)最值的充要條件(necessary & sufficient conditions)。這是對Stationary Point最值理論和Lagrange Muliplier最值理論的進一步泛化(Generalization)。





無條件(unconstraind problem)



我們先回顧一下, 無條件(unconstraind problem)最值的充要條件。


要注意的就是, 就是鞍點saddle point需要被排除。




等式限制條件(equality constrained condition)


其次, 等式限制條件(equality constrained condition)最值的充要條件。


可以看到只是把限制條件改變成了對拉格朗日量(lagrangian)梯度為零的情況。

等價於目標函數的梯度(或者導數)Gradient 和限制條件的梯度(Jacobian)在同一直線上(或者成縮放關係)




這裡面有兩個概念一個是雅克比矩陣Jacobian Matrix, 另外一個是零空間Null Space。 雅克比矩陣是一個點附近利用梯度替代曲線的本地線性化(local linearization)。


零空間,是對矩陣Ax=0的解空間, 零空間的更多細節參考「矩有四子」.




進一步理解雅克比矩陣的含義如下:



不等式限制條件(inequality constrained condition)


然後, 不等式限制條件(inequality constrained condition)最值的充要條件。

我們可以看到對比等式情況, 首先增加了對於 λ, lamda 與約束條件之間的關係限制。




等式和不等式並存的限制條件 (equality and inequality constrained condition)


如果把上面兩個不等式情況結合起來就是,我們討論的KKT條件情況下的充要關係。









KKT要注意約束規格(constraint qualification)!


從上面可以看到, KKT條件是必要條件, 並非充分條件, 如果要變成充分條件還要加上約束規格(constraint qualification)的成立。


這個特別要注意的, 這在美國空軍B-2高空轟炸機(B-2 Stealth bomber)的設計上曾經出現過設計事故。 在1980年左右, 處於裡根時代, 在設計的時候對, 空間在機翼機身分布, 燃油, 速度, 推進器(thrust)都有很大的要求。

並且存在一個最值目標: 滿油箱狀態要飛得最遠。 B-2發明之前, 其實已經有B-29和B-52機型的存在了。  很幸運, B-2找到一個KKT解, 這個解導致飛機機身極度壓縮, 使得飛機幾乎由兩個機翼組成。   飛機設計完成後, 實際測試的時候, 發現這個機型和B-29,B-52相比, 滿油箱狀態卻飛得很短。 然後就花費了上億經費驗證設計, 沒有找到設計模型上的問題。 設計模型是對的, 那為啥飛行距離很短呢?  又花費了很多經費, 最終發現, 這個模型是一個非凸非線性模型(nonconvex nonlinear programming, nonconvex NLP), 最後發現, 最優解其實要求機翼很小, 好比客機那樣。 所以KKT解是一個在空氣動力學(aerodynamically)上幾乎是最差勁的選擇。   但是最後B-2還是投入實用了, 為啥, 因為發現B-2有個極好的特性, 雷達很難捕捉到, 隱身功能。









什麼是全局最優解的約束規格(constraint qualification)?


雖然前面給出了代數上的表達式來給定KKT的充要條件(局部最優,local optimum), 但是如果直接按約束規格來描述的話, 就需要了解凸函數的特性。凸函數, 可以有凸函數和嚴格凸函數, 它們之間的差異是有沒有等式。 偽凸函數(pseduoconvex), 就是只要滿足通過導數能求最值的函數, 並不一樣要求凸函數。  還有半凸函數(quasiconvex),如下圖所示:




基於不同的凸函數的性質, 滿足KKT條件,是不是全局最優(global optimum)有如下的約束規格(constraint qualification, CO):







幾何理解




為什麼要有 dual feasibility ( λ) >= 0?


首先,要注意λ的符號,根據Lagrange Stationarity限制, 可以知道是有-∇f與∇h方向一致不一致性來定義的。 λ>0 意味中-∇f與∇h方向一致。


另外, 因為要求最小值, 那麼根據梯度下降(gradient descent)的含義,我們就是要沿著梯度的負方向(-∇f)上走到底。



其次, 我們看一下等式限制(equality constraint)的情況, 這時候因為限制是在那條線上,所以λ的符號(-∇f與∇h方向一致不一致性)並不重要。因為只要所在直線定了, 再加上h(x)=0線的固定, 那麼對應極值點就定了。


但是在不等式限制(inequality contraint)下, λ的符號(-∇f與∇h一致性)就很重要啦。當g(x)<0, 那麼根據梯度下降, 在-∇f方向走到底, 但是必須在g(x)的可行域(feasible region)裡,這樣要在邊界取到最值, 那只能如圖所示-∇f方向指向區域外面, 這樣-∇f就固定了, 那麼在根據∇g的方向(指向g(x)大的一邊), 來判斷λ的符號(-∇f與∇g一致性)。



所以只要g(x)<=0那麼,就要求λ>=0。 但是為什麼前面總結的c(x)>=0,還要求λ>=0呢? 那是因為他們的拉格朗日量(lagrangian)寫的不一致。

所以相當於 -c(x)<=0。 這下理解為什麼dual feasibility的幾何意義了吧。




如何理解Complementary Slackness?


首先我們要比較一下對偶問題 duality, 有如下結論:maxi-min <=  mini-max。

矮子裡面選高個   <=  高個裡面選矮子。 矮子再怎麼選都是矮子, 高個再怎麼挑也是高個, 矮子不能高於高個。



根據對偶問題, 很容易就知道弱對偶weak duality始終成立, 但是如果強對偶strong duality成立的話, 就會帶來complementary slackness性質, 反之, 也是成立的。



所以Complementary slackness其實是保證強對偶成立的條件。


假設圖示, 我們有兩個關係g(x)<=0 和 h(x)=0, 我們很容易找到primal問題的最優點,就是z左邊部分的最低點。




這時候我們再來看對偶問題maxi-min,我們先看求解最小的部分,  我們看到如果在線上表示, 過可行域裡面的任意點, 然後L=z+uy, 其中y=0的時候, z=f(x), 那麼最優解就是直線與z軸的交點。 如果要最小化, 就要把先移到切線邊上, 這樣截距最下最小。


然後我們看要使得這個切線的截距最大, 就必須調整斜率u,使得它剛好是最低點的切線,這樣我們發現求到的maxi-min點和之前primal問題裡面的mini-max點一樣。 根據我們前面的定義, 這是強對偶strong duality的情況。

那我們就要比較, 當什麼時候不一樣了, 我們發現當不是凸的區域的時候, 這時候maxi-min的解要比mini-max的解小。 所以這時候對應的weak duality。


這樣我們進一步理解了, 什麼時候complementary slackness滿足的話, 實現了強對偶, 而一個凸的問題, 能使得complementary slackness成立。







FJ 和 KKT 的證明


一般情況下, FJ和KKT的證明比較類似, 主流的證明,需要利用到一下Farkas Lemma,或者Gordan Theorem,  本身這些定理也需要證明。



但是, 奧爾迦.布列內娃 Olga, Brezhneva,這位來自俄羅斯的美女博士,她非常希望能夠利用很簡單的知識來證明Lagrange 和 KKT 定理, 最終她發現, 如果把KKT的適用範圍稍微縮小一點(排除了, KKT對於不可導,但是次可導subdifferential的函數的適用性), 可以有很簡單的證明, 她最終做到了, 是不是看上去很美!!!


她的這個工作,得到了最優化工作的四大天王之一的北丐(Stephen Wright)的賞識。以後有時間希望把她的工作也囊括進來。



FJ條件(Condition)是什麼?


FJ條件是也是針對等式和不等式同時約束的最優問題的條件。  並且,FJ條件也是必要條件(necessary conditions), 和KKT類似保護了3種條件, primal feasibility, dual feasibility和complementary slackness。





FJ vs KKT


前面, 我們大概了解了FJ和KKT的工作性質, 那麼對比一下FJ和KKT工作的差異呢?


最大的差異就是FJ不如KKT嚴格, 根據前面說過的, 我們知道在線性規劃(Linear Programming)中, 滿足KKT條件,那麼一定是最優解(Optimum), 但是LP中滿足FJ條件,卻不一定是最優解。



也正是因為FJ要比KKT稍微寬鬆一點, 所以導致人們選擇了KKT條件, 以至於有些人都沒有聽過FJ條件。


但是並不是說FJ條件就可以不要了。 因為KKT條件更嚴格就導致它的適用範圍不如FJ條件廣泛, 舉個例子如下, 很明顯這個情況中, FJ適用,但是KKT就不適用了。


主要原因就是KKT是FJ的約束規格(constraint qualification)下的例子, 這個約束規格就是要求限制條件(constraint conditions)在最值點optimum的偏導數之間是線性獨立的(linearly independent), 如前圖所示。 而上面的例子可以看到在最優點的導數向量之間成反比, 負相關的, 不獨立。 所以FJ適用,但是KKT不適用了。




小結,這裡簡單總結了下, KKT條件中dual feasibility, complementary slackness的含義, 同時簡單對比了FJ 條件和KKT條件的差異。  讓我們看到一個牛掰的, 1挑3的FJ, 但同時也感嘆, FJ如果進一步細化, 或許今天廣泛應用的就是FJ系統(System)了!






附錄:


最優化之 東邪西毒 南帝北丐


東邪 Dimitri Bertsekas MIT 


西毒 Stephen P. Boyd  Stanford University


南帝 Andrzej Ruszczyński Rutgers University 


北丐 Stephen J. Wright, University of Wisconsin


郭靖 Mark Schmidt, University of British Columbia


中神通  Werner Fenchel



中頑童 Jean Jacques Moreau





參考:

http://www.math.ucla.edu/~lvese/273.1.06f/Summary.pdf

https://www.math.uh.edu/~rohop/fall_06/Chapter3.pdf

https://ocw.mit.edu/courses/mechanical-engineering/2-854-introduction-to-manufacturing-systems-fall-2010/lecture-notes/MIT2_854F10_kkt_ex.pdf

https://www.cs.cmu.edu/~ggordon/10725-F12/slides/16-kkt.pdf

http://math.stackexchange.com/questions/19560/difference-between-fritz-john-and-karush-kuhn-tucker-conditions

http://www.math.chalmers.se/Math/Grundutb/CTH/tma947/1011/lecture5.pdf





相關焦點

  • 深入理解拉格朗日乘子法和KKT條件
    一. L(a, b, x)對x求導為零;2. h(x) =0;3. a*g(x) = 0;求取這三個等式之後就能得到候選最優值。其中第三個式子非常有趣,因為g(x)<=0,如果要滿足這個等式,必須a=0或者g(x)=0. 這是SVM的很多重要性質的來源,如支持向量的概念。二.
  • 買豬肉別只會挑「肥瘦瘦」,老屠夫:看著三點,好豬肉一挑一個準
    隨著人們生活水平的不斷提高,向肉類這樣的東西也經常出現在我們的餐桌上,而這些肉類中最常出現的可能就是豬肉了吧,我們對於豬肉的喜愛以至於很多人在過年的時候特別是在農村,都會殺一頭豬來吃,但是在平時的月份呢,我們一般都是去市場上挑選豬肉,而我們在買豬肉的時候很多人可能只關乎這塊肉肥肉多,還是瘦肉多
  • 買洗衣粉不用挑,認準這倆字!小心衣服白洗了!
    市面上的洗衣粉琳琅滿目、各種噱頭每次購買都是挑來挑去,花了眼其實,選購洗衣粉只要看準這兩個字洗衣省時省力又潔淨認準「加酶」清潔衣服的時候,經常搓洗半天,汙漬還是很明顯/ 普通洗衣粉vs濃縮洗衣粉 /選購洗衣粉,經常看到有一些標註是濃縮洗衣粉,這是什麼意思呢?濃縮洗衣粉與普通洗衣粉有什麼區別呢?濃縮洗衣粉,泡沫少,容易清洗,節約用水,而且去汙能力極強。而普通洗衣粉泡沫較為豐富,去汙力相對較弱。如果使用洗衣機的話,小編推薦濃縮型洗衣粉噢。
  • 塵心一挑四隻斷臂,還能重創3個,為何老龍一挑幾連人都沒了?
    在獵魂行動中,塵心一個人單挑4位封號鬥羅,拼著斷臂的代價,強行突破97級,如此才能重創其中三位。同樣是一挑幾,藍電家族的宗主老龍,和對方的一個九長老同歸於盡,不是說藍電霸王龍武魂是天下第一獸武魂嗎?怎麼只能帶走一個?
  • 《地獄男爵》震撼視效大賞:地獄男爵生猛一挑三
    好萊塢超英特效巨製《地獄男爵:血皇后崛起》將於11月9日下周一全國上映,現正火爆預售中。喪屍巨人出沒 男爵生猛一挑三地獄男爵受歐西裡斯會社的邀請來到英國解決史前巨人,這個組織和地獄男爵所在的超自然調查防禦局(B.P.R.D)一樣,都是類似於神盾局的組織,專門負責調查和解決超自然事件。原本被埋葬的史前巨人變成喪屍爬出墳墓,在鄉間曠野作亂捕食人類。
  • 熊出沒:實力最強4大神獸,糰子屈居第二,第一能輕鬆一挑三
    《熊出沒》主要講述的是光頭強與熊大熊二之間的鬥智鬥勇,裡面很少有打鬥的場景,不過即使如此,在熊出沒系列中,還是出現過一些實力強大的神獸,例如以下這四大神獸,其中糰子屈居第二,這個能輕鬆一挑三。在《熊出沒之奇幻空間》劇場版中,奪寶軍團的大Boss發明了從三次元穿越到二次元的機器,他們準備利用這種機器,到二次元世界裡抓捕九色神鹿,好在最終被光頭強他們成功制止。九色神鹿雖然是神獸,但是它的戰鬥能力並不強,它擁有的是讓大地恢復生機的能力。
  • 搞笑一刻:花木蘭,鎧和守約被宮本武藏一挑三,還好最後李白出手相救
    搞笑一刻:花木蘭,鎧和守約被宮本武藏一挑三,還好最後李白出手相救
  • ufc:小鷹vs夜魔249約戰不成,亨利vs奧爾多250也恐難以上演!
    Ufc250頭條大戰原定於是ufc第四位雙冠王亨利塞胡多對戰前ufc羽量級145磅的冠軍何塞奧爾多,儘管上一場比賽何塞奧爾多降重來到了135磅而且還以分歧判定的方式輸掉了比賽,但是白大拿依然是給他安排了這場比賽,雖然說亨利塞胡多有點欺負何塞的因素,應為對戰何塞的風險相對於來說還是比較小的,何塞的年齡已經是有些大了,而且在之前比賽當中出現過體能無法供應的情況,挑這樣的一個對手
  • UFC 245:奧爾多vs莫賴斯,菲波vs彼得·嚴
    本次UFC 245陣容豪華,當天有三場冠軍金腰帶爭霸賽。頭條主賽是UFC次中量級冠軍爭霸賽上,現任冠軍卡馬魯·烏斯曼(15-1,6 K,1 S)對陣挑戰者前臨時冠軍科爾比·卡溫頓(15-1,2 K,5 S)。UFC羽量級冠軍爭霸賽上,現任冠軍麥克斯·霍洛威(21-4,10 K,2 S)對陣澳大利亞悍將亞歷山大·沃卡諾夫斯基(20-1,11 K,3 S)。
  • 挑選無花果時,要牢記「4挑3不挑」,很多人不懂,難怪又酸又澀
    【選無花果4挑】一挑:挑顏色說到無花果的顏色,有兩種,一種是綠色的,另外一種是紫色的,無論哪一種顏色,未成熟時都是青澀的,這種不要食用對胃腸不好,一般成熟的無花果顏色比較深,紫色的當然是顏色越紫越好,果實越軟成熟度越高,但是不宜存放
  • 不倫瑞克vs杜塞道夫 升班馬vs降班馬又是一場碾壓局?
    不倫瑞克vs杜塞道夫 升班馬vs降班馬又是一場碾壓局? 原標題:【料到體育】德乙:不倫瑞克vs杜塞道夫 升班馬vs降班馬又是一場碾壓局?德乙:不倫瑞克vs杜塞道夫不倫瑞克:
  • 選出「好頭雁」,長虹鄉「一肩挑」意向人選現場拉練比拼
    9月22日,長虹鄉基層黨建「狀元奪魁」推進會暨「一肩挑」意向人選拉練比拼活動在芳村村鄉村振興講堂拉開帷幕。各村組團聯村領隊、村兩委幹部、「一肩挑」意向人選以及全體鄉幹部共計150餘人參加。   會前,與會人員在集鎮廣場參觀「一肩挑」意向人選和村級組織換屆選舉紀律「十嚴禁十不準」的教育展板。同時,「一肩挑」意向人選在承諾牆上簽名,表決心。
  • UFC194預測:奧爾多VS康納 韋德曼VS盧克超級戰
    (#為選手目前在該量級的官方排名)  主賽:  羽量級冠軍戰:何塞-奧爾多(Jose Aldo)(C) vs 康納-麥格雷戈(Conor McGregor)(IC)  何塞-奧爾多目前戰績為25勝1負,其中14次KO,2次降服獲勝。
  • 三本女主是公主的古言小說推薦:重生的公主vs侍衛!
    三本女主是公主的古言小說推薦:重生的公主vs侍衛!1.    可還沒過一炷香,一陣匆匆的腳步聲又傳了過來。  李述看書時最厭煩別人打擾,「啪」一下就將書合了起來,轉身皺眉斥責道,「不要吵!」    可這麼一轉身,隔著竹簾才發現來人竟然是崔進之身邊的一個隨從,名叫崔林,他滿頭大汗,在水榭外一臉焦急地跟紅螺在說什麼。
  • 螃蟹挑公的好,還是母的好?海鮮老闆:一挑錯,吃的全是油!
    秋季是吃螃蟹的季節,此時的螃蟹黃多油滿,殼薄肉厚,吃起來鮮味十足,那麼愛吃海鮮的吃貨們,這個季節肯定少不了吃螃蟹的,那麼大家買螃蟹時,是挑公的還是母的呢?螃蟹到底是挑公的好,還是母的好?海鮮老闆:一挑錯,吃的全是油!
  • 華埠鎮首批「一肩挑」意向人選現場拉練比拼,談發展、表決心、作...
    「華民村原來負債100多萬元,現在擁有村集體資產3000多萬元,每年經營性收入50多萬元……」7月29日上午,華埠鎮華民村黨支部書記戴康武走上首批「一肩挑」意向人選拉練比拼擂臺,激情飛揚地講述自己任期內的工作實績,以及對未來
  • 11月26日歐羅巴杯:莫爾德vs阿森納,裡爾vsAC米蘭分析
    北京時間11月26日,歡迎大家來到我的足球頻道,昨天狀態不佳,但是狀態這個東西提一提,拉一拉自然會有回升,所以今天賽程上全是歐羅巴杯,就給大家挑了兩場歐羅巴杯。莫爾德vs阿森納(sp:5.0,3.8,1.65)莫爾德挪威超的球隊,現在排名聯賽第二,上一輪在客場3:0大勝這個斯坦貝克,狀態十分火熱,近十場拿下了7勝2平1負的恐怖戰績;而客隊阿森納英超的老牌強隊,只不過最近幾年已經開始式微,不復當年之勇,連續聯賽兩輪不勝,上一場客場0:0升班馬利茲聯,而且傷病問題也是凸顯的很嚴重;
  • 北愛爾蘭vs羅馬尼亞,愛爾蘭vs保加利亞,科索沃vs摩爾多瓦
    北愛爾蘭vs羅馬尼亞北愛爾蘭:球隊大名單幾乎由清一色的英倫三島球員組成,整體球風比較硬朗,競爭力不低;連續5場各項賽事總進球數保持在3球以下,近期踢法十分謹慎。羅馬尼亞:球隊近五場比賽有四場總進球數大於3球,總進球數的走勢穩定,近期踢法偏向奔放;上一仗友誼賽面對白俄羅斯狂進5球,其中有4名球員有球入帳,火力有明顯提升。
  • 藍電霸王龍老宗主一挑四帶走一個,那他等級是否有96級以上?
    在獵魂行動中,七寶琉璃宗那邊有4個封號鬥羅,最終是劍鬥羅加寧風致,以斷臂為代價,重傷對面三個封號鬥羅。藍電霸王龍家族這邊情況不好,全族被滅,只有老龍一個封號鬥羅,最終結果是帶走了對方一位封號鬥羅,那麼這老龍的等級應該在什麼層次呢?
  • 英超直播:維拉vs紐卡斯爾,伯恩利vs埃弗頓,曼城vs富勒姆
    維拉vs紐卡斯爾維拉近5場比賽輸掉4場,球隊打法逐漸被英超各隊所熟悉,而且陣容深度不高,尤其是一些球員還要參加國家隊比賽周,在疲勞加傷病等困擾後,成績下滑就是這些中遊隊伍必然的結果。比如中場大將巴克利在布萊頓的比賽中受傷就對球隊的戰力造成極大的影響。