深入理解拉格朗日乘子法

2022-02-06 03:21:34 字數 2039 閱讀 7085

乙個最短路徑問題

假設你在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)=0\)。\(g(x,y)=x^2+y^2-r^2=0\)

如何求解問題?

1. 從幾何意義中獲得靈感:

首先,\(f(p)\) 是乙個標量(只有大小沒有方向),那麼在上圖的二維空間中必然存在了乙個標量場 \(f(p)\),即對於每乙個點p都對應著乙個 \(f(p)\)值,它代表經過該點的路徑總和是多少。

如果我們畫出它的等值線(場線),就會發現它呈橢圓向外輻射:

顯然,\(f(p)\)的等值線與河邊曲線的交點p即為我們想求的點。

那麼問題來了: 這樣的點滿足何種性質?(如果沒有性質也就無法列出關係式進行求解,但是這麼特殊的點極有可能存在良好某種特性)

最直觀的性質: 等值線(橢圓)在p點的法向量n與河邊曲線的法向量m平行:

而在多元微積分中,乙個函式h在某一點p的梯度是點p所在等值線(二維)或等值面(三維)的法向量,即\(n= \nabla h(p)\) ,所以對於函式 f , g :

\(n = \lambda m \rightarrow \nabla f(p) = \lambda \, \nabla g(p) \rightarrow \begin f_\\ f_ \end = \lambda\begin g_\\ g_ \end \rightarrow f_ = \lambda g_ \; (1) \\ f_ = \lambda g_ \; (2)\)

即由相交點的性質我們得到了2個關係式(因為是二維平面,對於三維則可以得到三個關係式,以此類推),

再加上我們的約束條件:

\(g(p)=g(x,y)=0 \; (3)\)

一共三個關係式。由線性代數中知識可知3個關係式,3個未知量,\((x,y,\lambda)\) 極可能有唯一解,當然也不排除會出現多個解甚至無窮多解 (例如下圖河邊是一條直線,且m,c就在河邊時)。

2. 從數學公式中獲得靈感

仍然是問題:

\(max f(p) = d(m,p) + d(p, c)\)

\(subject to: g(p) = 0\)

我們知道在多元微積分中如果想求乙個函式的極值一般的做法是把 \(\nabla f(p)=0\) ,如何把這個公式和我們的約束條件 \(g(p)=0\) 統一在一起呢?

答案是引入\(\lambda\) 並且定義乙個新的函式 \(f(p,\lambda)=f(p)- \lambda g(p)\) ,

令: \(\nabla f(p, \lambda) = \nabla f(x,y, \lambda)= \beginf_ \\f_ \\f_\end=0\) 與我們要求解的優化問題是等價的。

\(f_ = 0 \rightarrow f_ - \lambda g_ = 0 \rightarrow f_ = \lambda g_ \; (1) \\f_ = 0 \rightarrow f_ - \lambda g_ = 0 \rightarrow f_ = \lambda g_ \; (2)\\g(x,y) = 0 \; (3)\)

直觀理解拉格朗日乘子法

拉格朗日乘數法 lagrange multiplier 是一種尋找多元函式在一組約束下的極值的方法。通過引入拉格朗日乘子,可將d個變數和k個約束條件的最優化為題轉化成d k個變數的無約束優化問題求解。舉個2維的例子來說明 假設有自變數x和y,給定約束條件g x,y c,要求f x,y 在約束g下的極...

對拉格朗日乘子法的理解

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

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

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