Hessian矩阵在机器学习中的应用

1 概念

1.1 Jacob矩阵

  有时,我们需要计算多元函数的所有偏导数,并将其用在对当前点的最优线性逼近当中,Jacob矩阵将多元函数的偏导数以一定顺序排列成为矩阵。具体来说,如果我们有一个函数 { F:R }^{ m }\xrightarrow [ ]{ } { R }^{ n } ,则 f 的Jacobian矩阵定义为:
{ J }_{ i,j }=\frac { \partial }{ \partial { x }_{ j } } { f(y_{ i }) }

  假设 { F:R }^{ m }\xrightarrow [ ]{ } { R }^{ n } 是从一个欧式n维空间转换到欧式m维空间的函数,这个函数由m个实函数组成,即:y1(x1,\cdots ,xn),\cdots ,ym(x1,\cdots ,xn).这些偏导数(如果存在)可以组成一个 n 行 m 列的矩阵,这就是所谓Jacob矩阵:\begin{bmatrix} \frac { { \partial }_{ y1 } }{ { \partial }_{ x1 } } & \cdots & \frac { { \partial }_{ y1 } }{ { \partial }_{ xn } } \\ \vdots & \ddots & \vdots \\ \frac { { \partial }_{ yn } }{ { \partial }_{ x1 } } & \cdots & \frac { { \partial }_{ yn } }{ { \partial }_{ xn } } \end{bmatrix}

1.2 hessian矩阵

  当我们需要判断对当前点的最优线性逼近速度时,我们会需要考虑导数的导数,即二阶导数。例如,有一个函数 f:{ R }^{ m }\longmapsto Rf的一阶导数(关于 { x }_{ j } )关于 { x }_{ i }的导数记为: \frac { { \partial }^{ 2 } }{ { \partial }_{ x }{ \partial }_{ y } } f,它能够告诉我们,结果是否会产生如我们预期那样大的改善。二阶矩阵以矩阵的形式表述为:\begin{bmatrix} \frac { { \partial }^{ 2 } }{ { \partial }^{ { x }_{ 1 } }{ \partial }^{ { x }_{ 1 } } } & \cdots & \frac { { \partial }^{ 2 } }{ { \partial }^{ { x }_{ 1 } }{ \partial }^{ { x }_{ n } } } \\ \vdots & \ddots & \vdots \\ \frac { { \partial }^{ 2 } }{ { \partial }^{ { x }_{ n } }{ \partial }^{ { x }_{ 1 } } } & \cdots & \frac { { \partial }^{ 2 } }{ { \partial }^{ { x }_{ n } }{ \partial }^{ { x }_{ n } } } \end{bmatrix} 我们可以使用二阶导数的值来判断梯度下降的速率,当负梯度值\epsilon为1时,代价函数将下降\epsilon的大小,如果二阶导数为负值时,梯度下降的值将比\epsilon少,如果二阶导数是正值,则梯度下降的值将比\epsilon多。

1.3 正定矩阵、负定矩阵

这里简要介绍下定义和性质,后面会用的到。

定义
  • 一个n×n的实对称矩阵 M 是正定的,当且仅当对于所有的非零实系数向量z,都有zTMz > 0。其中zT表示z的转置。
  • 一个n×n的实对称矩阵M是负定的,当且仅当对于所有的非零实系数向量,都有zTMz < 0。其中zT表示z的转置。
判别正定矩阵
  • 矩阵 M的所有的特征值 { \lambda _{i}}都是正的。
  • M的所有顺序主子式,也就是顺序主子阵的行列式都是正的
  • 存在唯一的下三角矩阵 L,其主对角线上的元素全是正的,使得M=L L^* , 使得L^*L 的转置

2 Hessian矩阵的使用

2.1 hessian矩阵与特征值的关系

  由于hessian矩阵是二阶导数组成的矩阵,而微分算子在二阶偏导数连续的点上可交换,因此Hessian矩阵处处对称,则hessian矩阵是实对称矩阵,因此可以分解成 {\Epsilon\wedge \Epsilon } 的形式。
  假设原函数为: f({ x }_{ 1 },{ x }_{ 2 },{ x }_{ 3 }),假设以考虑 { x }_{ 1 },{ x }_{ 2 },{ x }_{ 3 } = t({ v }_{ 1 },{ v }_{ 2 }\cdots { v }_{ n }),则f(x) = f(tv)。对t求一阶导数,可得到如下式:
{ f }_{ t }^{ ' }(tv) = { v }^{ T }\triangledown f(tv)
这是一个关于 t 的一元函数,继续进行二次求导可得:
{ f }_{ t }^{ '}(tv) = { \triangledown f(tv) }^{ T }v
再将Hession矩阵进行分解,可以得到{ f }_{ t }^{ " }(tv) ={ v }^{ T }E(\Lambda )Ev
E 是 Hession矩阵的特征向量,\Lambda是特征值组成的矩阵。若 { v }^{ T }E为同一方向的向量,则{ f }_{ t }^{ " }(tv)在 该方向上的二阶导数值为对应的特征值。若 { v }^{ T }E不为同一方向的向量,则 { v }^{ T }可以由其他方向的特征向量表示,因此可以将该向量转化成多个特征向量权重相加的形式,因此,权重可以转移到内部矩阵中,即可以由多个特征值加权组成,且特征向量越接近,权重越大。

2.2 hessian关于学习率变化的计算

  将我们需要求解的值使用泰勒级数展开为:
f(x) \approx f({ x }^{ (0) })-{ (x-{ x }^{ (0) }) }^{ T }g+{ \frac { 1 }{ 2 } (x-{ x }^{ 0 }) }^{ T }H(x-{ x }^{ (0) })
其中 g 是梯度,H是该点的Hessian矩阵。如果使用学习率为 \epsilon 进行计算,则可以得到公式为:
f(x-\epsilon g)\quad \approx \quad f({ x }^{ (0) })-\epsilon { g }^{ T }g+{ \frac { 1 }{ 2 } { \epsilon }^{ 2 } }{ g }^{ T }Hg
如果想使损失函数不断减小,则后两项之和必须小于0,若求减少的最大值,对后面两项进行求导,则得出{ { \epsilon } }^{ * }=\frac { { g }^{ T }g }{ { g }^{ T }Hg },则\epsilon取该值时,后两项取得极值。若g为最大特征值的特征向量方向,则\epsilon取得最小值,为\frac { 1 }{ { \lambda }_{ max } }

2.3 极值、鞍点的判断

由Hessian的定义:H(f)(x)=\frac { { \partial }^{ 2 } }{ { { \partial }_{ x } }{ \partial }_{ y } }可知:Hessian矩阵是实对称的。

  • 当hessian矩阵正定时(即:对任意的 { v }^{ T }不等于0,有{ v }^{ T }E(\Lambda )Ev>0 恒成立)。对于任意的方向向量 { v }^{ T },在梯度为0的点处,恒有f(x+\epsilon g)\quad \approx \quad f({ x }^{ (0) })+{ \frac { 1 }{ 2 } { \epsilon }^{ 2 } }{ g }^{ T }Hg >f({ x }^{ (0) })
    故该点为最小值点;

<kbd>  举例说明:f(z)= { x }^{ 2 }+{ y }^{ 2 }其在点 x=0,y=0处为极小值点。</kbd>

  • 当hessian矩阵负定时(即:对任意的 { v }^{ T }不等于0,有{ v }^{ T }E(\Lambda )Ev<0 恒成立)。对于任意的方向向量 { v }^{ T },在梯度为0的点处,恒有f(x+\epsilon g)\quad \approx \quad f({ x }^{ (0) })+{ \frac { 1 }{ 2 } { \epsilon }^{ 2 } }{ g }^{ T }Hg <f({ x }^{ (0) }),该点为最大值点;
  • 当hessian矩阵同时具有正负特征值时,则此时为鞍点

<kbd>  举例说明:f(z)= { x }^{ 2 }-{ y }^{ 2 }其在点 x=0,y=0处为鞍点。</kbd>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘...
    大川无敌阅读 14,731评论 0 29
  • 利比亚,的黎波里 年轻小孩们在太阳下山的时候在岩石旁潜水,在炎热的天下会凉快很多。 摄影: Mahmud Turk...
    看图知世界阅读 3,038评论 0 2
  • 每个人刚出生时,有一双手托起了我们,让我们迎接新生。那双手支撑着我们成长,在后来时间慢慢流转,那双手逐渐粗糙,逐渐...
    霜林野阅读 1,183评论 0 0
  • 蓝色文件夹 添加方式: 黄色文件夹 黄色文件夹(group)是逻辑文件夹,主要是为了逻辑上的分组,如果手动创建(通...
    JerryLMJ阅读 18,944评论 5 16
  • 谁的青春不迷茫,谁的年少不轻狂。青春不仅伴随着年少轻狂,更充满着激情与力量。那是激情燃烧的岁月,是我这辈子...
    是泡芙小可爱阅读 2,555评论 0 0