直觀理解拉格朗日乘子法

2021-10-05 18:20:44 字數 1104 閱讀 1514

拉格朗日乘數法(lagrange multiplier)是一種尋找多元函式在一組約束下的極值的方法。通過引入拉格朗日乘子,可將d個變數和k個約束條件的最優化為題轉化成d+k個變數的無約束優化問題求解。

舉個2維的例子來說明:

假設有自變數x和y,給定約束條件g(x,y)=c,要求f(x,y)在約束g下的極值。

我們看到隱函式f(x,y)可以描述為乙個二維平面(即圖中的一座山),我們可以畫出它的等高線,如下圖。此時,約束g(x,y)=c由於只有乙個自由度,因此是圖中的一條曲線(紅色曲線所示),這條曲線是在x0y平面上的,由於沒有z座標,所以它可以在任何乙個等高線平面,如圖中在等高線平面3的l1,在等高線平面4的l2(l1,l2都是曲線g(x,y)=c)。我們的任務就是求f(x,y)在滿足g(x,y)=c條件下的最小值,很明顯就是找到與曲線l相切的最低的等高線平面。在最小值處,約束曲線不可能和等高線相交,一定是相切。比如我們看到l2是跟平面4是相交的,顯然它比平面3要高。

之後,我們根據以下兩條性質:

1. 對於約束曲面(在這裡由於維度過低,是約束曲線)上的任意點x,該點的梯度

2.在最優點x*,目標函式在該點的梯度

上面的描述源自周志華《機器學習》,其實就是因為g(x,y)=c的法向量是垂直於切線的,而g(x,y)=c的法向量又等於g(x,y)的梯度(對應第一條),f(x,y)的的梯度是垂直於等高線切線的(對應第2條)。所以在他們倆相切的地方,f(x,y)的梯度和g(x,y)的梯度方向必然相同或者相反(注:如果這段話你不太清楚,可以了解一下: 直觀理解偏導數、方向導數和法向量和梯度)

所以存在

注:這裡的x是多維向量,在二維情況下等價於上面的f(x,y)。

經過上面的分析,我們知道最優點x*必然滿足以下兩條方程

進而我們可以定義拉格朗日函式:

這時候我們只要令函式l的導數為零(包括對x的偏導數和對

至此,我們就把原優化問題轉換成了對拉格朗日函式的無約束優化問題。

三、參考資料

周志華《機器學習》

對拉格朗日乘子法的理解

我們什麼時候用拉格朗日乘子法?在求二次優化 或者寬泛點說,凸優化 的時候,一般寫法是,我們要求乙個函式的min,然後這個函式一般是凸函式,然後,這個函式的自變數還有好幾個約束 等式約束and不等式約束 我們的拉格朗日式子寫出來,寫出來的是用原函式減去alpha 等式約束,減去beta 不等式約束 因...

拉格朗日乘子法的通俗理解

這裡舉個簡單的例子吧 在家裡做蛋糕,假如只計算雞蛋和牛奶的 其中雞蛋的 為4.5 斤,牛奶為12 公升,而預算剛好是20 那麼就有 經過分析,蛋糕的總量跟兩種原材料 x1,x2 具有如下關係 那麼最少能做多少蛋糕 在 線性最小二乘法的通俗理解 中提到極值點可以通過求偏導來實現 函式 f ff x1,...

深入理解拉格朗日乘子法

乙個最短路徑問題 假設你在m點,需要先到河邊再回到c點,如何規劃路線最短?假設 河流曲線滿足方程 g x,y 0 例如 如果它是乙個圓 g x,y x 2 y 2 r 2 0 用p表示河邊上的任意 p x,y 點,用 d m,p 表示m,p之間距離,那麼問題可以描述為 max f p 約束於 g p...