雅可比矩阵和雅可比坐标

一、说明
在本教程中,您将回顾一下雅可比行列式的简单介绍。完成本教程后,您将了解:
- 雅可比矩阵收集了可用于反向传播的多元函数的所有一阶偏导数。
- 雅可比行列式在变量之间变化时非常有用,它充当一个坐标空间与另一个坐标空间之间的缩放因子。
教程概述
本教程分为三个部分;他们是:
- 机器学习中的偏导数
- 雅可比矩阵
- 雅可比矩阵的其他用途
二、机器学习中的偏导数
到目前为止,我们已经提到梯度和偏导数对于优化算法来说非常重要,例如更新神经网络的模型权重以达到最佳权重集。通过依次计算误差曲线相对于每个权重的梯度,偏导数的使用允许每个权重独立于其他权重进行更新。
我们在机器学习中通常使用的许多函数都是多元向量值函数,这意味着它们将多个实际输入 n 映射到多个 实际输出m:
例如,考虑一个将灰度图像分为几个类别的神经网络。这种分类器实现的功能会将每个单通道输入图像的n 个像素值映射到属于每个不同类别的m 个输出概率。
在训练神经网络时,反向传播算法负责在构成神经网络不同隐藏层的神经元之间共享输出层计算的误差,直到到达输入。
反向传播算法调整网络权重的基本原理是,网络中的每个权重都应根据网络整体误差对该权重变化的敏感度按比例进行更新。
– 第 222 页,深度学习,2019 年。
网络总体误差对任何一个特定权重变化的敏感性是根据变化率来测量的,而变化率又是通过对同一权重求误差的偏导数来计算的。
为简单起见,假设某个特定网络的隐藏层之一仅由单个神经元k组成。我们可以用一个简单的计算图来表示:
具有单输入和单输出的神经元
再次,为了简单起见,我们假设根据该神经元实现的函数(包括非线性)将权重w k应用于该神经元的输入以产生输出z k 。然后,该神经元的权重可以连接到网络输出处的误差,如下所示(以下公式正式称为微积分的链式法则,稍后将在单独的教程中详细介绍):
这里,导数dz k / dw k首先将权重w k连接到输出z k,而导数d error / dz k随后将输出z k连接到网络误差。
更常见的情况是,我们的网络中有许多连接的神经元,每个神经元都有不同的权重。由于我们对这种情况更感兴趣,因此我们可以推广到标量情况之外,以考虑多个输入和多个输出:
该项之和可以更紧凑地表示如下:
或者,等效地,在向量表示法中,使用 del 运算符 ∇ 来表示相对于权重w k或输出z k的误差梯度:
反向传播算法包括对图中的每个操作执行雅可比梯度积。
– 第 207 页,深度学习,2017 年。
这意味着反向传播算法可以通过乘以雅可比矩阵(∂ z k / ∂ w k ) T将网络误差的敏感性与权重的变化联系起来。
那么,这个雅可比矩阵包含什么?
三、雅可比矩阵
雅可比矩阵收集多元函数的所有一阶偏导数。具体来说,首先考虑一个将真实输入映射到单个真实输出的函数:
然后,对于长度为u的输入向量x ,大小为 1 × u 的雅可比向量可以定义如下:
现在,考虑另一个将u真实输入映射到v真实输出的函数:
然后,对于长度为u 的相同输入向量x,雅可比行列式现在是v × u矩阵,J ∈ ℝ v× u,定义如下:
将雅可比矩阵重构为前面考虑的机器学习问题,同时保留相同数量的u实数输入和v实数输出,我们发现该矩阵将包含以下偏导数:
在这篇文章中,我将逐步推导雅可比坐标中的雅各比坐标。我将使用的球面坐标是物理学家经常使用的坐标(而不是数学家经常使用的坐标),如下所示:

在下面显示的上一篇文章中,我推导出了一般的雅可比方程(2D),并通过插入极坐标方程来举例,所以如果你不太熟悉雅可比方程,我会先看一下这篇文章。
雅可比行列式:它究竟是如何工作的
四、推导雅可比派
首先,虽然我不会再次进行推导,因为它非常相似,但三维雅可比矩阵与二维版本相同,只是我们有一个 3 x 3 行列式而不是 2 x 2 行列式。现在,我们需要做的就是确定将变量更改为球面坐标所需的方程并替换它们。
看看我在文章开头的图表,我们可以采取的第一步是将长度 r 拆分为它在 z 方向和 xy 平面上的分量。这可以通过相对简单的三角函数来完成,如下所示:
因此,我们已经找到了点的 z 分量,只需要将 xy 分量拆分为单独的 x 和 y 分量。这也可以使用三角函数来完成,但这次使用角度φ:
因此,我们已经成功地根据球面坐标编写了点的 x、y 和 z 分量。这可以使用以下一组方程进行组织:
现在,我们可以将这些方程代入雅可比方程,如下所示:
如果我们在最后一行中使用辅因子,右边的行列式将最容易解决,因为这将允许我们只需要计算两个辅因子,因为其中一个为 0。使用这种方法,行列式可以这样计算:
最后几步需要多次使用毕达哥拉斯恒等式。现在,由于雅可比量是它的绝对值,我们可以得出结论,球面坐标中的雅可比量是r²sinθ。因此,当执行变量从笛卡尔坐标到球面坐标的更改时,我们需要进行以下更改:
感谢您的阅读。
参考资料:
A Gentle Introduction to the Jacobian - MachineLearningMastery.com
相关文章:

雅可比矩阵和雅可比坐标
雅可比行列式的简要介绍 一、说明 在本教程中,您将回顾一下雅可比行列式的简单介绍。完成本教程后,您将了解: 雅可比矩阵收集了可用于反向传播的多元函数的所有一阶偏导数。雅可比行列式在变量之间变化时非常有用,它充当一个坐标空…...

macOS鼠标管理操作增强BetterMouse简体中文
BetterMouse是一款专为Mac用户设计的鼠标增强工具,旨在帮助用户更好地掌握和管理鼠标操作。它提供了全局鼠标手势、高度可定制的鼠标设置选项以及一些有用的鼠标增强功能,如鼠标放大镜、鼠标轨迹和应用程序切换功能。这些功能可以大大提高用户的工作效率…...

塔式服务器介绍
大家都知道服务器分为机架式服务器、刀片式服务器、塔式服务器三类,今天小编就分别讲一讲这三种服务器,第三篇先来讲一讲塔式服务器的介绍。 塔式服务器定义:塔式服务器的外观和普通电脑差不多,直立放置。机箱比较大,服…...

上海市道路数据,有63550条数据(shp格式和xlsx格式)
数据地址: 上海市道路https://www.xcitybox.com/datamarketview/#/Productpage?id391 基本信息. 数据名称: 上海市道路数据 数据格式: Shpxlsx 数据时间: 2020年 数据几何类型: 线 数据坐标系: WGS84坐标系 数据来源:网络公开数据 数据字段&am…...

计算机网络_03_tcp/ip四层模型
文章目录 1.为什么会有tcp/ip?2.tcp/ip是什么?3.为什么会有tcp/ip四层模型?4.tcp/ip四层模型介绍 1.为什么会有tcp/ip? 早期的计算机(计算机网络没有出现之前)几乎都是各自为战, 各种操作系统厂家百花齐放, 市面上的大部分计算机使用的都是不同的操作系统, 为每个人提供定…...

[SQL开发笔记]IN操作符: 在WHERE子句中规定多个值
上一实例我们在where子句使用(year2022 or year2020),如果我们需要在WHERE子句中规定多个值呢?这时我们将学习IN操作符 一、功能描述: 在WHERE子句中规定多个值。 二、IN操作符语法详解: IN操作符语法: SELECT col…...

Java基础(第一期):IDEA的下载和安装(步骤图) 项目结构的介绍 项目、模块、类的创建。第一个代码的实现
Java基础专栏: Java基础第一期下一期:Java基础第二期 文章目录 IDEA1.1 IDEA概述1.2 IDEA的下载和安装1.2.1 下载1.2.2 安装 1.3 IDEA中层级结构介绍1.3.1 结构分类1.3.2 结构介绍project(项目、工程)module(模块&…...

0基础学习PyFlink——使用PyFlink的SQL进行字数统计
在《0基础学习PyFlink——Map和Reduce函数处理单词统计》和《0基础学习PyFlink——模拟Hadoop流程》这两篇文章中,我们使用了Python基础函数实现了字(符)统计的功能。这篇我们将切入PyFlink,使用这个框架实现字数统计功能。 PyFl…...

【Java系列】ArrayList
ArrayList 添加元素访问元素修改元素删除元素计算大小迭代数组列表其他的引用类型ArrayList 排序Java ArrayList 方法系列文章系列文章版本记录 引言 ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删…...
sqlalchemy 使用
Python中强大的通用ORM框架:SQLAlchemy - 知乎...

Python深度学习实战-基于class类搭建BP神经网络实现分类任务(附源码和实现效果)
实现功能 上篇文章介绍了用Squential搭建BP神经网络,Squential可以搭建出上层输出就是下层输入的顺序神经网络结构,无法搭出一些带有跳连的非顺序网络结构,这个时候我们可以选择类class搭建封装神经网络结构。 第一步:import ten…...

GIS 数据结构整理:网格索引
1 一维网格索引 把整个数据库数值空间划分成n*n的正方形网格,建立另一个倒排文件——栅格索引每一个网格在栅格索引中有一个索引条目(记录),在这个记录中登记所有位于或穿过该网格的物体的关键字 1.1 变长指针法 在这个网格的物体,按照序号…...

【打靶】vulhub打靶系列(一)—小白视野的渗透测试
主机探测 arpscan arp-scan -l 另一种方法arping for i in $(seq 1 200); do sudo arping -c 1 192.168.56.$i; done 注意这个必须是root权限 端口探测 nmap nmap -p- -sV -T4 192.168.56.104 发现8080端口 web测试 访问下web页面 1、通过逻辑点绕过 发送到xia_sq…...

kafka3.X集群安装(不使用zookeeper)
参考: 【kafka专栏】不用zookeeper怎么安装kafka集群-最新kafka3.0版本 一、kafka集群实例角色规划 在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。 上图中黑色代表broker(消息代理服务)&…...
2023 年 的 DBA 有哪些变化?
作者:Craig S. Mullins 数据库专家,IBM 优化冠军,DB2 金牌顾问以及 IDUG 名人堂成员,数据库类畅销书作者,著有《DB2 Developers Guide》、《Database Administration: The Complete Guide to DBA Practices & Pro…...

vs2022 使用git同步报错以及解决每次推送要输入密码问题
1.使用 git GUI工具,例如:TortoiseGit ,把全局配置文件这样设置一下 设置全局.config ,这样即可。 [credential] helper store 2.如果推送代码或拉取代码一直失败,在当前的仓库下面,使用以下命令来重置一下密码 git …...

有哪些适用于 Windows 的PDF 阅读器?免费 PDF 阅读器清单
探索适用于 Windows 10 和 11 的最佳 PDF 阅读器 适用于 Windows 10 和 Windows 11 的最佳 PDF 阅读器让您可以在台式计算机上查看和共享文档。 最好的PDF 编辑器和免费的 PDF 编辑器配备了先进的工具,可以跨不同的操作系统工作。但是,当您只需要查看和…...

避雷!新增2本期刊被标记为「On Hold」,1区TOP刊仍在调查中!
近期小编在Master Journal List上查询期刊时偶然发现,又有2本期刊被科睿唯安标记为「On Hold」! 这2本期刊分别为MIGRATION LETTERS和REVISTA DE GESTAO E SECRETARIADO-GESEC. 此外还有6本期刊被标记为「On Hold」,目前共计8本期刊被「On …...

iOS 配置通用链接(Universal Link)服务端和开发者后台都配置好了,还是跳转不到App
目录 一、什么是 Universal Link? 1.背景介绍 2.特点 3.运行机制原理&流程图 二、配置教程 1.第一步:开启 Associated Domains 服务 1.1 开通 Associated Domains 2.第二步:服务器配置 apple-app-site-association(AAS…...

【环境】Linux下Anaconda/ Miniconda安装+百度Paddle环境搭建+Cudnn(3090显卡+CUDA11.8+cudnn8.6.0)
清华源帮助链接:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 下载链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 其他深度学习环境相关博文:【stable-diffusion】4090显卡下dreambooth、lora、sd模型微调的GUI环境…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...

html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...