拉格朗日函數為什麼要先最大化?
求解帶條件的最優化問題,可使用拉格朗日乘數法轉化為無條件約束優化。對於原函數
引入拉格朗日乘子,定義拉格朗日函數:
對公式(2)先最大化再最小化,即
在滿足KKT條件的情況下,公式(1)和公式(3)是等價的。
暫且拋開KKT條件的具體細節。很明顯,如果 是非零常數,那麼這兩個式子是不可能相等的。現在把這兩組乘子看成自變數,然後調節之使
最大化。對於公式(3),我們將
分成兩部分分析:
1. 可行解區域內,此時公式(1)的約束條件都得到滿足。因為 , 所以
不管如何變化,必然有
。
,且限定了
,則
最大值為0。綜上,在可行解區域內
2. 可行解區域外,此時公式(1)的約束條件未滿足。若 ,則最大化後
。若
,則最大化後
。所以在可行解區域外
綜合上面兩個論域, 在可行解區域內最小化,等於
的最小化,而在可行解區域外,
無極值。這樣當我們嘗試最小化
時也就相當於求解公式(1)了。
可見,通過構造拉格朗日函數,我們將有約束的優化問題轉化成了無約束的優化問題。
參考資料:
- 耳東陳:零基礎學SVM—Support Vector Machine(一)
2. 《統計學習方法》李航,第七章。
推薦閱讀: