黑塞矩陣

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

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

:\mathbf{H} = \begin{bmatrix}\frac {\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1\,\partial x_n} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2\,\partial x_n} \\ \\
\vdots & \vdots & \ddots & \vdots \\ \\
\frac{\partial^2 f}{\partial x_n\,\partial x_1} & \frac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2}
\end{bmatrix}\,

或使用下標記號表示為

:\mathbf{H}_{ij}=\frac{\partial^2f}{\partial x_i \partial x_j}

顯然黑塞矩陣 \mathbf{H}\,是一個n\times n\,方陣。黑塞矩陣的行列式被稱爲黑塞式(英語:),而需注意的是英語環境下使用Hessian一詞時可能指上述矩陣也可能指上述矩陣的行列式。

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

:f(x)=f(x_0)+f'(x_0)\Delta x+\frac {f*(x_0)}{2!}\Delta x^2+\cdots\,

其中,\Delta x=x-x_0\,。

同理,二元函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處的泰勒展開式為

:f(x_1,x_2)=f(x_{10},x_{20})+f_{x_1}(x_{10},x_{20})\Delta x_1+f_{x_2}(x_{10},x_{20})\Delta x_2+\frac {1}{2}[f_{x_1 x_1}(x_{10},x_{20})\Delta x_1^2+2f_{x_1 x_2}(x_{10},x_{20})\Delta x_1\Delta x_2+f_{x_2 x_2}(x_{10},x_{20})\Delta x_2^2]+\cdots\,

其中,\Delta x_1=x_1-x_{10}\,,\Delta x_2=x_2-x_{20}\,,f_{x_1}=\frac{\partial f}{\partial x_1}\,,f_{x_2}=\frac{\partial f}{\partial x_2}\,,f_{x_1x_1}=\frac{\partial^2 f}{\partial x_1^2}\,,f_{x_2x_2}=\frac{\partial^2 f}{\partial x_2^2}\,,f_{x_1x_2}=\frac{\partial^2 f}{\partial x_1 \partial x_2}=\frac{\partial^2 f}{\partial x_2 \partial x_1}\,。

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

:f(x)=f(x_0)+\nabla f(x_0)^{\mathrm T}\Delta x+\frac{1}{2}\Delta x^{\mathrm T}G(x_0)\Delta x+\cdots

其中,\Delta x=\begin{bmatrix}\Delta x_1 \\ \\ \Delta x_2\end{bmatrix}\,,\Delta x^{\mathrm T}=\begin{bmatrix}\Delta x_1 & \Delta x_2\end{bmatrix}\,是\Delta x的轉置,\nabla f(x_0)=\begin{bmatrix}\frac{\partial f}{\partial x_1}\\ \\
\frac{\partial f}{\partial x_2}\end{bmatrix}\,是函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,的梯度,矩陣

:G(x_0)=\begin{bmatrix}\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{bmatrix}_{x_0}\,

即函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處的2\times2\,黑塞矩阵。它是由函数f(x_1,x_2)在x_0(x_{10},x_{20})点处的所有二階偏導數所組成的方陣。

由函數的二次連續性,有

:\frac{\partial^2 f}{\partial x_1 \partial x_2}=\frac{\partial^2 f}{\partial x_2 \partial x_1}

所以,黑塞矩陣G(x_0)\,为對稱矩陣。

將二元函數的泰勒展開式推廣到多元函數,函數f(x_1,x_2,\cdots,x_n)\,在x_0(x_1,x_2,\cdots,x_n)\,點處的泰勒展開式為

:f(x)=f(x_0)+\nabla f(x_0)^{\mathrm T}\Delta x+\frac {1}{2}\Delta x^{\mathrm T}G(x_0)\Delta x+\cdots\,

其中,\nabla f(x_0)=\begin{bmatrix}\frac {\partial f}{\partial x_1} & \frac {\partial f}{\partial x_2} & \cdots & \frac {\partial f}{\partial x_n}\end{bmatrix}_{x_0}^T\,
為函數f(x)在x_0(x_1,x_2,\cdots,x_n)\,點的梯度,

:G(x_0)= \begin{bmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1\,\partial x_n} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2\,\partial x_n} \\ \\
\vdots & \vdots & \ddots & \vdots \\ \\
\frac{\partial^2 f}{\partial x_n\,\partial x_1} & \frac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2}
\end{bmatrix}_{x_0}\,

為函數f(x)\,在x_0(x_1,x_2,\cdots,x_n)\,點的n\times n\,黑塞矩陣。若函數有n\,次連續性,則函數的n\times n\,黑塞矩陣是對稱矩陣。

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

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

:\mathrm H(f)=\mathrm J(\nabla f)^T\,

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

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

: f'(x_0)=0\,

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

:f(x)=f(x_0)+\frac {f*(x_0)}{2!}\Delta x^2+\cdots\,

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

:f(x)-f(x_0)>0\,

即要求

:\frac {f*(x_0)}{2!}\Delta x^2>0\,

亦即要求

:f*(x_0)>0\,

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

設一元函数f(x)\,在x=x_0\,點處具有二階導數,且f'(x_0)=0\,,f*(x_0)\ne 0\,,則

#當f*(x_0)>0\,時,函數f(x)\,在x=x_0\,處取得極小值;
#當f*(x_0)時,函數f(x)\,在x=x_0\,處取得極大值。

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

對於二元函数f(x_1,x_2)\,,在給定區域內某x_0(x_{10}, x_{20})\,點處可導,並在x_0(x_{10}, x_{20})\,點處取得極值,其必要條件是

:f_{x_1}(x_0)=f_{x_2}(x_0)=0\,

:\nabla f(x_0)=0\,

同樣,這只是必要條件,要進一步判斷x_0(x_{10}, x_{20})\,是否為極值點需要找到取得極值的充分條件。根據函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處的泰勒展開式,考慮到上述極值必要條件,有

:f(x_1,x_2)=f(x_{10},x_{20})+\frac {1}{2}[f_{x_1 x_1}(x_0)\Delta x_1^2+2f_{x_1 x_2}(x_0)\Delta x_1\Delta x_2+f_{x_2 x_2}(x_0)\Delta x_2^2]+\cdots\,

設A=f_{x_1 x_1}(x_0)\,,B=f_{x_1 x_2}(x_0)\,,C=f_{x_2 x_2}(x_0)\,,則

:f(x_1,x_2)=f(x_{10},x_{20})+\frac {1}{2}[A\Delta x_1^2+2B\Delta x_1\Delta x_2+C\Delta x_2^2]+\cdots\,

:f(x_1,x_2)=f(x_{10},x_{20})+\frac {1}{2A}[(A\Delta x_1 + B\Delta x_2)^2+(AC-B^2)\Delta x_2^2]+\cdots\,

若f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處取得極小值,則要求在x_0(x_{10},x_{20})\,某一鄰域內一切點x\,都必須滿足

:f(x_1,x_2)-f(x_{10},x_{20})>0\,

即要求

:\frac {1}{2A}[(A\Delta x_1 + B\Delta x_2)^2+(AC-B^2)\Delta x_2^2]>0\,

亦即要求A>0\,,AC-B^2>0\,


\left.\frac{\partial^2 f}{\partial x_1^2}\right|_{x_0}>0\,

\begin{bmatrix}\frac{\partial^2 f}{\partial x_1^2}\frac{\partial^2 f}{\partial x_2^2}-(\frac{\partial^2 f}{\partial x_1\partial x_2})^2\end{bmatrix}_{x_0}>0\,

此條件反映了f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處的黑塞矩陣G(x_0)\,的各階主子式都大於零,即對於

:G(x_0)=\begin{bmatrix}\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{bmatrix}_{x_0}\,

要求

\left.\frac{\partial^2 f}{\partial x_1^2}\right|_{x_0}>0\,

| G(x_0) |=\begin{vmatrix}\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{vmatrix}_{x_0}>0\,

f((x_1,x_2)\,在x_0(x_{10},x_{20})\,點處取得極大值的討論與之類似。於是有極值充分條件:

設二元函数f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點的鄰域內連續且具有一階和二階連續偏導數,又有f_{x_1}(x_0)=f_{x_2}(x_0)=0\,,同時令A=f_{x_1 x_1}(x_0)\,,B=f_{x_1 x_2}(x_0)\,,C=f_{x_2 x_2}(x_0)\,,則

#當A>0\,,AC-B^2>0\,時,函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,處取得極小值;
#當A,AC-B^2>0\,時,函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,處取得極大值。

此外可以判斷,當AC-B^2時,函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處沒有極值,此點稱爲鞍點。而當AC-B^2=0\,時,無法直接判斷,對此,補充一個規律:當AC-B^2=0\,時,如果有A\equiv 0\,,那麼函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,有極值,且當C>0\,有極小值,當C有極大值。

由線性代數的知識可知,若矩陣G(x_0)\,滿足
\left.\frac{\partial^2 f}{\partial x_1^2}\right|_{x_0}>0\,

:\begin{vmatrix}\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{vmatrix}_{x_0}>0\,

則矩陣G(x_0)\,是正定矩陣,或者說矩陣G(x_0)\,正定。

若矩陣G(x_0)\,滿足
\left.\frac{\partial^2 f}{\partial x_1^2}\right|_{x_0}

:\begin{vmatrix}\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{vmatrix}_{x_0}>0\,

則矩陣G(x_0)\,是負定矩陣,或者說矩陣G(x_0)\,負定。

於是,二元函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處取得極值的條件表述為:二元函數f(x_1,x_2)\,在x_0(x_{10},x_{20})\,點處的黑塞矩陣正定,則取得極小值;在x_0(x_{10},x_{20})\,點處的黑塞矩陣負定,則取得極大值。

對於多元函數f(x_1,x_2,\cdots,x_n)\,,若在x_0(x_1,x_2,\cdots,x_n)\,點處取得極值,則極值存在的必要條件為

\nabla f(x_0)=\begin{bmatrix}\frac {\partial f}{\partial x_1} & \frac {\partial f}{\partial x_2} & \cdots & \frac {\partial f}{\partial x_n}\end{bmatrix}_{x_0}^T=0\,

取得極小值的充分條件為

:G(x_0)= \begin{bmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1\,\partial x_n} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2\,\partial x_n} \\ \\
\vdots & \vdots & \ddots & \vdots \\ \\
\frac{\partial^2 f}{\partial x_n\,\partial x_1} & \frac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2}
\end{bmatrix}_{x_0}\,

正定,即要求G(x_0)\,的各階主子式都大於零,即

\left.\frac{\partial^2 f}{\partial x_1^2}\right|_{x_0}>0\,

\begin{vmatrix}\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} \end{vmatrix}_{x_0}>0\,

\vdots

| G(x_0) |>0\,

取得極大值的充分條件為

:G(x_0)= \begin{bmatrix}
\frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_1\,\partial x_n} \\ \\
\frac{\partial^2 f}{\partial x_2\,\partial x_1} & \frac{\partial^2 f}{\partial x_2^2} & \cdots & \frac{\partial^2 f}{\partial x_2\,\partial x_n} \\ \\
\vdots & \vdots & \ddots & \vdots \\ \\
\frac{\partial^2 f}{\partial x_n\,\partial x_1} & \frac{\partial^2 f}{\partial x_n\,\partial x_2} & \cdots & \frac{\partial^2 f}{\partial x_n^2}
\end{bmatrix}_{x_0}\,

負定。

拓展閱讀

  • 雅可比矩陣
  • 梯度

參考文獻

评论 (0)

  • 还没有评论,来抢沙发吧。