机器学习微积分中的雅可比和海森

在之前的文章中我们讲解了雅可比行列式,它为多变量系统计算梯度。如果我们对标量值多变量系统进行测量,它会给出一个行向量,该行向量指向更大的坡度,其长度与局部陡度成比例。在本文中,我们将把雅可比的概念从向量扩展到矩阵。

让我们通过将Jacobian应用到一个更简单的系统来启动用于机器学习的微积分第3部分。

机器学习微积分中的雅可比和海森

这里简单的局部微分将给我们一个雅可比向量。让我们颠倒我们的过程,并尝试通过观察向量字段来弄清楚函数的外观。尝试在几个方面找到雅可比的值。

机器学习微积分中的雅可比和海森

机器学习微积分中的雅可比和海森

这显示了指向原点的向量。如果我们靠近一点

机器学习微积分中的雅可比和海森

机器学习微积分中的雅可比和海森

更小的矢量,但再次指向原点。

机器学习微积分中的雅可比和海森

机器学习微积分中的雅可比和海森

零向量表明三件事。原点是最大,最小或鞍形。我们将在一段时间内介绍鞍形概念。

机器学习微积分中的雅可比和海森

看到上面的整个矢量场,我们可以看到原点实际上是系统的最大值。

机器学习微积分中的雅可比和海森

现在,让我们尝试形成一个雅可比矩阵。该函数将向量作为输入,并且将向量作为输出。

考虑下面的两个函数。

机器学习微积分中的雅可比和海森

我们可以将这两个视为两个向量空间。一个具有向量uv,而另一个向量x y。

机器学习微积分中的雅可比和海森

uv系统中的每个点在xy系统中都有一个对应的点。在xy坐标系中绕一个点移动将在uv系统中具有对应的路径,但完全不同。

机器学习微积分中的雅可比和海森

u和v的雅可比行向量可以矩阵形式编写,因为它们是单个向量的组成部分。

机器学习微积分中的雅可比和海森

对于矢量值函数,这是我们的雅可比矩阵结构。接下来,让我们将其应用于上一个函数并查看结果。

机器学习微积分中的雅可比和海森

该常数值表明梯度在任何地方都必须是常数。该矩阵只是从xy空间线性转换为uv空间。如果我们应用向量xy我们得到,

机器学习微积分中的雅可比和海森

当然,我们遇到的许多函数并不是那么简单甚至是线性的。它们更加复杂,通常是非线性的。

但是,这些函数通常足够平滑。如果我们仔细缩放,我们可以通过将空间中每个较小区域的Jacobian加起来,来考虑较小区域近似线性。转换后,这将使我们改变区域的大小。

我们可以在笛卡尔坐标系和坐标系之间的转换中体验到这一点。

考虑代表半径和从x轴向上的角度的向量r。我们必须分别用x和y表示它们。

机器学习微积分中的雅可比和海森

使用三角函数,我们可以将它们编写为以下表达式。

机器学习微积分中的雅可比和海森

现在,构建雅可比矩阵并找到其行列式。

机器学习微积分中的雅可比和海森

我们得到r作为最终结果,并且没有θ。这表明,当我们沿着r并远离原点移动时,较小的空间区域将随r缩放。

我希望通过jacobian向量和矩阵在机器学习微积分中有关应用jacobian的讨论有助于建立该概念的直觉。

我们经常听到机器学习中的术语“优化”。在日常生活中,它用来描述制作尽可能好的东西的过程。

在数学中,优化几乎相同。我们试图找到一个函数的输入值,该函数给出相应的输出,作为系统的最大值或最小值。

在现实世界中,优化应用程序可能包括在繁忙的交通中绘制路线,安排工厂的生产计划,选择贸易市场中库存的策略。

现在,提出我们正在查看的上述函数。如果要查找最大值的位置,我们将首先构建jacobian,然后查找x和y的值,使其等于0。

机器学习微积分中的雅可比和海森

机器学习微积分中的雅可比和海森

但是,随着函数变得棘手,找到最大值和最小值的位置也会变得棘手。

机器学习微积分中的雅可比和海森

对于复杂的函数,我们可以通过解析表达式找到其雅可比,但将其设置为0将无济于事。这些函数具有多个位置,且梯度为0。

如果绘制所有函数的最大值和最小值,我们将看到最高的峰和最深的谷。所有的峰都是最大值,所有的谷都是最小值。

机器学习微积分中的雅可比和海森

最高的单个峰(在这种情况下为A)是全局最大值,而C和E是局部最小值。

同样,点D是全局最小值,点B是局部最小值。

这非常简单。就像我们站在山区一样。如果我们想到达最高峰,我们只需四处张望,找出最高峰,然后向其前进。

但是,如果我们晚上行走会怎样?这种情况类似于我们的函数没有解析表达式的情况。意思是,我们无法绘制整个函数来帮助我们环顾四周。

这种情况经常出现在优化问题中,并且非常具有挑战性。

但是,假设我们有灯光!现在我们可以看到指向山顶的雅可比矢量标志。

但是,雅可比矢量指向峰值可能未必指向最高峰值。也就是说,它们可以指向全局最小值C和E,而不是全局最大值A。这意味着我们可以轻松地最终走向局部最小值。

这种夜间山坡类比通常用于优化方案中。

但是有一些事情要看。这种类比可能会引起误导因素。就是说,当我们评估一个函数时,我们可以在不同点评估它,而无需评估两者之间的任何事情。而且,无论点数多远,计算成本都是相同的。那就是我们实际上并不是在两点之间走动。

这使我们想到了另一个类比“沙坑“。沙坑很深,底部不平坦。

机器学习微积分中的雅可比和海森

我们可以使用长杆测量沙坑在不同点的深度。沙坑非常深,一旦它进入沙坑,我们就无法将其向侧面移动。我们可以将其拔出并在其他地方尝试。

机器学习微积分中的雅可比和海森

海森(The Hessian):

接下来在用于机器学习的微积分第3部分中,让我们讨论与多元系统有关的另一个重要概念。Hessaina。海森也可以看作是雅可比的延伸。使用jacobian,我们将函数的所有一阶导数计算为向量。在这里,我们将计算矩阵中具有n个变量的函数的二阶导数。

我们已经知道找到高阶导数,我们仅需继续区分函数。偏导数也是如此。如果我们想找到关于x1和2的偏导数,首先我们发现关于x1的偏导数,保持所有其他变量不变。然后,假设所有其他变量均为常数,则针对x2进行区分。

因此,海森将是一个n×n方阵,其中n是函数中变量的数量。

在求解时,首先找到jacobian,然后计算其粗略值是比较容易的。看一个例子。

机器学习微积分中的雅可比和海森

现在,就每个变量而言,再次区分此雅可比会导致海森。

机器学习微积分中的雅可比和海森

请注意,Hessian矩阵在对角线上方和下方对称。这表明函数是连续的,没有任何突然的中断。

现在,将x,y和z值传递给hessian矩阵将为我们提供一些数值矩阵,并将告诉我们有关空间中点的信息。

为了形象化这个概念,请考虑一个2D系统。一个更简单的函数

机器学习微积分中的雅可比和海森

机器学习微积分中的雅可比和海森

我们可以轻松地可视化此函数。

机器学习微积分中的雅可比和海森

但是,即使不知道该函数,然后在点0、0处计算jacobian也会得到0的梯度向量。

但是,我们不知道这是最大值还是最小值。检查其他一些点并查看它们是否在上面或下面是另一种发现方法,但肯定不是可靠的方法。

黑森州在这方面提供了帮助。如果其决定因素为正,则我们将处理最大值或最小值。此外,右上角的术语还说明了更多信息。如果是正数,我们将像上述情况一样处理最小值。

再次考虑一下上述函数,稍有改动。

机器学习微积分中的雅可比和海森

机器学习微积分中的雅可比和海森

现在行列式为负,我们不再处理最大值或最小值。(0,0)点处的渐变是平坦的。此函数称为鞍形

机器学习微积分中的雅可比和海森

坡度为0的位置,但坡度在一个方向上下降,而在另一方向上上升。找到峰时,这可能会导致很多复杂情况。

因此,这为我们提供了另一种轻松导航沙坑的工具!

到目前为止,我们已经看到雅可比矢量如何帮助我们找到空间中每个点的梯度的大小和方向。Hessian进一步说明了我们在梯度0的点上正在评估哪种特征,从而进一步帮助了我们。

所有这些概念将在优化方案中为我们提供帮助,现在我们可以了解为什么对于机器学习必须了解多元演算。

接下来,让我们谈谈现实世界中经常出现的一些函数。

在涉及优化的机器学习的许多应用中,例如神经网络,我们将处理大量的维度。在数十万范围内。显然,在这种情况下,绘制表面和导航并不容易或不可能。我们将不得不依靠我们的2D直觉,让数学指导我们的发展。

同样,即使我们在2D系统中工作,也不一定总是有一个好的分析表达式,在每个较小的区域进行计算都可能非常昂贵。

即使我们可以绘制它,我们也可能没有足够的计算资源来填充它。

接下来,我们上面看到的所有函数都行为良好且非常流畅。但是这些函数可能在其中存在严重的不连续性。使得导航更加困难。

机器学习微积分中的雅可比和海森

现实世界的另一个挑战是噪音。有许多原因会使我们的函数嘈杂。

机器学习微积分中的雅可比和海森

这一切一定会引起您的困惑。那么雅可比有什么用?因此,让我们尝试回答这些问题。

如果我们没有函数,那么我们如何首先应用jacobian?这就引出了另一种大规模研究的技术,即数值方法。

对于没有明确公式或需要很长时间才能求解的情况,我们开发了涉及近似的方法。

机器学习微积分中的雅可比和海森

使用有限差分法,我们不会在每个点上评估函数。但是只考虑我们知道的那些点,并围绕它们建立一个梯度近似。

机器学习微积分中的雅可比和海森

在这里的一维场景中,我们计算了很多点。

机器学习微积分中的雅可比和海森

在更高的维度上这是不可能的。因此,我们以这种方法为基础建立了技术,即,从初始位置开始,我们将通过近似每个偏导数来构建雅可比近似。

机器学习微积分中的雅可比和海森

因此,考虑x中的一小步,可以计算x中的偏导数。在y上走一小步可得到y的偏导数。

机器学习微积分中的雅可比和海森

选择步长时,请保持平衡。太大的步长不会给出正确的近似值。步长太小会在计算中带来问题。请记住,我们的计算机将值保存到不超过限制的重要位置。

对于嘈杂的系统,到目前为止已经设计了许多方法。最简单的方法是计算不同步长的梯度,然后取其平均值。

通过对真实场景的讨论,我们意识到,一旦我们离开了平滑函数的空间,而转移到计算量大且嘈杂的函数中,所有这些同时变得更具挑战性和趣味性。

结论:

我们现在对多变量系统以及如何驾驭它们很有信心。上述讨论帮助我们建立了处理高维系统的直觉,这种情况在机器学习中非常常见。

在机器学习微积分系列的下一部分中,我们将尝试了解机器学习中一些必要的微积分概念,比如多元链式法则,并使用它来优化神经网络。


分享到:


相關文章: