拉格朗日乘子法
這一節(jié)主要描述約束條件下的函數(shù)極值,涉及拉格朗日乘子法及等高線相關(guān)知識(shí)。
問題引出
求雙曲線上離原點(diǎn)最近的點(diǎn)
我們根據(jù)問題的描述來提煉出問題對(duì)應(yīng)的數(shù)學(xué)模型,即:
min(兩點(diǎn)之間的歐氏距離應(yīng)該還要進(jìn)行開方,但是這并不影響最終的結(jié)果,所以進(jìn)行了簡(jiǎn)化,去掉了平方)
s.t. (s.t.表示約束條件)
根據(jù)上式我們可以知道這是一個(gè)典型的約束優(yōu)化問題,其實(shí)我們?cè)诮膺@個(gè)問題時(shí)最簡(jiǎn)單的解法就是通過約束條件將其中的一個(gè)變量用另外一個(gè)變量進(jìn)行替換,然后代入優(yōu)化的函數(shù)就可以求出極值。(即將待會(huì)原式,求解原式一階導(dǎo)等于0的
值,再代入)。在這里,引出拉格朗日乘子法,并利用其思想進(jìn)行求解。
將的曲線族畫出來,如下圖所示,當(dāng)曲線族中的圓與
曲線進(jìn)行相切時(shí),切點(diǎn)到原點(diǎn)的距離最短。也就是說,當(dāng)
的等高線(這里先暫時(shí)用一下等高線的概念,后面會(huì)再進(jìn)行解釋)和雙曲線
相切時(shí),我們可以得到上述優(yōu)化問題的一個(gè)極值。(有可能是極大值,也有可能是極小值)。

Contour.png
現(xiàn)在原問題可以轉(zhuǎn)化為求當(dāng)
如果兩個(gè)曲線相切,那么它們的切線相同,即法向量是相互平行的,
由
這時(shí),我們將原有的約束優(yōu)化問題轉(zhuǎn)化為了一種對(duì)偶的無約束的優(yōu)化問題,如下所示:

Pair.jpg
通過求解右邊的方程組我們可以獲取原問題的解,即:
通過求解上式可得,
通過舉上述這個(gè)簡(jiǎn)單的例子就是為了體會(huì)拉格朗日乘數(shù)法的思想,即通過引入拉格朗日乘子(
拉格朗日乘子法基本形態(tài)
求函數(shù)在滿足
下的條件極值,可以轉(zhuǎn)化為函數(shù)
的無條件極值問題。

GradientParallel.png
綠線標(biāo)出的是約束
從圖上可以直觀地看出存在可能的極值點(diǎn)
也就是說,存在實(shí)數(shù)
<font color=##ff0000>上式推導(dǎo)過程中,所說的兩函數(shù)在極值點(diǎn)處的梯度平行,是如何得出的?</font>

Intuition.png
<font color=##ff0000>把拉格朗日乘子法的數(shù)學(xué)化抽象表達(dá)直觀化,那就是,當(dāng)函數(shù)上某點(diǎn)的梯度在約束曲線切向沒有分量時(shí),你就到達(dá)局部最高點(diǎn)了;換句話說,如果函數(shù)的梯度在約束曲線切向有分量,那么你就可以繼續(xù)順著這個(gè)分量移動(dòng)以達(dá)到一個(gè)更高的高度。我們知道,約束曲線的切向是垂直于法向量的,所以這實(shí)際就是說函數(shù)的梯度要和曲線的法向量平行。</font>
約束曲線的法向是什么?假如一個(gè)約束曲線表達(dá)為
為什么梯度的方向與等高線的切線方向垂直,或者就是曲線的法向量?
假設(shè)我們的函數(shù)為
這條曲線
則我們稱平面曲線
由于等高線
則等高線
(
假設(shè)函數(shù)
所以
又因?yàn)樘荻鹊挠?jì)算式子為:
則可以得到梯度的方向?yàn)椋?br>
以上可以看出梯度的方向與等高線