今天來討論多元函數求極值問題,在Logistic回歸用牛頓迭代法求參數會用到,所以很有必要把它研究清楚。
回想一下,一元函數求極值問題我們是怎樣做的?比如對於凹函數,先求一階導數,得
,
由於極值處導數一定為零,但是導數等於零的點不一定就有極值,比如。所以還需要進一步判斷,對
函數繼續求二階導得到,因為在駐點
處二階導數
成立,所以
在處取得極小值,二階導數在這里的意義就是判斷函數局部的凹凸性。
在多元函數中求極值的方法類似,只是在判斷凹凸性這里引入了一個矩陣,叫做Hessian矩陣。
如果實值多元函數在定義域內二階連續可導,那么我們求它的極值,首先對所有
求偏導,即
得到個方程如下
通過這個方程可以解得駐點
,這個駐點是一個長度為
的一維向量。但是我們僅僅得到這個駐點,其實在這
個駐點有3種情況,分別是:局部極大值,局部極小值和非極值。
所以接下來要做的事就是判斷這個駐點屬於這3個中的哪一個。所以就引入了Hessian矩陣,也就是說它用來
判斷在多元函數的凹凸性問題。
Hessian矩陣是一個多元函數的二階偏導數構成的方陣,描述了函數的局部曲率,常用於牛頓迭代法解決優化問題。
例如對於上面的多元函數,如果它的二階偏導數都存在,那么Hessian矩陣如下
如果函數在定義域內二階連續可導,那么
的Hessian矩陣
在定義域內為對稱矩陣,因為如果函數
連
續,則二階偏導數的求導順序沒有區別,即
有了Hessian矩陣,我們就可以判斷上述極值的3種情況了,結論如下
(1)如果是正定矩陣,則臨界點
處是一個局部極小值
(2)如果是負定矩陣,則臨界點
處是一個局部極大值
(3)如果是不定矩陣,則臨界點
處不是極值
接下來繼續學習如何判斷一個矩陣是否是正定的,負定的,還是不定的。
一個最常用的方法就是順序主子式。實對稱矩陣為正定矩陣的充要條件是
的各順序主子式都大於零。
由於這個方法涉及到行列式的計算,比較麻煩! 對於實二次型矩陣還有一個方法,描述如下
實二次型矩陣為正定二次型的充要條件是
的矩陣
的特征值全大於零。為負定二次型的充要條
件是的矩陣
的特征值全小於零,否則是不定的。
拉格朗日乘數法
拉格朗日乘數法是用來求條件極值的,極值問題有兩類,其一,求函數在給定區間上的極值,對自變量
沒有其它要求,這種極值稱為無條件極值。其二,對自變量有一些附加的約束條件限制下的極值,稱為
條件極值。例如給定橢球
求這個橢球的內接長方體的最大體積。這個問題實際上就是條件極值問題,即在條件
下,求的最大值。
當然這個問題實際可以先根據條件消去,然后帶入轉化為無條件極值問題來處理。但是有時候這樣做
很困難,甚至是做不到的,這時候就需要用拉格朗日乘數法了。如下描述
求函數在滿足
下的條件極值,可以轉化為函數
的無條件極值問題。如果是函數
的駐點,則
就是條件極值的嫌疑點。
回到上面的題目,通過拉格朗日乘數法將問題轉化為
對求偏導得到
聯立前面三個方程得到和
,帶入第四個方程解之
帶入解得最大體積為
拉格朗日乘數法對一般多元函數在多個附加條件下的條件極值問題也適用。例如
題目:求旋轉拋物面與平面
的交線上到坐標原點最近的點與最遠的點。
分析:設,令
的所有
偏導數為零,得到
解得兩個嫌疑點分別為
由於
所以,與原點最近的點是,最遠的點是
。
題目:求離散分布的最大熵。
分析:因為離散分布的熵表示如下
而約束條件為
要求函數的最大值,根據拉格朗日乘數法,設
對所有的求偏導數,得到
計算出這個等式的微分,得到
這說明所有的都相等,最終解得
因此,使用均勻分布可得到最大熵的值。