参考:https://www.zhihu.com/question/24623031
以及花书4.3节《基于梯度的优化方法》
当我们的函数具有多维输入时,二阶导数也有很多。我们可以将这些导数合并成一个矩阵,称为Hessian矩阵。对于函数f:Rm→Rn,Hessian矩阵H定义为:
Hi,j=∂xi∂xj∂2f(x)
若f(x)二阶偏导连续,则有:
∂xi∂xj∂2f(x)=∂xj∂xi∂2f(x)
即Hi,j=Hj,i,因此Hessian矩阵是对称矩阵。在深度学习背景下,我们遇到的大多数函数的Hessian矩阵几乎处处都是对称的。因为Hessian矩阵是实对称矩阵,我们可以将其分解成一组实特征值和特征向量的正交,即H=QTΛQ,其中Q为正交矩阵,其列向量(即特征向量)内积为1。
在特定方向 d上的二阶导数可以写成dTHd。当 d 为 H 的一个特征向量αi时,设对应的特征值为λi,二阶导数为:
αiTHαi=αiTλαi=λ
即特征向量方向上的二阶导数就是对应的特征值。对于其他的方向 d,方向二阶导数是所有特征值的加权平均,权重在 0 和 1 之间,且与 d 夹角越小的特征向量有更大的权重。最大特征值确定最大二阶导数,最小特征值确定最小二阶导数。
对于代价函数J,其等值线与其Hessian矩阵有什么关系?
对于使用均方误差的线性回归,有J(w)=i=1∑m(wTxi−yi)2
为作图便于观察,仅考虑参数向量为二维的情形,即参数向量w=[w1,w2],设w∗为J的极小值点,则J(w)等值线类似下图.

在图中,最大特征值对应的特征向量对应二阶导数最大的方向,即图中的椭圆的短轴方向,亦即等值线最密集、“山坡”最陡的那面;最小特征值对应的特征向量对应二阶导数最小的方向,即图中椭圆的长轴方向,亦即等值线最稀疏、“山坡”最平缓的那面。