目录

一、矩阵的迹

1. 迹的定义

2. 迹的性质

二、微分与全微分

1. (全)微分的表达式

2. (全)微分的法则

三、 矩阵的微分

1. 矩阵微分的实质

2. 矩阵微分的意义

3. 矩阵微分的法则

4. 矩阵微分的常用公式

四、矩阵求导实例

1. 迹在微分中的应用

2. 利用微分求导


本篇博客总结自知乎文章:矩阵求导公式的数学推导(矩阵求导——进阶篇),需要详细推导过程可以查看原文学习。

文章主要介绍了矩阵迹的性质,并将矩阵微分引入到矩阵求导中。虽然在法则和公式中涉及到了矩阵变元的实矩阵函数,但是并不介绍如何求导实矩阵函数,只介绍矩阵变元的实值标量函数利用微分求导的过程(实矩阵函数的求导过程远比实值标量函数的求导过程复杂)。

一、矩阵的迹

1. 迹的定义

对于一个 方阵 

它的主对角线元素之和就叫做矩阵 迹(trace),记作:

2. 迹的性质

2.1 标量的迹

因为标量可以视为  的矩阵,所以对于一个标量  ,它的迹等于它本身

2.2 转置的迹

因为转置并不改变主对角线元素位置,所以对于一个矩阵  的转置  ,它的迹与原矩阵相等

2.3 乘积的迹

矩阵  与矩阵  的乘积的迹,等于两个矩阵对应位置的元素相乘再相加,类似于向量内积的延伸:

2.4 迹的交换律

由上一性质可知,在两矩阵交换位置后,乘积的迹不会受到影响,仍然是对应位置元素相乘再相加,即满足交换律

对于多个矩阵相乘,可以将其中一部分矩阵视为整体,然后使用交换律:

不仅如此,迹的矩阵交换不变性还可以和迹的矩阵转置不变性结合,得到如下转换过程:

2.5 迹的线性法则

矩阵先相加再求迹,等于先求迹再相加:

二、微分与全微分

1. (全)微分的表达式

高等数学中的一元函数的微分表达式多元函数全微分表达式如下:

函数类型

参数说明 表达式

普通一元函数

复合一元函数

普通多元函数

复合多元函数

2. (全)微分的法则

无论是一元函数的微分还是多元函数的全微分,都遵循以下四个法则

法则 参数说明 表达式
常数的微分 为常数
线性(加减)法则
乘积法则
商法则

三、 矩阵的微分

1. 矩阵微分的实质

对于一个矩阵变元实矩阵函数,其内部的每一个元素就是一个矩阵变元实值标量函数

对其求微分就是对每个位置上的元素求全微分,排列布局不变

2. 矩阵微分的意义

矩阵变元实值标量函数,其全微分可以转化为如下迹的形式

  • 其中左边的矩阵就是对  的分子布局形式求导:

  • 而右边的矩阵就是  的全微分

所以矩阵变元的实值标量函数的全微分可以表示为:

3. 矩阵微分的法则

因此,我们想要求解一个矩阵变元的实值标量函数的导数,我们只需要把该函数转化成上面的形式。而转化的过程可以通过下面矩阵微分的四个法则实现:

法则 参数说明 表达式
常数矩阵的微分 常数矩阵  
线性法则 常数 
乘积法则
转置法则

4. 矩阵微分的常用公式

对于转化过程中经常出现的矩阵形式,我们可以记住下面三类常用公式来简化推导步骤,这些公式也是由矩阵的微分四法则结合矩阵的迹的性质得来:

公式名称 参数说明 表达式
夹饼层 常数矩阵  
将  替换为矩阵函数 
行列式
将  替换为矩阵函数

逆矩阵

将  替换为矩阵函数

四、矩阵求导实例

1. 迹在微分中的应用

实值标量函数  ,由于它的结果是标量,所以有:

上式结合微分的线性法则(相加再微分=微分再相加):

若把实值标量函数  视为实矩阵函数  的

则有:

2. 利用微分求导

举例说明如何利用矩阵微分,推导出矩阵求导的表达式:

结合矩阵的迹的性质矩阵微分的四个法则六个常用公式,推导过程如下:

迹在微分的应用
夹饼层公式
微分乘积法则
迹的线性法则
微分转置法则
迹的交换与转置

迹的线性法则

最终得到该式的微分

结合公式

可得导数

动手学深度学习——矩阵求导之矩阵的迹和微分相关推荐

  1. 动手学深度学习需要这些数学基础知识

    https://www.toutiao.com/a6716993354439066124/ 本附录总结了本书中涉及的有关线性代数.微分和概率的基础知识.为避免赘述本书未涉及的数学背景知识,本节中的少数 ...

  2. 【动手学深度学习】(task123)注意力机制剖析

    note 将注意力汇聚的输出计算可以作为值的加权平均,选择不同的注意力评分函数会带来不同的注意力汇聚操作. 当查询和键是不同长度的矢量时,可以使用可加性注意力评分函数.当它们的长度相同时,使用缩放的& ...

  3. 李沐d2l《动手学深度学习》第二版——风格迁移源码详解

    本文是对李沐Dive to DL<动手学深度学习>第二版13.12节风格迁移的源码详解,整体由Jupyter+VSCode完成,几乎所有重要代码均给出了注释,一看就懂.需要的同学可以在文末 ...

  4. 动手学深度学习笔记3.4+3.5+3.6+3.7

    系列文章目录 动手学深度学习笔记系列: 动手学深度学习笔记3.1+3.2+3.3 文章目录 系列文章目录 前言 一.softmax回归 1.1 分类问题 1.2 网络架构 1.3 全连接层的参数开销 ...

  5. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(4)线性神经网络(暂停)

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  6. 李沐动手学深度学习v2/总结1

    总结 编码过程 数据 数据预处理 模型 参数,初始化参数 超参数 损失函数,先计算损失,清空梯度(防止有累积的梯度),再对损失后向传播计算损失关于参数的梯度 优化算法,使用优化算法更新参数 训练求参数 ...

  7. 动手学深度学习v2 p1引言 监督学习与无监督学习

    1.引言 1.2. 机器学习中的关键组件 首先介绍一些核心组件.无论什么类型的机器学习问题,都会遇到这些组件: 可以用来学习的数据(data): 如何转换数据的模型(model): 一个目标函数(ob ...

  8. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(2)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅰ

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  9. 动手学深度学习Pytorch Task03

    第三节课的内容包括过拟合.欠拟合及其解决方案和梯度消失.梯度爆炸和循环神经网络进阶 一.过拟合.欠拟合及其解决方案 1.过拟合.欠拟合及相关概念 训练误差:模型在训练数据集上表现出的误差 泛化误差:模 ...

最新文章

  1. 【java】异常的分类
  2. python文件读取方法read(size)的含义是_Python基于read(size)方法读取超大文件
  3. [导入]IIS无法显示asp页面
  4. HTML之表格篇——表格的嵌套
  5. php缓存实例,一个PHP缓存类实例
  6. leetcode 205. 同构字符串(hash)
  7. java学习(76):GUL单选按钮和复选按钮
  8. 企业微信小程序_小程序开发工具及真机调试_host配置及代理
  9. java struct工作原理_Struts2的工作原理(图解)详解
  10. World Wind Java开发之四——搭建本地WMS服务器(转)
  11. 在Azure Cloud Service中部署Java Web App(1)
  12. alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第1部分)
  13. API接口文档范文-API接口文档示例
  14. linux迅雷下载命令,命令行也强大之下载迅雷资源的方法
  15. Linux查看实时网速的Shell
  16. 工业器械视觉检测方案
  17. android 局部tab页,安卓TabLayout+ViewPager实现切页
  18. matlab中辗转相除法,基于Matlab的辗转相除法
  19. 搭建系统App、小程序到底要多少钱?
  20. R绘图笔记 | 火山图的绘制

热门文章

  1. Revit二次开发入门关键
  2. mongodb启用身份验证_启用2-Factor身份验证(2FA)之前应了解的事项
  3. 百度输入法重大BUG:内存占用随用户词库增大而暴涨
  4. 最新仿商城发卡网源码,带图片展示
  5. java计算机毕业设计ssm拼团旅游系统(源码+系统+mysql数据库+Lw文档)
  6. matlab引言,MatLab 2018a 官方教程
  7. chrome插件开发(manifest_version版本V3 + Ant Design Vue)
  8. IE兼容性问题汇总【持续更新中】
  9. C/C++游戏项目:编译重温小霸王经典超级玛丽教程(附注释源码)
  10. 易语言点击按钮打开浏览器中指定的网页