@[轉載]拉格朗日乘子法如何理解?
鏈接:https://www.zhihu.com/question/38586401/answer/105273125
拉格朗日乘數法(Lagrange multiplier)有很直觀的幾何意義。舉個2維的例子來說明:假設有自變量,給定約束條件c,要求在約束下的極值。我們可以畫出的等高線圖,如下圖。此時,約束由於只有一個自由度,因此也是圖中的一條曲線(紅色曲線所示)。顯然地,當約束曲線與某一條等高線相切時,函數取得極值。兩曲線相切等價於兩曲線在切點處擁有共線的法向量。因此可得函數與在切點處的梯度(gradient)成正比。於是我們便可以列出方程組求解切點的座標,進而得到函數的極值。
1 與原點的最短距離
假如有方程:
圖像是這個樣子滴:
現在我們想求其上的點與原點的最短距離:
這裏介紹一種解題思路。首先,與原點距離爲a 的點全部在半徑爲a 的圓上:
那麼,我們逐漸擴大圓的半徑:
顯然,第一次與 相交的點就是距離原點最近的點:
此時,圓和曲線相切,也就是在該點切線相同:
至此,我們分析出了:
2 等高線
爲了繼續解題,需要引入等高線。這些同心圓:
可以看作函數 的等高線:
根據梯度的性質(關於梯度可以查看如何通俗地理解梯度?),梯度向量:
是等高線的法線:
另外一個函數 的等高線爲:
之前的曲線 就是其中值爲3的等高線:
因此,梯度向量:
也垂直於等高線 :
3 拉格朗日乘子法
3.1 求解
根據之前的兩個分析:
綜合可知,在相切點,圓的梯度向量和曲線的梯度向量平行:
也就是梯度向量平行,用數學符號表示爲:
還必須引入 這個條件,否則這麼多等高線,不知道指的是哪一根:
因此聯立方程:
求一下試試:
這就是拉格朗日乘子法。
3.2 定義
要求函數f 在g 約束下的極值這種問題可以表示爲:
意思是subject to,服從於,約束於的意思。
可以列出方程組進行求解:
用這個定義來翻譯下剛纔的例子,要求:
令:
求:
聯立方程進行求解:
3.3 變形
這個定義還有種變形也比較常見,要求:
定義:
求解下面方程組即可得到答案:
把等式左邊的偏導算出來就和上面的定義是一樣的了。
3.4 多個約束條件
如果增加一個約束條件呢?比如說:
求:
從圖上看約束條件是這樣的:
很顯然所求的距離是這樣的:
那這三者的法線又有什麼關係呢?的法線是 和 的法線的線性組合:
假設:
那麼線性組合就表示爲:
聯立方程:
即可求解。
往更高緯度走的話,多約束條件的情況下,問題變爲了 圍成的曲線 C 和f 相切,直觀上看 必然在 張成的空間中:
這點的嚴格性這裏就不證明了。
兩條曲線相切,意味着他們在這點的法線平行,也就是法向量只差一個任意的常數乘子(取爲, 我們把這個式子的右邊移到左邊,並把常數移進微分算子,就得到。
把這個式子重新解釋一下,這個就是函數無約束情況下極值點的充分條件。