梯度之上:Hessian 矩阵
创始人
2024-05-16 11:35:04
0

原文链接:原文

文章目录

  • 梯度之上:Hessian 矩阵
    • 梯度、雅克比矩阵
    • 海森矩阵
    • 海森矩阵应用

梯度之上:Hessian 矩阵

本文讨论研究梯度下降法的一个有力的数学工具:海森矩阵。在讨论海森矩阵之前,需要首先了解梯度和雅克比矩阵的基本概念。

⭐️本文假设读者已经熟悉梯度下降法和简单的数值分析、线性代数知识

梯度、雅克比矩阵

梯度下降算法需要当前函数点的导数信息,当此函数点包含多个方向时,梯度是包含所有方向的(偏)导数向量。

上述情况对应于输出为一个的情况,当函数的输出也为一个向量时,我们需要把输出向量的每一个元素对于多个输入的梯度罗列在一起,罗列形成的矩阵就是雅克比矩阵(Jacobian Matrix)

举例说明:

  • 若函数fff接受三个输入x1、x2、x3x1、x2、x3x1、x2、x3,产生一个输出yyy,则其梯度为:

Grad=[∂y∂x1,∂y∂x2,∂y∂x3]\begin{equation} Grad = [\frac{\partial y}{\partial x_1}, \frac{\partial y}{\partial x_2}, \frac{\partial y}{\partial x_3}] \end{equation} Grad=[∂x1​∂y​,∂x2​∂y​,∂x3​∂y​]​​

  • 若函数f2f2f2接受三个输入x1、x2、x3x1、x2、x3x1、x2、x3,产生三个输出y1、y2、y3y1、y2、y3y1、y2、y3,则其雅克比矩阵为:

Jacobian=[∂y1∂x1∂y1∂x2∂y1∂x3∂y2∂x1∂y2∂x2∂y2∂x3∂y3∂x1∂y3∂x2∂y3∂x3]\begin{equation} Jacobian = \begin{bmatrix} \frac{\partial y_1}{\partial x_1} & \frac{\partial y_1}{\partial x_2}&\frac{\partial y_1}{\partial x_3} \\ \frac{\partial y_2}{\partial x_1} & \frac{\partial y_2}{\partial x_2}&\frac{\partial y_2}{\partial x_3} \\ \frac{\partial y_3}{\partial x_1} & \frac{\partial y_3}{\partial x_2}&\frac{\partial y_3}{\partial x_3} \end{bmatrix} \end{equation} Jacobian=​∂x1​∂y1​​∂x1​∂y2​​∂x1​∂y3​​​∂x2​∂y1​​∂x2​∂y2​​∂x2​∂y3​​​∂x3​∂y1​​∂x3​∂y2​​∂x3​∂y3​​​​​​

利用二阶导数,我们可以知道关于函数在特定方向 ddd 上的凹凸信息,利用凹凸信息可以在一定程度上预判梯度下降法的表现效果。如果在特定方向 ddd 上:

  • 二阶导数为正,则函数在方向ddd上一阶导数增加,函数值下降更慢;

  • 二阶导数为负,则函数在方向ddd上一阶导数减少,函数值下降更快;

  • 二阶导数为零,则函数在方向ddd上一阶导数不变,函数值匀速下降;

    ⭐️注意在梯度下降法中是对损失函数进行下降,因此需要使用减函数来分析函数中某一小段(经常使用二次函数的减半部近似:二阶泰勒展开、牛顿法)中的导数变化情况;

海森矩阵

和雅克比矩阵类似,海森矩阵(Hessian 矩阵)可以包含函数中二阶导的信息:
Hessian=[∂2y∂x1∂x1∂2y∂x1∂x2∂2y∂x1∂x3∂2y∂x2∂x1∂2y∂x2∂x2∂2y∂x2∂x3∂2y∂x3∂x1∂2y∂x3∂x2∂2y∂x3∂x3]Hessian = \begin{bmatrix} \frac{\partial^2y}{\partial x_1\partial x_1} & \frac{\partial^2y}{\partial x_1\partial x_2}&\frac{\partial^2y}{\partial x_1\partial x_3} \\ \frac{\partial^2y}{\partial x_2\partial x_1} & \frac{\partial^2y}{\partial x_2\partial x_2}&\frac{\partial^2y}{\partial x_2\partial x_3} \\ \frac{\partial^2y}{\partial x_3\partial x_1} & \frac{\partial^2y}{\partial x_3\partial x_2}&\frac{\partial^2y}{\partial x_3\partial x_3} \end{bmatrix} Hessian=​∂x1​∂x1​∂2y​∂x2​∂x1​∂2y​∂x3​∂x1​∂2y​​∂x1​∂x2​∂2y​∂x2​∂x2​∂2y​∂x3​∂x2​∂2y​​∂x1​∂x3​∂2y​∂x2​∂x3​∂2y​∂x3​∂x3​∂2y​​
同时由于二阶导数计算顺序的可交换性,即 ∂2y∂x1∂x2=∂2y∂x2∂x1\frac{\partial^2y}{\partial x_1\partial x_2}=\frac{\partial^2y}{\partial x_2\partial x_1}∂x1​∂x2​∂2y​=∂x2​∂x1​∂2y​,因此
海森矩阵是一个对称矩阵
,对于对称矩阵我们可以使用特征分解来研究特征值和二阶导数的关系,便于我们快速获得某个方向的二阶导数。

针对于特定方向d,已知此方向的二阶导数可以写成 dTHdd^THddTHd ,则:

🔗 基于Hessian矩阵的二阶方向导数与性质_Hi 喀什噶尔的胡杨的博客-CSDN博客_二阶方向导数

  • 若d是H对应特征值λ的特征向量:

    因为d为对应λ的特征向量(以下简称特征向量),则据定义有:
    Hd=λd⇒dTHd=dTλd=λdTd=λ对称矩阵dT=d−Hd = \lambda d\\ \Rightarrow d^THd=d^T\lambda d = \lambda d^Td=\lambda \ \ \ 对称矩阵d^T = d^- Hd=λd⇒dTHd=dTλd=λdTd=λ   对称矩阵dT=d−

    因此特征向量对应的特征值λ即为此方向的二阶导数;

  • 若d为其他方向:设eie_iei​为HHH对应特征值λi\lambda_iλi​的特征向量,由上可知,
    λi=eiTHei\lambda_i=e_i^THe_i λi​=eiT​Hei​
    可知任何一个方向d=∑imtieid=\sum_i^mt_ie_id=∑im​ti​ei​为特征向量的线性组合,其中m为特征值个数,tit_iti​为第iii个特征向量的加权数,则:
    dTHd=(∑imtiei)TH(∑imtiei)=∑imtieiTHtiei=∑imti2λid^THd=(\sum_i^mt_ie_i)^TH(\sum_i^mt_ie_i)=\sum_i^mt_ie_i^THt_ie_i=\sum_i^mt_i^2\lambda_i dTHd=(i∑m​ti​ei​)TH(i∑m​ti​ei​)=i∑m​ti​eiT​Hti​ei​=i∑m​ti2​λi​
    因此任意非特征向量方向的二阶导数是所有特征值的加权和,特别的,此时的加权和是一个椭球体,在二维的特征值情况下,二阶导数是一个椭圆,椭圆方程为:
    y=λ11t12+λ21t22y=\frac{\lambda_1}{\frac{1}{t_1^2}}+\frac{\lambda_2}{\frac{1}{t_2^2}} y=t12​1​λ1​​+t22​1​λ2​​
    在这里插入图片描述

    由图可知,最大二阶导数由最大特征值决定(长半轴),而最小二阶导数由最小特征值决定(短半轴)。

海森矩阵应用

在弄清海森矩阵的基本定义后,就可以使用海森矩阵的一些性质来分析优化方法中的一些问题了。如确定局部最大点、局部最小点和鞍点、确定学习率、以及使用病态条件来确定梯度下降的表现等,同时我们还可以利用Hessian矩阵来实现牛顿法这种优化算法,。

(本节完)

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...