3 分钟了解矩阵的标量推导。
这是个人学习笔记,不是原创。来源请查看 "参考文档"
标量对矩阵的求导
基础推导
定义
标量f对矩阵X的导数,定义为 ![](juejin.cn/equation?te… f}{\partial X} =[\frac{\partial f}{\partial X_{ij}}]),即f对X逐元素求导排成与X尺寸相同的矩阵。
将矩阵导数与微分建立联系:
上面第二个等式,用到了矩阵的迹的性质。因为两个向量相乘,A中第i个元素乘以B中第i个元素的积,全部在形成的矩阵对角线上,即
![](https://juejin.cn/equation?tex=tr(A^TB)=\sum_{i,j}{A_{ij}B_{ij}})
这里第一个等号是全微分公式,第二个等号表达了矩阵导数与微分的联系:全微分是导数![](juejin.cn/equation?te… f}{\partial X})(mxn)与微分矩阵(mxn)的內积。(这里的m,n是矩阵的大小)
求导公式
运用这些法则,可以建立常用的矩阵微分的运算法则:
-
加减法
-
矩阵乘法
-
转置
-
迹
-
逆
-
行列式
其中X#表示X矩阵的伴随矩阵,在X可逆的时候,可以写作:
-
逐元素乘法
其中,表示尺寸相同的矩阵X,Y逐元素相乘。
-
逐元素函数
这是逐元素标量函数运算,是逐元素求导数。
矩阵迹的运算
利用矩阵导数与微分的联系![](juejin.cn/equation?te… f}}{\partial X}^TdX))求出左侧的微分后,该如何写成右侧的形式并得到导数?这需要一些迹技巧:
-
标量套上迹:![](https://juejin.cn/equation?tex=a=tr(a))
-
转置:![](https://juejin.cn/equation?tex=tr(A^T)=tr(A))
-
线性:![](https://juejin.cn/equation?tex=tr(A\pm B)=tr(A)\pm tr(B))
-
矩阵乘法交换:![](https://juejin.cn/equation?tex=tr(AB)=tr(BA)),其中![](https://juejin.cn/equation?tex=A)与![](https://juejin.cn/equation?tex=B^T)的尺寸相同。两侧都等于![](https://juejin.cn/equation?tex=\sum_{i,j}A_{ij}B_{ji})
-
矩阵乘法/逐元素乘法交换:![](https://juejin.cn/equation?tex=tr(A^T(B\odot C))=tr((A\odot B)^TC)),其中A,B,C尺寸相同,两侧都等于![](https://juejin.cn/equation?tex=\sum_{i,j}{A_{ij}B_{ij}}C_{ij})
结论
若标量函数f是矩阵X经加减乘法、逆、行列式、逐元素函数等运算构成,则使用相应的运算法则对f求微分,再使用迹技巧给df套上迹并将其它项交换至dX左侧,对照导数与微分的联系![](juejin.cn/equation?te… f}}{\partial X}^TdX)),即能得到导数。
复合函数
假设已求得![](juejin.cn/equation?te… f}}{\partial Y}),而Y是X的函数,如何求![](juejin.cn/equation?te… f}{\partial X})?
-
![](https://juejin.cn/equation?tex=df=tr(\frac{{\partial f}}{\partial Y}^TdY))
-
再将dY用dX表示出来代入,并使用迹技巧将其他项交换至dX左侧,即可得到![](https://juejin.cn/equation?tex=\frac{\partial f}{\partial X})。
例子
上面的式子与![](juejin.cn/equation?te… f}}{\partial X}^TdX))对比,即可得到![](juejin.cn/equation?te… f}{\partial X}=A^T \frac{\partial f}{\partial Y }B^T)。
注意,,由于A,B是常量,所以,以及我们使用矩阵乘法交换的迹技巧交换了![](juejin.cn/equation?te… f}}{\partial Y}^TAdX)与。
例题
,求![](juejin.cn/equation?te… f}{\partial X})。其中是![](juejin.cn/equation?te… 1)列向量,是![](juejin.cn/equation?te… \times n)矩阵,是![](juejin.cn/equation?te… \times 1)列向量,是标量。
解:
由于是标量,,所以
与![](juejin.cn/equation?te… f}{\partial X}^TdX))对比,可得
参考文档
-
https://zhuanlan.zhihu.com/p/24709748
-
https://www.jianshu.com/p/d0110f242b64
上一篇: x/y求导公式
下一篇: 在 Pytorch 中的向量-雅各布乘积
推荐阅读
-
返利网如何返利(3 分钟带您了解返利网的运作模式)
-
3 分钟了解矩阵的标量推导。
-
3分钟了解PPT排版的4大经典版式,超实用!
-
快速了解:如何在3分钟内修改文件夹的图标与颜色步骤指南
-
三分钟带你了解手机内部硬件-主要影响手机性能的有以下几点 CPU - *处理器(手机中的大脑) CPU 是计算思考以及处理事物的。 比如:我们日常玩手机,什么最重要?毫无疑问是手机打开软件很流畅,使用各种功能不卡。 这就是CPU的性能,那什么影响 CPU 的因素有哪些? 架构 架构是 CPU 的基础,对于处理器的整体性能起到了决定性的作用,不同架构的处理器同主频下,性能差距可以达到2-5倍。可见架构的重要性。 那么什么是架构呢? 打个比方,架构就是一栋楼的框架。至于最终楼什么样子,就由处理器的厂商决定了,但是有一点,如果说这栋楼房的结构设计出来容纳多少人,那么最后建好的房子也要在这个范围内。同理,如果使用相同架构的处理器,那么本质上不会有太大的区别。 看一下主流手机的架构 处理器对比.jpg 从上图可见:高通 和 苹果都是自主设计,所以说它们牛还是有一定的道理的。不同的架构, 性能和功耗也是不同的。架构决定了 主频、核心数、带宽等和运算量直接相关的东西。目前很多手机打广告都是说 多少核的机器。但是并不是说核越多性能就越强,你没看见,苹果双核就能吊打高通和联发科吗? 制程 制程 专指:事物运作程序的处理过程。常指手机芯片框架的运算速度量。 简单的说就是电路板中电路与电路之间的距离,目前已经发展到纳米级别。 制程越小,可以向芯片中塞入更多的晶体管,随之而来的好处还有:降低电量和成本、散热。 制程数的确定 这里有人要问,为什么制程的数字是这些,而不是别的数字,比如有28nm,为什么没有29nm? 这其实是有一定规律的。根据早期国际半导体蓝图规划,由五个在相关领域较为发达的国家共同制定,约定下一代制程要在上一代基础上做到晶体管数量不变,芯片面积缩小一半。由这一关系可以算出前一代制程要比后一代大√2倍,所以能算出后一代大概数值。纵观整个处理器制程变化,除了少部分特殊的外,都遵循着这一规则。 近代制程的发展 2014 年底,三星宣布了世界首个 14nm FinFET 3D 晶体管进入量产,标志着半导体晶体管进入 3D 时代。发展到今天,三星拥有了四代 14nm 工艺,第一代是苹果 A9 上面的 FinFET LPE(Low Power Early),第二代则是用在猎户座 骁龙 820 和骁龙 625 上面的 FinFET LPP(Low Power Plus)。第三代是 FinFET LPC,第四代则是目前的 FinFET LPU。至于 10nm 工艺,三星则更新到了第三代(LPE/LPP/LPC)。 目前为止,三星已经将 70000 多颗第一代 LPE(低功耗早期)硅晶片交付给客户。三星自家的猎户座 8895,以及高通的骁龙 835,都采用这种工艺制造,而 10nm 第二代 LPP 版和第三代 LPU 版将分别在年底和明年进入批量生产。 手机芯片市场上已经进入了 10nm、7nm 处理器的白热化竞争阶段,而 14/16nm 制程的争夺也不过是一两年前的事。 总线位宽 总线位宽决定输入/输出设备之间一次数据传输的信息量,用位(bit)表示,如总线宽度为8位、16位、32位和64位。
-
十分钟,带你了解 Vue3 的新写法