鸣叫 分享 分享
最后更新于2021年8月5日
Hessian矩阵属于一类涉及二阶导数的数学结构。它们经常被用于机器学习和数据科学算法中,以优化感兴趣的函数。
在本教程中,你将发现Hessian矩阵、其相应的判别子以及它们的意义。所有的概念都通过一个例子进行说明。
完成本教程后,你将知道。
- Hessian矩阵
- 通过Hessian矩阵计算的判别子
- 判别式中包含哪些信息
让我们开始吧。
对Hessian矩阵的温和介绍。照片由Beenish Fatima拍摄,保留部分权利。
教程概述
本教程分为三个部分;它们是。
- 一个函数的Hessian矩阵的定义和相应的判别值
- 计算Hessian矩阵和判别式的例子
- Hessian和判别式告诉我们关于感兴趣的函数的情况
前提条件
对于本教程,我们假设你已经知道。
你可以通过点击上面的链接来复习这些概念。
什么是Hessian矩阵?
Hessian矩阵是一个二阶偏导的矩阵。假设我们有一个n个变量的函数f,即。
f:R^n → R
f的Hessian由以下左边的矩阵给出。两个变量的函数的Hessian也显示在下面的右边。
n个变量的函数的Hessian(左)。f(x,y)的Hessian(右)
我们已经从梯度向量的教程中知道,梯度是一个一阶偏导的向量。同样,Hessian也是一个二阶偏导的矩阵,由f域中的所有变量对组成。
什么是行列式?
Hessian的行列式也被称为f的判别式,对于一个双变量函数f(x, y),它由以下公式给出。
f(x, y)的判别式
Hessian矩阵和判别式的例子
假设我们有以下函数。
g(x, y) = x^3 + 2y^2 + 3xy^2
那么Hessian H_g和判别式D_g由以下公式给出。
g(x, y) = x^3 + 2y^2 + 3xy^2的Hessian和判别式
让我们在不同点上评估判别式。
D_g(0, 0) = 0
D_g(1, 0) = 36 + 24 = 60
D_g(0, 1) = -36
D_g(-1, 0) = 12
Hessian和判别式的含义是什么?
Hessian和相应的判别式是用来确定一个函数的局部极端点的。评估它们有助于理解一个多变量的函数。下面是一些重要的规则,对于一个点(a,b),判别式是D(a,b)。
- 如果f_xx(a, b)>0且判别式D(a, b)>0,则函数f有局部最小值
- 如果f_xx(a,b)<0,且判别式D(a,b)>0,则函数f有一个局部最大值。
- 如果D(a,b)<0,函数f有一个鞍点。
- 如果D(a,b)=0,我们不能得出任何结论,需要更多的检验。
例子:g(x,y)
对于函数g(x,y)。
- 对于点(0,0)我们不能得出任何结论
- f_xx(1, 0) = 6 > 0,D_g(1, 0) = 60 > 0,因此(1, 0)是一个局部最小值
- 点(0,1)是一个鞍点,因为D_g(0, 1)< 0
- f_xx(-1,0) = -6 < 0,D_g(-1,0) = 12 > 0,因此(-1,0)是一个局部最大值。
下图是函数g(x,y)的图形及其相应的轮廓线。
g(x,y)的图形和g(x,y)的轮廓线
为什么Hessian矩阵在机器学习中很重要?
Hessian矩阵在许多机器学习算法中起着重要的作用,这些算法涉及到对一个给定函数的优化。虽然它的计算成本很高,但它拥有关于被优化函数的一些关键信息。它可以帮助确定鞍点,以及一个函数的局部极值。它被广泛地用于训练神经网络和深度学习架构。
扩展
本节列出了一些扩展教程的想法,你可能希望探索这些想法。
- 优化
- Hessian矩阵的特征值
- Hessian矩阵的逆向和神经网络训练
如果你探索了其中任何一个扩展,我很想知道。请在下面的评论中发表你的发现。
进一步阅读
如果你想深入了解,本节提供了更多关于该主题的资源。
教程
资源
- 关于机器学习的微积分书籍的其他资源
书籍
- 托马斯的微积分,第14版,2017年。(基于George B. Thomas的原作,由Joel Hass, Christopher Heil, Maurice Weir修订)
- 微积分》,第3版,2017年。(Gilbert Strang)
- 微积分》,第8版,2015年。(詹姆斯-斯图尔特)
摘要
在本教程中,你发现了什么是Hessian矩阵。具体来说,你学到了。
- Hessian矩阵
- 一个函数的判别式
你有什么问题吗?
请在下面的评论中提出你的问题,我将尽我所能回答。
鸣叫 分享 分享到
The postA Gentle Introduction To Hessian Matricesappeared first onMachine Learning Mastery.
