矩阵求导方法

article/2025/9/15 21:25:45

矩阵求导方法

在机器学习过程中,我们经常会对矩阵进行相关的操作,现对矩阵求导方法进行概况与推导。

首先总结矩阵求导的本质,即矩阵A中每个元素对矩阵B中每个元素求导。我们先从宏观上理解这个公式,即从求导后元素的个数来理解(假设img):

1> 若矩阵A是1x1 的矩阵(即一个数),矩阵B也是1x1的矩阵,那么矩阵C元素个数为1x1=1 ;

2> 若矩阵A是nx1的矩阵,矩阵B是1x1的矩阵,那么矩阵C元素个数为nx1 ;

3> 若矩阵A是nx1的矩阵,矩阵B也是px1的矩阵,那么矩阵C为元素个数nxp ;

4>若矩阵A是nxm的矩阵,矩阵B也是pxq的矩阵,那么矩阵C为元素个数nxmxpxq ;

从上面4个小例子中相信你已经对上文提到的矩阵求导的本质有了一个初步的认识,下面具体介绍矩阵求导的方法:Y-X拉伸(或f(x)-X拉伸)。其主要方法总结为以下两点:

image-20220613150521565

看到这里,是不是懵了呢,这Y-X拉伸说的是啥啊。现在通过三个例子来理解这个矩阵求导的方法。开始写例子之前,先说明以下标量和向量,简单来说,标量就是一个数,如1,2,3这种,向量可以理解为是一串数字,如(1,2,3)。

Example 1:

image-20220613150207177

img 为什么img会是这个结果呢?我们来对照上文总结的两句话:标量不变,向量拉伸和f(x)横向拉,x纵向拉。对与这个例子,f(x)为标量,不需要变;x为向量,需要纵向拉伸,因此img就成为了nx1的矩阵。再根据矩阵求导本质:矩阵A中每个元素对矩阵B中每个元素求导。那么即f(x)对x1,x2,…xn分别求导。不知道讲到这里是否明白了些,还有疑惑的可以通过下面两个例子进行理解。


Example 2:

image-20220613150334839

img

同样的,我们根据标量不变,向量拉伸和f(x)横向拉,x纵向拉知道,这个例子x为标量,不需要变;f(x)为向量,需要进行横向拉伸,故得到上式。


Example 3:

image-20220613150401119

这个例子可以发现f(x)和x都为向量,那么应该既要进行纵拉伸,又要进行横拉伸。不妨先固定f(x)不变(把f(x)先看出是标量),先进行纵拉伸。

img

但现在上式的每一行如img中f(x)为向量,所以要把每行都进行横拉伸,结果如下:

img

相信通过上面的例子,你对矩阵的求导已经有了一定的理解,现通过上述的方法证明一些常用的矩阵求导公式。

img

已知:img img

img img

img

img

②证明img

已知:img img

这个公式的证明和①基本一致,读者可按照①中步骤自行尝试证明,这里不在过多叙述。

③证明img

已知:img img

这题给出两条证明思路:

Th1:按照①和②的方法一步步推导,提示: img是一个数(标量),化简后

img ,这里也不在浪费篇幅证明,明白上述提示后,证明方法和①②* 基本一致。*

Th2:这题是对乘积求导,可以利用分部求导法(这里利用公式: img )注:对公式不明白的可以查找相关资料或自行推导。

这里将X看做U, AX看着V, 则:

img


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

相关文章

矩阵求导

一、矩阵和向量求导 参考地址: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…

IO流的介绍

一:IO流的介绍 1.IO流属于一种Java技术,主要用于处理数据传输。通过IO与外界进行数据交互,通信等。 2.IO流适用于文件,图片,音乐,视频等等的传输任务。 3.通信的目标也存在多种。例如&…

最全最详细的IO流教程

前言 io流用到的地方很多,就比如上传下载,传输,设计模式等…基础打扎实了,才能玩更高端的。 在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点: (1)明确要操作的数据…

IO流详解.

目录: 一、IO流概述 二、FileInputStream初步 三、FileOutStream的使用 四、文件复制 五、FileReader的使用 六、FileWriter的使用 七、复制普通文本文件 八、带有缓冲区的字符流 九、标准输出流(掌握) / 写日志 十、File类 一、IO流概述…

IO流 (字节流、字符流)

目录 一、IO流概述 1.1 IO流概述 1.2 FileInputStream读取一个字节 1.3 FileInputStream读取多个字节 1.4 FileInputStream读取全部字节 1.5 FileOutputStream写字节 1.6 字节流复制文件 二、IO流资源释放 2.1 JDK7以前的资源释放 2.2 JDK7以后的资源释放 三、字符流…

面试官:请讲一讲IO流核心模块与基本原理是什么?

前言 一、IO流与系统 IO技术在JDK中算是极其复杂的模块,其复杂的一个关键原因就是IO操作和系统内核的关联性,另外网络编程,文件管理都依赖IO技术,而且都是编程的难点,想要整体理解IO流,先从Linux操作系统…