黑塞矩陣

来自testwiki
跳转到导航 跳转到搜索

Template:Overly detailed

海森矩陣(德語:Hesse-Matrix;英語:Template:LangTemplate:Lang),又譯作黑塞矩阵海塞(赛)矩陣海瑟矩陣等,是一個由多變量實值函數的所有二階偏導數組成的方陣,由德國數學家奧托·黑塞引入並以其命名。

定義

假設有一實值函數f(x1,x2,,xn),如果 f的所有二階偏導數都存在並在定義域內連續,那麼函數f的黑塞矩陣為

𝐇=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2]

或使用下標記號表示為

𝐇ij=2fxixj

顯然黑塞矩陣 𝐇是一個n×n方陣。黑塞矩陣的行列式被稱爲黑塞式(英語:Template:Lang),而需注意的是英語環境下使用Hessian一詞時可能指上述矩陣也可能指上述矩陣的行列式[1]

性質

高等數學知識可知,若一元函數f(x)x=x0點的某個鄰域內具有任意階導數,則函數f(x)x=x0點處的泰勒展開式

f(x)=f(x0)+f(x0)Δx+f(x0)2!Δx2+

其中,Δx=xx0

同理,二元函數f(x1,x2)x0(x10,x20)點處的泰勒展開式為

f(x1,x2)=f(x10,x20)+fx1(x10,x20)Δx1+fx2(x10,x20)Δx2+12[fx1x1(x10,x20)Δx12+2fx1x2(x10,x20)Δx1Δx2+fx2x2(x10,x20)Δx22]+

其中,Δx1=x1x10Δx2=x2x20fx1=fx1fx2=fx2fx1x1=2fx12fx2x2=2fx22fx1x2=2fx1x2=2fx2x1

將上述展開式寫成矩陣形式,則有

f(x)=f(x0)+f(x0)TΔx+12ΔxTG(x0)Δx+

其中,Δx=[Δx1Δx2]ΔxT=[Δx1Δx2]Δx轉置f(x0)=[fx1fx2]是函數f(x1,x2)x0(x10,x20)梯度,矩陣

G(x0)=[2fx122fx1x22fx2x12fx22]x0

即函數f(x1,x2)x0(x10,x20)點處的2×2黑塞矩阵。它是由函数f(x1,x2)x0(x10,x20)点处的所有二階偏導數所組成的方陣。

由函數的二次連續性,有

2fx1x2=2fx2x1

所以,黑塞矩陣G(x0)對稱矩陣

將二元函數的泰勒展開式推廣到多元函數,函數f(x1,x2,,xn)x0(x1,x2,,xn)點處的泰勒展開式為

f(x)=f(x0)+f(x0)TΔx+12ΔxTG(x0)Δx+

其中,f(x0)=[fx1fx2fxn]x0T 為函數f(x)x0(x1,x2,,xn)點的梯度,

G(x0)=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2]x0

為函數f(x)x0(x1,x2,,xn)點的n×n黑塞矩陣。若函數有n次連續性,則函數的n×n黑塞矩陣是對稱矩陣。

說明:在優化設計領域中,黑塞矩陣常用G表示,且梯度有時用g表示。[2]

函數f的黑塞矩陣和雅可比矩陣有如下關係:

H(f)=J(f)T

即函數f的黑塞矩陣等於其梯度的雅可比矩陣。

應用

函數的極值條件

對於一元函数f(x),在給定區間內某x=x0點處可導,並在x=x0點處取得極值,其必要條件

f(x0)=0

即函數f(x)的極值必定在駐點處取得,或者說可導函數f(x)的極值點必定是駐點;但反過來,函數的駐點不一定是極值點。檢驗駐點是否為極值點,可以採用二階導數的正負號來判斷。根據函數f(x)x=x0點處的泰勒展開式,考慮到上述極值必要條件,有

f(x)=f(x0)+f(x0)2!Δx2+

f(x)x=x0點處取得極小值,則要求在x=x0某一鄰域內一切點x都必須滿足

f(x)f(x0)>0

即要求

f(x0)2!Δx2>0

亦即要求

f(x0)>0

f(x)x=x0點處取得極大值的討論與之類似。於是有極值充分條件

設一元函数f(x)x=x0點處具有二階導數,且f(x0)=0f(x0)0,則

  1. f(x0)>0時,函數f(x)x=x0處取得極小值;
  2. f(x0)<0時,函數f(x)x=x0處取得極大值。

而當f(x0)=0時,無法直接判斷,還需要逐次檢驗其更高階導數的正負號。由此有一个規律:若其開始不為零的導數階數為偶數,則駐點是極值點;若為奇數,則為拐點,而不是極值點。

對於二元函数f(x1,x2),在給定區域內某x0(x10,x20)點處可導,並在x0(x10,x20)點處取得極值,其必要條件

fx1(x0)=fx2(x0)=0

f(x0)=0

同樣,這只是必要條件,要進一步判斷x0(x10,x20)是否為極值點需要找到取得極值的充分條件。根據函數f(x1,x2)x0(x10,x20)點處的泰勒展開式,考慮到上述極值必要條件,有

f(x1,x2)=f(x10,x20)+12[fx1x1(x0)Δx12+2fx1x2(x0)Δx1Δx2+fx2x2(x0)Δx22]+

A=fx1x1(x0)B=fx1x2(x0)C=fx2x2(x0),則

f(x1,x2)=f(x10,x20)+12[AΔx12+2BΔx1Δx2+CΔx22]+

f(x1,x2)=f(x10,x20)+12A[(AΔx1+BΔx2)2+(ACB2)Δx22]+

f(x1,x2)x0(x10,x20)點處取得極小值,則要求在x0(x10,x20)某一鄰域內一切點x都必須滿足

f(x1,x2)f(x10,x20)>0

即要求

12A[(AΔx1+BΔx2)2+(ACB2)Δx22]>0

亦即要求A>0ACB2>0


2fx12|x0>0

[2fx122fx22(2fx1x2)2]x0>0

此條件反映了f(x1,x2)x0(x10,x20)點處的黑塞矩陣G(x0)的各階主子式都大於零,即對於

G(x0)=[2fx122fx1x22fx2x12fx22]x0

要求
2fx12|x0>0


|G(x0)|=|2fx122fx1x22fx2x12fx22|x0>0

f((x1,x2)x0(x10,x20)點處取得極大值的討論與之類似。於是有極值充分條件:

設二元函数f(x1,x2)x0(x10,x20)點的鄰域內連續且具有一階和二階連續偏導數,又有fx1(x0)=fx2(x0)=0,同時令A=fx1x1(x0)B=fx1x2(x0)C=fx2x2(x0),則

  1. A>0ACB2>0時,函數f(x1,x2)x0(x10,x20)處取得極小值;
  2. A<0ACB2>0時,函數f(x1,x2)x0(x10,x20)處取得極大值。

此外可以判斷,當ACB2<0時,函數f(x1,x2)x0(x10,x20)點處沒有極值,此點稱爲鞍點。而當ACB2=0時,無法直接判斷,對此,補充一個規律:當ACB2=0時,如果有A0,那麼函數f(x1,x2)x0(x10,x20)有極值,且當C>0有極小值,當C<0有極大值。

由線性代數的知識可知,若矩陣G(x0)滿足
2fx12|x0>0

|2fx122fx1x22fx2x12fx22|x0>0

則矩陣G(x0)正定矩陣,或者說矩陣G(x0)正定。

若矩陣G(x0)滿足
2fx12|x0<0

|2fx122fx1x22fx2x12fx22|x0>0

則矩陣G(x0)負定矩陣,或者說矩陣G(x0)負定。[3]

於是,二元函數f(x1,x2)x0(x10,x20)點處取得極值的條件表述為:二元函數f(x1,x2)x0(x10,x20)點處的黑塞矩陣正定,則取得極小值;在x0(x10,x20)點處的黑塞矩陣負定,則取得極大值。

對於多元函數f(x1,x2,,xn),若在x0(x1,x2,,xn)點處取得極值,則極值存在的必要條件為

f(x0)=[fx1fx2fxn]x0T=0

取得極小值的充分條件為

G(x0)=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2]x0

正定,即要求G(x0)的各階主子式都大於零,即
2fx12|x0>0


|2fx122fx1x22fx2x12fx22|x0>0



|G(x0)|>0
取得極大值的充分條件為

G(x0)=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2]x0

負定。[4][5][6]

拓展閱讀

參考文獻

Template:Reflist