函数等值线与Hessian矩阵的关系

参考:https://www.zhihu.com/question/24623031
以及花书4.3节《基于梯度的优化方法》

当我们的函数具有多维输入时,二阶导数也有很多。我们可以将这些导数合并成一个矩阵,称为Hessian矩阵。对于函数 f : R m R n f: \Bbb R^m \rightarrow \Bbb R^n ,Hessian矩阵 H \boldsymbol H 定义为:

H i , j = 2 x i x j f ( x ) \boldsymbol H_{i,j}=\frac{\partial^2}{\partial x_i \partial x_j}f(\boldsymbol x)

f ( x ) f(\boldsymbol x) 二阶偏导连续,则有:

2 x i x j f ( x ) = 2 x j x i f ( x ) \frac{\partial^2}{\partial x_i \partial x_j}f(\boldsymbol x)=\frac{\partial^2}{\partial x_j \partial x_i}f(\boldsymbol x)

H i , j = H j , i H_{i,j}=H_{j,i} ,因此Hessian矩阵是对称矩阵。在深度学习背景下,我们遇到的大多数函数的Hessian矩阵几乎处处都是对称的。因为Hessian矩阵是实对称矩阵,我们可以将其分解成一组实特征值和特征向量的正交,即 H = Q T Λ Q H=Q^T\Lambda Q ,其中 Q Q 为正交矩阵,其列向量(即特征向量)内积为1。

在特定方向 d d 上的二阶导数可以写成 d T H d d^THd 。当 d d H H 的一个特征向量 α i \alpha_i 时,设对应的特征值为 λ i \lambda_i ,二阶导数为:

α i T H α i = α i T λ α i = λ \alpha_i^TH\alpha_i=\alpha_i^T\lambda \alpha_i=\lambda

即特征向量方向上的二阶导数就是对应的特征值。对于其他的方向 d d ,方向二阶导数是所有特征值的加权平均,权重在 0 和 1 之间,且与 d d 夹角越小的特征向量有更大的权重。最大特征值确定最大二阶导数,最小特征值确定最小二阶导数

对于代价函数 J J ,其等值线与其Hessian矩阵有什么关系?

对于使用均方误差的线性回归,有 J ( w ) = i = 1 m ( w T x i y i ) 2 J(\boldsymbol w)=\sum_{i=1}^m(\boldsymbol w^Tx_i-y_i)^2

为作图便于观察,仅考虑参数向量为二维的情形,即参数向量 w = [ w 1 , w 2 ] w=[w_1,w_2] ,设 w \boldsymbol w^* J J 的极小值点,则 J ( w ) J(\boldsymbol w) 等值线类似下图.

在这里插入图片描述

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

发布了67 篇原创文章 · 获赞 27 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/xpy870663266/article/details/104571348
今日推荐