如何理解矩阵对矩阵求导?

给一种不严密但有用的理解方式:

1 向量的“倒数”

记向量x=(x1,x2,…,xn)T\mathrm{x} = (x_1, x_2, \dots, x_n)^Tx=(x1,x2,,xn)T,其倒数记为:x−1=(1x1,1x2,…,1xn)T\mathrm{x}^{-1} = (\frac{1}{x_1}, \frac{1}{x_2}, \dots, \frac{1}{x_n})^Tx1=(x11,x21,,xn1)T,不难得出它们的内积为:
xTx−1=(x1,x2,…,xn)(1x11x2⋮1xn)=n(1)\mathrm{x}^T\mathrm{x}^{-1} = (x_1, x_2, \dots, x_n)\left(\begin{matrix} \frac{1}{x_1}\\ \frac{1}{x_2} \\ \vdots \\ \frac{1}{x_n} \end{matrix}\right) = n \tag1xTx1=(x1,x2,,xn)x11x21xn1=n(1)
对应地,它们的外积可以写为:
x−1xT=(1x11x2⋮1xn)(x1,x2,…,xn)=(x1x1x2x1…xnx1x1x2x2x2…xnx2⋮⋮⋱⋮x1xnx2xn…xnxn)(2)\mathrm{x}^{-1}\mathrm{x}^T = \left(\begin{matrix} \frac{1}{x_1}\\ \frac{1}{x_2} \\ \vdots \\ \frac{1}{x_n} \end{matrix}\right) (x_1, x_2, \dots, x_n) = \left(\begin{matrix}\frac{x_1}{x_1} & \frac{x_2}{x_1} & \dots & \frac{x_n}{x_1} \\ \frac{x_1}{x_2} & \frac{x_2}{x_2} & \dots & \frac{x_n}{x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{x_1}{x_n} & \frac{x_2}{x_n} & \dots & \frac{x_n}{x_n} \end{matrix} \right) \tag2x1xT=x11x21xn1(x1,x2,,xn)=x1x1x2x1xnx1x1x2x2x2xnx2x1xnx2xnxnxn(2)

注:

  1. 向量“倒数”是一种不严密的说法,但由上述推导可知,其形式上与标量的倒数类似,便于从标量函数的导数过渡;
  2. 向量外积此处应称为outer product,不同于叉积cross product。其几何意义可参考:点乘,叉乘,内积,外积之间都是什么关系?怎么用?

由向量“倒数”不难得到向量“除法”的定义,此处记 y=(y1,y2,…,ym)T\mathrm{y} = (y_1, y_2, \dots, y_m)^Ty=(y1,y2,,ym)T
yx=x−1(y)T=(1x11x2⋮1xn)(y1,y2,…,ym)=(y1x1y2x1…ymx1y1x2y2x2…ymx2⋮⋮⋱⋮y1xny2xn…ymxn)(3)\frac{\mathrm{y}}{\mathrm{x}} = \mathrm{x}^{-1}(\mathrm{y})^T = \left(\begin{matrix} \frac{1}{x_1}\\ \frac{1}{x_2} \\ \vdots \\ \frac{1}{x_n} \end{matrix}\right) (y_1, y_2, \dots, y_m) = \left(\begin{matrix}\frac{y_1}{x_1} & \frac{y_2}{x_1} & \dots & \frac{y_m}{x_1} \\ \frac{y_1}{x_2} & \frac{y_2}{x_2} & \dots & \frac{y_m}{x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{y_1}{x_n} & \frac{y_2}{x_n} & \dots & \frac{y_m}{x_n} \end{matrix} \right) \tag3xy=x1(y)T=x11x21xn1(y1,y2,,ym)=x1y1x2y1xny1x1y2x2y2xny2x1ymx2ymxnym(3)
特别地,标量除以向量即可定义为:
yx=[yx1yx2⋮yxn](4)\frac{y}{\mathrm{x}} = \left[\begin{matrix}\frac{y}{x_1} \\ \frac{y}{x_2} \\ \vdots \\ \frac{y}{x_n}\end{matrix}\right] \tag4xy=x1yx2yxny(4)

2 标量对向量求导

∂y∂x=[∂y∂x1∂y∂x2⋮∂y∂xn](5)\frac{\partial y}{\partial \mathrm{x}} = \left[\begin{matrix}\frac{\partial y}{\partial x_1} \\ \frac{\partial y}{\partial x_2} \\ \vdots \\ \frac{\partial y}{\partial x_n}\end{matrix}\right] \tag5xy=x1yx2yxny(5)

注意:此时约定标量yyy是向量x\mathrm{x}x的函数,即y=y(x)y = y(\mathrm{x})y=y(x),以下类似。

不难注意到,此时该导数∂y∂x\frac{\partial y}{\partial \mathrm{x}}xy 即是多元函数y=y(x)y = y(\mathrm{x})y=y(x)的梯度。

3 向量对向量求导

∂y∂x=[∂y1∂x1∂y2∂x1…∂ym∂x1∂y1∂x2∂y2∂x2…∂ym∂x2⋮⋮⋱⋮∂y1∂xn∂y2∂xn…∂ym∂xn](6)\frac{\partial \mathrm{y}}{\partial \mathrm{x}} = \left[\begin{matrix} \frac{\partial y_1}{\partial x_1} & \frac{\partial y_2}{\partial x_1} & \dots & \frac{\partial y_m}{\partial x_1} \\ \frac{\partial y_1}{\partial x_2} & \frac{\partial y_2}{\partial x_2} & \dots & \frac{\partial y_m}{\partial x_2} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial y_1}{\partial x_n} & \frac{\partial y_2}{\partial x_n} & \dots & \frac{\partial y_m}{\partial x_n} \end{matrix}\right] \tag6xy=x1y1x2y1xny1x1y2x2y2xny2x1ymx2ymxnym(6)

该矩阵即是Jacobi矩阵。

4 向量对标量求导

∂y∂x=[∂y1∂x∂y2∂x…∂ym∂x](7)\frac{\partial \mathrm{y}}{\partial x} = \left[\begin{matrix} \frac{\partial y_1}{\partial x} & \frac{\partial y_2}{\partial x} & \dots & \frac{\partial y_m}{\partial x}\end{matrix}\right] \tag7xy=[xy1xy2xym](7)

注意:向量对标量求导后得到的向量与被求导向量的布局刚好互为转置,这是因为我们采用的是“前导不变后导转置”法则。

5 分子布局与分母布局

以上向量求导的布局方式均采用分母布局,另有一种记法为分子布局。在诸多文献中,分子布局的使用频率更高,但在统计计算中,使用分母布局更为自然。二者得到的结果互为转置即可。
最简单的记忆方式为:

  • 分母布局:计算结果的行数与分母保持一致
  • 分子布局:计算结果的行数与分子保持一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python获取id标签对应数据_Python--Scrapy爬虫获取简书作者ID的全部文章列表数据

最近Python大火,为了跟上时代,试着自学了下。Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv、json等文件中。今天我们就试着用Scrapy来爬取简书某位作者的全部文章。在本篇教程中,我们假定您已经…

怎么用计算机杀毒,电脑怎样查杀病毒

病毒往往会利用计算机操作系统的弱点进行传播,那么大家知道电脑怎样查杀病毒吗?接下来大家跟着学习啦小编一起来了解一下电脑查杀病毒的解决方法吧。电脑查杀病毒方法一一、使用杀毒软件进行杀毒1、首先进入“安全模式”2、进入方法:开机在进入Windows系…

MSN-LDL论文修改(B-Y Rong20211012)

Multi-view label distributed learning with multiple sub-networks –> Multi-view label distribution learning with multiple sub-networks Zhang HengRu1[00000 11111 22222 3333], Rong –> Bin-Yuan Rong, Heng-Ru Zhang Label distribution learning is an em…

将文件中所有数读到一个数组中_「数据结构与算法」将5个文件中的一千万年龄合并到一个新文件中...

现在有5个文件,文件里面分别存储着1千万个用户年龄,并且每个文件中的年龄都是有序的(从小到大),现在需要将这5个文件整合到一个文件中,新文件的内容依然要保持有序(从小到大)。初始化…

成都理工大学工程技术学院计算机专业收分线,2019年成都理工大学工程技术学院美术类专业录取分数线...

四川:艺术本科省控线文化分370专业分200(单科成绩均不低于60分),录取最低专业分224;艺专省控线文化分140专业分160,录取最低专业分181。内蒙古:艺术本科省控线文化分279专业分199,录取最低专业分201&#x…

如何利用python语言实现对象数组

1 Java代码示例 //定义一个类 class Triple {int user;int item;double rating; &#xff5d;//声明对象数组 Triple[] dataset new Triple[20];//利用对象数组访问成员变量 for(int i 0; i < dataset.length; i ){dataset[i].user 0; dataset[i].item 0dataset[i].…

在python中、正确的函数定义格式为_Python函数的定义与实现

1. 函数的介绍函数是 实现具有特定功能的代码块Python中预制了许多内置函数&#xff0c;也可以根据自己的需求创建自定义的函数隐藏实现功能的细节代码的复用提高可读性&#xff0c;便与调试def 函数名(形参1, 形参2...):要运行的代码块(函数体)return 返回的数据(返回值)函数名…

计算机连接交换机配置命令,[计算机]交换机配置命令.doc

[计算机]交换机配置命令交换机配置命令集锦1、 进入全局配置模式1、Switch-3548 > enablePassword : ********Switch-3548 # config tSwitch-3548 (config) #2、 启用交换机的HTTP Server2、Switch-3548 (config) # ip http server3、 配置主机名3、Switch-3548 (config) # …

二维码编码规范解读

1 QR码符号的结构 QR 码符号的结构如下&#xff1a; 1.1 定位图案 Position Detection Pattern是定位图案&#xff0c;用于标记二维码的矩形大小。这三个定位图案有白边叫Separators for Postion Detection Patterns。之所以三个而不是四个意思就是三个就可以标识一个矩形了…

最早单机的计算机操作系统,川农《计算机操作系统(本科)》19年12月在线作业【满分答案】...

可做奥鹏全部院校作业论文&#xff01;答案请添加qq&#xff1a;599792222 或 微信&#xff1a;1095258436川农《计算机操作系统(本科)》19年12月在线作业【满分答案】试卷总分:100 得分:100一、单选题 (共 20 道试题,共 100 分)1.在单一处理机上执行程序&#xff0c;多道程序…

pythonopencv提取圆内图像_python – 使用OpenCV从图像中提取多边形给定...

使用cv2.fillConvexPoly以便您可以指定2D点阵列并定义一个蒙版,该蒙版填充由这些点定义的形状在蒙版中为白色.如果多边形中定义的点是凸的(因此名称为fillConvexPoly),则应该进行一些公平的警告.然后我们可以将其转换为布尔蒙版,并使用它来索引图像以提取出您想要的像素.下面的…

二维码的纠错码原理及如何纠错(1)

本文将通过例子来说明两个方面的内容&#xff1a; &#xff08;1&#xff09;如何构建纠错码&#xff1f; &#xff08;2&#xff09;有了纠错码之后如何纠错&#xff1f; 1 如何构建纠错码&#xff1f; 直接上例子&#xff0c;“hello world” 利用二维码的编码原理&#xf…

浙江省二级计算机vfp,浙江省计算机2级vfp程序调试真题集.doc

程序填空(改错)题&#xff1a;在考生文件夹的paper 子文件夹中&#xff0c;已有文件Modify.prg&#xff0c;请自己打开文件&#xff0c;在标记&&之前填写所缺代码、调试、保存&#xff0c;并完成以下功能1、显示指定表中的全部字段名&#xff0c;并由用户输入显示表信息…

利用自己构建的网络进行鼾声识别

1 目前的工作 1.1 数据 5692条3s且采集率为8000hz的鼾声与6824条3s且采集率为8000hz的其他类音频。通过FFT频谱转换为300个(30,513,1)的矩阵。训练集与测试集的比例为9&#xff1a;1。数据集来源为google开源的数据集。 1.2 模型 图1. The proposed deep neural network arc…

计算机组成码距,计算机组成原理:2.3.2 纠错码原理.ppt

2.3.2 纠错码的基本原理;重复码;;n4时;译码失败&#xff1a;译码器根据接收到的信号无法作出明确判断;纠错码如何纠正错误&#xff1f;;2.3.3 几个基本概念;许用码组和禁用码组;错误图样;汉明距离和重量;最小码距;分组码 分组码一般可用(n,k)表示。其中&#xff0c;k是每组二进…

企业微信加密消息体_用企业微信小程序发送消息

在企业开发中&#xff0c;经常会碰到一些消息要及时推送到企业员工的手中。so 下面来说怎么向企业微信中的员工发消息。本人只是记录下开发过程&#xff0c;详细参考https://work.weixin.qq.com/api/1.准备注册企业微信公司获取企业ID新开企业微信应用获取应用的Agentid&#x…

二维码的纠错码原理及如何纠错(2)

下面进一步介绍二维码纠错相关的编码矩阵 1 范德蒙德&#xff08;Vandermonde&#xff09;矩阵 1.1 定义及特性 法国数学家 Alexandre-Thophile Vandermonde 在十八世纪提出了行列式的概念, 用来解决线性方程组问题, 其中一个关键是范德蒙德(Vandermonde) 矩阵, Vandermonde…

北师大计算机组成原理离线作业,北师大网络教育 离线作业 计算机组成原理(一、二、三)...

《计算机组成原理》作业(一)一、CPU&#xff1a;Central Processing Unit 中央处理单元 执行存放在主存储器中的程序即机器指令.CPU是由控制器和运算器.PC&#xff1a;Personal Computer 个人电脑 能独立运行、完成特定功能的个人计算机 IR&#xff1a;Immediate Rendering 直接…

3dsmax导出html,3dsmax导出gltf格式插件

【实例简介】3dsmax导出gltf格式插件&#xff0c;里面包括插件&#xff0c;插件使用说明&#xff0c;插件功能介绍&#xff1b;【实例截图】【核心代码】3dsmx_to_gltf格式插件└── 3dsMax to gltf 2├── 3ds Max│ ├── CHANGELOG.md│ ├── Max2Babylon│ │ …

NCCIP会议笔记

华南理工大学蔡毅&#xff1a;多智能体通信&#xff0c;识别边界。是否可以用于鼾声识别 天津大学张鹏教授 哈尔滨工业大学 HFUT&#xff1a;俞奎 张长青