天天看點

Hessian Matrix 海森矩陣

海森矩陣是一個多元函數的二階偏導數構成的方陣,描述了函數的局部曲率。

簡介

海森矩陣(Hessian Matrix),又譯作黑塞矩陣、海瑟矩陣、海塞矩陣等,是一個多元函數的二階偏導數構成的方陣,描述了函數的局部曲率。海森矩陣最早于19世紀由德國數學家Ludwig Otto Hesse提出,并以其名字命名。海森矩陣常用于牛頓法解決優化問題。

定義

  • 對于一個實值多元函數 f\left(x_ {1}, x_ {2}, \cdots, x_ {n}\right) , 如果函數 f 的二階偏導數都存在, 則定義 f 的海森矩陣為

H_ {i, j}(f(\vec {x}))=D_ {i} D_ {j} f(\vec {x})

  • 其中 D_ {i} 表示對第 i 個變量的微分算子, \vec {x}=\left(x_ {1}, x_ {2}, \cdots, x_ {n}\right) 。那麼, f 的海森矩陣即
Hessian Matrix 海森矩陣

與泰勒展開項的關系

  • 海森矩陣也可以了解為多元函數泰勒展開後的二階導系數矩陣

二進制函數

  • 若一進制函數 f(x) 在 x=x^ {(0)} 點的某個鄰域内具有任意階導數,則 f(x) 在 x^ {(0)} 點處的泰勒展開式 為:
Hessian Matrix 海森矩陣
  • 其中 \Delta x=x-x^ {(0)} , \Delta x^ {2}=\left(x-x^ {(0)}\right)^ {2} 。 二進制函數 f\left(x_ {1}, x_ {2}\right) 在 X^ {(0)}\left(x_ {1}^ {(0)}, x_ {2} ^ {(0)} \right) 點處的泰勒展開式為:
Hessian Matrix 海森矩陣

其中, \Delta x_ {1}=x_ {1}-x_ {1}^ {(0)}, \Delta x_ {2}==x_ {2}-x_ {2}^ {(0)} 。

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

Hessian Matrix 海森矩陣
Hessian Matrix 海森矩陣
Hessian Matrix 海森矩陣
  • G\left(X^ {(0)}\right) 是 f\left(x_ {1}, x_ {2}\right) 在 X^ {(0)} 點處的黑塞矩陣。它是由函數 f\left(x_ {1}, x_ {2}\right) 在 X^ {(0)} 點處的二階偏導數所組成的方陣。

多元函數

  • 将二進制函數的泰勒展開式推廣到多元函數
Hessian Matrix 海森矩陣

點處的泰勒展開式的矩陣形式為:

f(X)=f\left(X^ {(0)}\right)+\nabla f\left(X^ {(0)}\right)^ {T} \Delta X+\frac {1} {2} \Delta X^ {T} G\left(X^ {(0)}\right) \Delta X+\cdots

其中:

  1. \nabla f\left(X^ {(0)}\right)=\left.\left[\frac {\partial f} {\partial x_ {1}}, \frac {\partial f} {\partial x_ {2}}, \cdots, \frac {\partial f} {\partial x_ {n}}\right]\right|_ {X^ {(0)}} ^ {T} ,它是 f(X) 在 X^ {(0)} 點處的梯度。
  2. G\left(X^ {(0)}\right)=\left[\begin {array} {cccc}\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 {array}\right]_ {X^ {(0)}} f(X) 在 X^ {(0)} 點處的黑塞矩陣。
  • 黑塞矩陣是由目标函數 f 在點X處的二階偏導數組成的 n \times n 階對稱矩陣。

性質

對稱性

  • 如果函數 f 在 D 區域内二階連續可導, 那麼 f 海森矩陣 H(f) 在 D 内為對稱矩陣。原因是: 如果函數 f 的二階偏導數連 續, 則二階偏導數的求導順序汥有差別, 即

\frac {\partial} {\partial x}\left(\frac {\partial f} {\partial y}\right)=\frac {\partial} {\partial y}\left(\frac {\partial f} {\partial x}\right)

  • 則對于矩陣 H(f) , 有 H_ {i, j}(f)=H_ {j, i}(f) , 是以 H(f) 為對稱矩陣。

極值判定

  • 如果實值多元函數 f\left(x_ {1}, x_ {2}, \cdots, x_ {n}\right) 二階連續可導, 并且在臨界點 M\left(x_ {i}\right) (其中 i=1,2, \cdots, n , 并且 x_ {i} 已知) 處梯度 (一階導數) 等于 0 , 即 \nabla f(M)=0, M 為駐點。僅通過一階導數無法判斷在臨界點, M 處是極大值還是極小值。
  • 記 f 在 M 點處的海森矩陣為 H(M) 。由于 f 在 M 點處連續, 是以 H(M) 是一個 n \times n 的對稱矩陣。對于 H(M) , 有 如下結論:
  • 如果 H(M) 是正定矩陣, 則臨界點 M 處是一個局部的極小值。
  • 如果 H(M) 是負定矩陣, 則臨界點M處是一個局部的極大值。
  • 如果 H(M) 是不定矩陣, 則臨界點 M 處不是極值。
  • 當 H(M) 為半正定矩陣或半負定矩陣時, 臨界點 M 是“可疑”極值點,尚需要利用其他方法來判定。

參考資料

  • https://blog.csdn.net/caimouse/article/details/60465975
  • https://baike.baidu.com/item/黑塞矩陣/2248782?fr=aladdin