雅可比矩阵和雅可比坐标

雅可比矩阵和雅可比坐标_第1张图片 雅可比行列式的简要介绍

一、说明

在本教程中,您将回顾一下雅可比行列式的简单介绍。完成本教程后,您将了解:

  • 雅可比矩阵收集了可用于反向传播的多元函数的所有一阶偏导数。
  • 雅可比行列式在变量之间变化时非常有用,它充当一个坐标空间与另一个坐标空间之间的缩放因子。 

教程概述

本教程分为三个部分;他们是:

  • 机器学习中的偏导数
  • 雅可比矩阵
  • 雅可比矩阵的其他用途

 二、机器学习中的偏导数

        到目前为止,我们已经提到梯度和偏导数对于优化算法来说非常重要,例如更新神经网络的模型权重以达到最佳权重集。通过依次计算误差曲线相对于每个权重的梯度,偏导数的使用允许每个权重独立于其他权重进行更新。

        我们在机器学习中通常使用的许多函数都是多元向量值函数,这意味着它们将多个实际输入 n 映射到多个  实际输出m

雅可比矩阵和雅可比坐标_第2张图片

        例如,考虑一个将灰度图像分为几个类别的神经网络。这种分类器实现的功能会将每个单通道输入图像的n 个像素值映射到属于每个不同类别的m 个输出概率。 

        在训练神经网络时,反向传播算法负责在构成神经网络不同隐藏层的神经元之间共享输出层计算的误差,直到到达输入。 

反向传播算法调整网络权重的基本原理是,网络中的每个权重都应根据网络整体误差对该权重变化的敏感度按比例进行更新。 

– 第 222 页,深度学习,2019 年。

        网络总体误差对任何一个特定权重变化的敏感性是根据变化率来测量的,而变化率又是通过对同一权重求误差的偏导数来计算的。 

        为简单起见,假设某个特定网络的隐藏层之一仅由单个神经元k组成。我们可以用一个简单的计算图来表示:

 

雅可比矩阵和雅可比坐标_第3张图片

具有单输入和单输出的神经元

 

        再次,为了简单起见,我们假设根据该神经元实现的函数(包括非线性)将权重k应用于该神经元的输入以产生输出k 。然后,该神经元的权重可以连接到网络输出处的误差,如下所示(以下公式正式称为微积分的链式法则,稍后将在单独的教程中详细介绍):

雅可比矩阵和雅可比坐标_第4张图片

        这里,导数dz k / dw k首先将权重k连接到输出k,而导数d error / dz k随后将输出k连接到网络误差。 

        更常见的情况是,我们的网络中有许多连接的神经元,每个神经元都有不同的权重。由于我们对这种情况更感兴趣,因此我们可以推广到标量情况之外,以考虑多个输入和多个输出:

        该项之和可以更紧凑地表示如下:

雅可比矩阵和雅可比坐标_第5张图片

        或者,等效地,在向量表示法中,使用 del 运算符 ∇ 来表示相对于权重k或输出k的误差梯度:

雅可比矩阵和雅可比坐标_第6张图片

反向传播算法包括对图中的每个操作执行雅可比梯度积。

– 第 207 页,深度学习,2017 年。

        这意味着反向传播算法可以通过乘以雅可比矩阵(∂ k / ∂ k ) T将网络误差的敏感性与权重的变化联系起来。

那么,这个雅可比矩阵包含什么?

三、雅可比矩阵

        雅可比矩阵收集多元函数的所有一阶偏导数。具体来说,首先考虑一个将真实输入映射单个真实输出的函数:

雅可比矩阵和雅可比坐标_第7张图片

然后,对于长度为u的输入向量x ,大小为 1 × u 的雅可比向量可以定义如下:

雅可比矩阵和雅可比坐标_第8张图片

现在,考虑另一个将u真实输入映射到v真实输出的函数:

雅可比矩阵和雅可比坐标_第9张图片

然后,对于长度为u 的相同输入向量x,雅可比行列式现在是v × u矩阵,J ∈ ℝ v× u,定义如下:

雅可比矩阵和雅可比坐标_第10张图片

将雅可比矩阵重构为前面考虑的机器学习问题,同时保留相同数量的u实数输入和v实数输出,我们发现该矩阵将包含以下偏导数:

雅可比矩阵和雅可比坐标_第11张图片


 

 

        在这篇文章中,我将逐步推导雅可比坐标中的雅各比坐标。我将使用的球面坐标是物理学家经常使用的坐标(而不是数学家经常使用的坐标),如下所示:

雅可比矩阵和雅可比坐标_第12张图片  球面坐标   

        在下面显示的上一篇文章中,我推导出了一般的雅可比方程(2D),并通过插入极坐标方程来举例,所以如果你不太熟悉雅可比方程,我会先看一下这篇文章。

雅可比行列式:它究竟是如何工作的

四、推导雅可比派

        首先,虽然我不会再次进行推导,因为它非常相似,但三维雅可比矩阵与二维版本相同,只是我们有一个 3 x 3 行列式而不是 2 x 2 行列式。现在,我们需要做的就是确定将变量更改为球面坐标所需的方程并替换它们。

        看看我在文章开头的图表,我们可以采取的第一步是将长度 r 拆分为它在 z 方向和 xy 平面上的分量。这可以通过相对简单的三角函数来完成,如下所示:

雅可比矩阵和雅可比坐标_第13张图片

        因此,我们已经找到了点的 z 分量,只需要将 xy 分量拆分为单独的 x 和 y 分量。这也可以使用三角函数来完成,但这次使用角度φ

雅可比矩阵和雅可比坐标_第14张图片

        因此,我们已经成功地根据球面坐标编写了点的 xy 和 z 分量。这可以使用以下一组方程进行组织:

雅可比矩阵和雅可比坐标_第15张图片

        现在,我们可以将这些方程代入雅可比方程,如下所示:

雅可比矩阵和雅可比坐标_第16张图片

        如果我们在最后一行中使用辅因子,右边的行列式将最容易解决,因为这将允许我们只需要计算两个辅因子,因为其中一个为 0。使用这种方法,行列式可以这样计算:

雅可比矩阵和雅可比坐标_第17张图片

        最后几步需要多次使用毕达哥拉斯恒等式。现在,由于雅可比量是它的绝对值,我们可以得出结论,球面坐标中的雅可比量是r²sinθ。因此,当执行变量从笛卡尔坐标到球面坐标的更改时,我们需要进行以下更改:

        感谢您的阅读。

参考资料:

A Gentle Introduction to the Jacobian - MachineLearningMastery.com

你可能感兴趣的:(数学建模,基础理论,人工智能,算法)