梯度之上:海森矩阵

一、定义

海森矩阵最直观的定义是具有多维输入的函数f(x

1,x2.....xn)的二阶偏导数组成的方阵,形式如下:

梯度之上:海森矩阵

当然,我们也可以认为函数的输入是一个多维向量,这和深度学习的场景就很相似了。由于微分算子在任何二阶偏导连续的点可交换

梯度之上:海森矩阵

我们仔细观察海森矩阵会发现它有很强的对称性,实际上在深度学习的背景下,我们遇到的大多数函数的海森矩阵几乎处处对称。

二、作用

1、判断多元函数的极值

我们都知道对于一元二阶可导函数,一阶导数为零,二阶导数大于零是极小值点;一阶导数为零,二阶导数小于零是极大值点;一阶导数和二阶导数都为零是驻点。海森矩阵帮助我们把这个理论推广到了多维函数。将海森矩阵进行特征值分解可得如下定理:

矩阵正定(所有特征值为正),该临界点为局部极小值点。

矩阵负定(所有特征值为负),该临界点为局部极大值点。

特征值中至少一个为正或者至少一个为负,该临界点为鞍点。

所有非零特征值同号且至少有一个特征值为零,该点无法确定。

2、优化目标函数

我们可以将目标函数在某点的邻域展开成泰勒多项式来逼近原函数。最典型的应用就是牛顿法。牛顿法基于一个二阶泰勒公式展开来近似x

0附近的f(x)。

梯度之上:海森矩阵

其中H代表海森矩阵,如果f是一个正定二次函数,牛顿法能直接跳到函数的最小点。如果f不是一个正定二次函数但是在局部能近似为正定二次,牛顿法也可以比梯度下降更快的到达临界点。

梯度之上:海森矩阵

但是在遇到鞍点时却很容易沦陷。只有当海森矩阵正定时牛顿法才适用。


分享到:


相關文章: