黑塞矩陣(Hessian Matrix)


黑塞矩陣和雅可比矩陣,相信搞機器學習方向的同學多多少少也聽過一點。但是平時畢竟用到的還是不多,因此也不是很重視,甚至對它們的定義也不是很清楚。😫😫😫此次,就借這個博客梳理一下黑塞矩陣及其用途。🐳

定義

黑塞矩陣是由多元函數的二階偏導組成的矩陣。假設 \(f(x_1, x_2, ..., x_n)\) 二階可導,則其黑塞矩陣為:

\[\left[ \begin{array}{cccc} \frac{\partial^2 f}{\partial x_1^2} & \frac{\partial^2 f}{\partial x_1 \partial x_2} & ... & \frac{\partial^2 f}{\partial x_1 \partial x_n} \\ \frac{\partial^2 f}{\partial x_2^2} & \frac{\partial^2 f}{\partial x^2_2} & ... & \frac{\partial^2 f}{\partial x_2 \partial x_n} \\ ... & ... & ... & ... \\ \frac{\partial^2 f}{\partial x_n \partial x_1} & \frac{\partial^2 f}{\partial x_n \partial x_2} & ... & \frac{\partial^2 f}{\partial x^2_n} \\ \end{array} \right] \]

一般情況下,多元函數的混合二階偏導與求導次序無關,即:

\[\frac{\partial^2 f}{\partial x_i \partial x_j} = \frac{\partial^2 f}{\partial x_j \partial x_i} \]

函數凹凸性與黑塞矩陣

先說一下凹凸函數:

凹函數
對於函數 \(f(\boldsymbol{x})\) ,對於其定義域內的任意兩點 \(\boldsymbol{x,\ y}\) ,以及任意實數 \(\theta \in [0, 1]\) ,若

\[f(\theta \boldsymbol{x} + (1 - \theta) \boldsymbol{y}) \leq \theta f(\boldsymbol{x}) + (1 - \theta) f(\boldsymbol{y}) \]

成立,則 \(f\) 為凸函數(下凸)。若上式嚴格成立(將小於等於換成小於),則為嚴格凸函數。同理可定義凹函數(上凸)和嚴格凹函數。

假設 \(f(x_1, x_2, ..., x_n)\) 二階可導,則

  • 若其黑塞矩陣半正定,則函數是凸函數
  • 若黑塞矩陣正定,則函數為嚴格凸函數
  • 若黑塞矩陣半負定,則函數為凹函數
  • 若黑塞矩陣負定,則函數為嚴格凹函數

函數極值與黑塞矩陣

\(\boldsymbol{x}_0\)\(f(\boldsymbol{x})\) 的駐點(梯度為0的點),則:

  • 黑塞矩陣在該點處正定,則 \(f\) 在該點有嚴格極小值
  • 黑塞矩陣在該點處負定,則 \(f\) 在該點有嚴格極大值
  • 黑塞矩陣在該點處不定,則該點不是極值點,為鞍點

多元函數求極值的過程:求梯度,找到所有駐點 ==> 計算在駐點處的黑塞矩陣 ==> 判斷駐點是否為極值點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM