矩阵求导术(二)——矩阵对矩阵的求导
矩阵求导术(二)—— 矩阵对矩阵的求导
接上篇,继续讨论涉及矩阵的求导技术。其实总结下来,涉及矩阵的求导本质就是多个标量对标量的求导按照某种规则排列起来,而这样的排列符合许多微分、线性代数的运算法则,由此衍生出的运算规则可以简化矩阵微分运算过程的表达形式,进而提升求导效率。
参考资料
上篇:矩阵求导术(一)——标量对矩阵的求导
知乎高赞
另外,张贤达《矩阵分析与应用》也有对矩阵微分的详细论述,可做参考。
向量对向量的求导
首先定义向量对向量的导数。注意,这里没有特别限定是列向量还是行向量,因为最终的理论都是要将导函数和自变量都列向量化。对于p×1列向量,m×1列向量,其导数定义为:
,导数矩阵的大小为m×p,在这种书写规则下,可以得到微分表达式:
,需要注意的是这跟高等数学中的微分表达式相比要多一个转置操作。
矩阵对矩阵的求导
将向量对向量的求导延伸为矩阵对矩阵的求导。将矩阵按列优先向量化:
对矩阵向量化:;
于是矩阵对矩阵的求导可以先将矩阵向量化后借助上述向量对向量求导的定义式进行:
于是我们有:,于是,对于一个矩阵函数表达式,在求解其导数时,总体分为两步:
- 等式两边同时求微分
- 向量化
在此过程中,需要用到涉及向量化的一些化简技巧:
- 线性:
- 矩阵乘法:, 为Kronecker积(克罗内克积),这里采用右Kronecker积;
- 转置:,为转置矩阵,A为m×n矩阵
- 注意:一般地,我们会将上篇中所述标量对矩阵的导数看做本文所述矩阵对矩阵导数的一种特殊情况。若是如此,我们会得到mn×1的结果,这与我们之前得到的m×n的结果不相兼容,但两者可以相互转换。
- 为避免混淆,采用梯度算子记号表示上篇中所述标量对矩阵的求导情况:,两者的通过向量化算符转化:
- ,因此采用上下两篇来对标量和矩阵求导分别论述。
矩阵求导术(二)——矩阵对矩阵的求导相关推荐
- 蛇形矩阵 java_Java实现打印二维蛇形矩阵(螺旋矩阵)。
直接上代码吧. 昨晚腾讯在线测试遇到的题. 螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大, 向左变大,向上变大,如此循环. import java.util.Scann ...
- 矩阵求导术(上、下)
点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言 ...
- 学习笔记三:MLP基本原理、矩阵求导术推反向传播、激活函数、Xavier
文章目录 一.BP神经网络(MLP) 1.1 感知机模型及其局限性 1.2 BP神经网络基本原理 1.3 softmax多分类.求导 1.4 二分类使用softmax还是sigmoid好? 1.5 为 ...
- 标量 向量 标量求导链式法则_矩阵求导术(上)
矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言之不详.或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量对矩阵的求导术,下篇讲矩阵对矩阵的求导术.本文使用小写字母 ...
- [矩阵的三角分解系列二] LDU基本定理
LDU基本定理 简介 三角分解的存在和唯一性? LDU基本定理 充分性证明 存在性证明 唯一性证明 必要性证明 推论 稳定性 例子 引用 矩阵的三角分解是求解线性方程组常用的方法,包括LU分解,LDU ...
- 神经网络中矩阵求导术的应用
神经网络中矩阵求导术的应用 序 记法约定 常用公式和定理 举例 多层神经网络(MLP)的梯度推导 Batch Normalization Layer的推导 序 本文假设读者熟悉一元微积分,线性代数,并 ...
- 二阶矩阵转置怎么求_矩阵求导术(下)
本文承接上篇 https://zhuanlan.zhihu.com/p/24709748,来讲矩阵对矩阵的求导术.使用小写字母x表示标量,粗体小写字母 表示列向量,大写字母X表示矩阵.矩阵对矩阵的求导 ...
- 二元函数对xy同时求导_让向量、矩阵和张量的求导更简洁些吧
本文是我在阅读Erik Learned-Miller的<Vector, Matrix, and Tensor Derivatives>时的记录,点此下载. 本文的主要内容是帮助你学习如何进 ...
- 【机器学习中的矩阵求导】(七)矩阵向量化复习
学习总结 (1)矩阵乘法. Vec(ABC)=(C⊤⊗A)Vec(B)\operatorname{Vec}(\operatorname{ABC})=\left(\mathbf{C}^{\top} ...
- 【100题】三十五 求一个矩阵中最大的二维矩阵(元素和最大)
一,题目: 求一个矩阵中最大的二维矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5 3 0 中最大的是: 4 5 5 3 要求:(1)写出算法;(2)分析时间复杂度;(3) ...
最新文章
- luogu P5468 [NOI2019]回家路线 (斜率优化、DP)
- eclipse下添加viplugin插件的方法
- node开发命令行脚本
- 好用的MessageFormat类
- Windows用户程序报错或软件无法删除或者卡顿,解决办法
- 百度编辑器ueditor字体添加
- oracle 8i漏洞渗透,IT新聞-Oracle 8i及多米諾服務器有安全漏洞
- matlab求因子载荷矩阵,在MATLAB中如何建立因子分析模型?
- eviews计算covar_第7章 我国商业银行风险溢出效应的度量—基于GARCH-CoVaR模型
- Greenplum常用SQL——通过表名查找shema名
- PROE塑胶产品结构标准设计视频教程灯具设计
- andorid 问题集合
- 如何修改CAD制图时光标尺寸大小?
- 一级建造师课件下载建筑工程行业会计分录汇总非常全建议收藏!
- TOJ 4354 HDU 4262 Juggler / 树状数组
- 七、享元模式与门面模式详解
- 你是通过什么渠道获取一般人不知道的知识和信息的?
- gmap.net基础详细介绍
- 【模拟IC】二级运放2:单位增益负反馈
- 自问自答——使用视图能提高查询效率么?
热门文章
- 《论个人在历史上的作用》总结反思
- 重要且紧急的事,紧急但不重要的事,重要但不紧急的事,既不紧急又不重要的事
- STM32与ST-Link杜邦线连接
- C# NPOI Excel 合并单元格和取消单元格
- 第三方支付操作流程,有何优势,又存在哪些风险?
- java.lang.UnsupportedOperationException: This is supposed to be overridden by subclasses
- echarts的用法
- 证券分析软件测试面试题,光大证券面试经验
- 三维向量的一些运算技巧,如何计算坐标
- STM32单片机的优缺点分析