海森矩陣(德語: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)