矩阵求导法则的总结

article/2025/9/15 20:29:12

最重要的写在前面:

进行更新:随着理解的加深,我发现之前写的有些问题,重新写一下吧

矩阵求导要分成两类,第一类是用在向量函数f(x)里,比如要在x0处展开,所以需要计算该点处的雅可比这些;第二类是为了计算统一,我们规定的分子布局或分母布局这样。

一、向量函数求导

形如y=f(x)这样的函数,如果考虑在x0处的展开就变成了

y=f(x_0) +J^T(x-x_0)+\frac{1}{2}(x-x_0)^TG(x-x_0)

其中y可能是一个值(scale),也可能是一个向量,分情况讨论下:

(1)值y_{1\times 1}对向量\mathbf{x}_{n\times1}求导

\frac{\partial y}{\partial \mathbf{x}}:这时也叫梯度,求导的结果的维度当然要和分母的向量保持一致,(类似分母布局)

(2)列向量\mathbf{y}_{m\times 1}对列向量\mathbf{x}_{n\times1}求导

\frac{\partial \mathbf{y}}{\partial \mathbf{x}}:这时也叫雅可比,先将y按列展开,再将x按行展开,所以得到的结果维度为mxn,(类似分子布局),

(3)还有hessian就不说了

 

二、矩阵之间的求导

这是需要考虑分子布局或分母布局,为了保持计算一致,我们需要选择一个规矩来计算,否则就乱了,不过我常见的还是分母布局;这时参考cook book就好,简单点就是说

\frac{\partial Ax}{\partial x^T} = A

\frac{\partial A^T x}{x} = A

这类的

 

三、小结

在算出来jacobian之后,后面的矩阵计算还是得按照分母布局来推,比如下面:

当然其实其实雅可比也是可以写成分母布局的,这样就得对应行向量了,因为雅可比后面跟着的是自变量x_nx1,所以还是要看自己的习惯,用哪个布局就选好配套的公式,不要一会这样一会那样,说到底都是为了计算方便,不管中间过程写成什么维度,可以算出正确结果就好了啊,只不过我是想按照这样的规律,以防自己算错

 

Reference:

https://blog.csdn.net/daaikuaichuan/article/details/80620518--------详细讲了我上面提到的几个例子,建议结合着看☆

https://blog.csdn.net/lipengcn/article/details/52815429 ---------------有很多公式的,虽然有的也不一定对

https://blog.csdn.net/nomadlx53/article/details/50849941-------------讲分母布局和分子布局的

http://www.pianshen.com/article/5516168061/ --------------------------分子分母布局的对比

https://www.jianshu.com/p/4128e5b31fb4---------------------------------分母布局讲的比较细


http://chatgpt.dhexx.cn/article/bJaiV9bt.shtml

相关文章

-矩阵求导-

一、为什么需要矩阵求导 参数的向量化: 向量化会使代码、式子更加简洁; 使用向量化代替for循环,向量化能够加速你的代码;求导在优化算法中的广泛应用: 优化算法需要反向传播,需要对参数矩阵进行求导 二、…

矩阵求导简析

大家好,这是我的第一篇博客。 矩阵求导(Matrix Derivation,或者Matrix Differential),在机器学习、图像处理、最优化领域经常会遇到。其本质是多元变量的微积分,只是把求导应用在了矩阵上,不同在…

矩阵求导法则

转载自:https://blog.csdn.net/dinkwad/article/details/72819832 矩阵求导的技术,在统计学、控制论、机器学习等领域有广泛的应用。鉴于我看过的一些资料或言之不详、或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量…

矩阵求导总结

文章目录 1.分子为标量1.1 ∂ 标量 ∂ 标量 \frac{\partial 标量}{\partial标量} ∂标量∂标量​1.2 ∂ 标量 ∂ 向量 \frac{\partial 标量}{\partial向量} ∂向量∂标量​1.3 ∂ 标量 ∂ 矩阵 \frac{\partial 标量}{\partial矩阵} ∂矩阵∂标量​ 2.分子为向量2.1 ∂ 向量…

矩阵求导方法

矩阵求导方法 在机器学习过程中,我们经常会对矩阵进行相关的操作,现对矩阵求导方法进行概况与推导。 首先总结矩阵求导的本质,即矩阵A中每个元素对矩阵B中每个元素求导。我们先从宏观上理解这个公式,即从求导后元素的个数来理解…

矩阵求导

一、矩阵和向量求导 参考地址:https://cloud.tencent.com/developer/article/1668818 求导公式大全:https://cloud.tencent.com/developer/article/1551901 机器学习中最常用的矩阵求导有:标量对矩阵的求导,矩阵对标量求导以…

矩阵求导、几种重要的矩阵及常用的矩阵求导公式

一、矩阵求导 一般来讲,我们约定x(x1,x2,...xN)Tx(x1,x2,...xN)T,这是分母布局。常见的矩阵求导方式有:向量对向量求导,标量对向量求导,向量对标量求导。 1、向量对向量求导 2、标量对向量求导 3、向量对标量求导 其他…

矩阵求导(本质、原理与推导)详解

矩阵求导是机器学习与深度学习的基础,它是高等数学、线性代数知识的综合,并推动了概率论与数理统计向多元统计的发展。在一般的线性代数的课程中,很少会提到矩阵导数的概念;而且在网上寻找矩阵求导的知识点,也是五花八…

矩阵求导常用公式

矩阵求导常用公式 1 引言2 向量的导数2.1 向量对标量求导 Vector-by-scalar2.2 标量对向量求导 Scalar-by-vector2.3 向量对向量求导 Vector-by-vector 3 矩阵的导数3.1 矩阵对标量求导 Matrix-by-scalar3.2 标量对矩阵求导 Scalar-by-matrix 4 常用求导公式4.1 向量对向量求导…

矩阵的求导

目录 1 布局(Layout) 1.1 矩阵向量求导引入 1.2 矩阵向量求导定义 1.3 矩阵向量求导布局 1.4 分母布局的另一种求解方法 1.5 总结 2 基本的求导规则 2.1 向量对标量求导(相对于数量变量的微分,即自变量是数量变量) 2.1.1 定义 2.1.…

JAVA—IO流详解

1. 流概述 1.1. 什么是IO IO:Input/Output即输入&输出,也称之为流(河流,水流),指的是数据从一个地点到另一个地点过程;对于计算机来说文件的拷贝过程,文件的编写保存,显示功能…

Java高级特性-IO流

文章目录 前言一、什么是IO流二、字节流-输入输出三、字符流 - 输入输出四、复制文件五、总结 前言 在Java开发中我们经常会涉及到文件方面的操作,不论是网站的上传文件,还是服务器提供给客户端下载文件,这些都需要我们来处理,那J…

java IO流之BufferedReader和BufferedWriter

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:笑霸final的主页 📕系列专栏::本文写在java专栏 📧如果文章知识点有错误的地方&#…

IO流详解

文章目录 IO流IO流分类FileInputStream输入流框架相对路径读取过程详解available()skip(long n) FileOutputStream输入流框架 FileReaderFileWriter文件复制FileInputStream 、FileOutputStreamFileReader 、FileWriter 缓冲流BufferedReader 数据专属流DataOutputStreamDataIn…

java中的io流

文章目录 1. IO流,什么是IO?2.IO流的分类?3.IO流都在java.io.*包下4.java IO流有四个家族5.java.io包下需要掌握的流有16个6.FileInputStream的1个字节读入法7.FileInputStream的byte[]读入法8.FileInputStream的其他方法9.FileOutputStream用…

Java读写IO流详解

一、IO流要明确的几点 (1)明确要操作的数据是数据源还是数据目的(是读还是写) 源/读 InputStream Reader 目的/写 OutputStream Writer (2)明确操作设备上的数据是字节还是文本 源/读 字节&…

python IO流

python io流 总的来说就说计算机输入和输出的操作,一般来说是内存与磁盘之间的输入输出 一种虚拟世界的物质。 IO流操作是一种持久化操作,是将数据持久化在磁盘上。 这里用了open函数 函数的第一个引号内放的是运行的python文件目录下的一个名为1.txt的…

IO流的概念

IO流的概念 IO就是Input和Output的简写,也就是输入和输出的含义 IO流就是读写数据时像流水一样从一端流到另外一端,因此得名为"流" 基本分类 按照读写数据的基本单位不同,分为字节流和字符流 其中字节流主要指以字节为单位进行…

什么是IO流?

大家好,我是IT修真院北京分院第27期的JAVA学员,一枚正直纯洁善良的java程序员。 今天给大家分享一下,修真院官网Java任务10,深度思考中的知识点———什么是IO流? 1.背景介绍 什么是流 流就是一系列的数据 当不同的介质之间有数据交互的时候,JAVA就使用流来实现。 数…

JavaIO流详解

转载:https://www.cnblogs.com/LittleHann/p/3678685.html Java输入、输入、IO流 类层次关系梳理 本文主要关注在Java编程中涉及到的IO相关的类库、方法。以及对各个层次(抽线、接口继承)的流之间的关系进行梳理 相关学习资料 http://baike.baidu.com/view/100795…