问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

矩阵求导链式法则详解

创作时间:
作者:
@小白创作中心

矩阵求导链式法则详解

引用
1
来源
1.
https://www.cnblogs.com/yifanrensheng/articles/12639539.html

矩阵求导的链式法则是机器学习和深度学习中非常重要的数学工具。本文详细介绍了向量对向量、标量对多个向量、标量对多个矩阵的求导规则,并通过多个实例进行了详细推导。对于从事机器学习和深度学习研究的读者来说,本文具有很高的参考价值。

一、向量对向量

假设多个向量存在依赖关系,比如三个向量存在依赖关系,则我们有下面的链式求导法则:

维度探讨:假设x y z的维度分别为m,n,p,∂z/∂x是 p×m,∂z/∂y是 p×n,∂y/∂x是 n×m,符合矩阵乘法维度原则。

二、标量对多个向量

2.1 3个向量

最后到1标量的依赖关系:**x → y →**z ,此时很容易发现维度不相容。不能再简单套用上面的式子,而做了对应的变形:

维度探讨:假设x yz 的维度分别为m,n,1,∂z/∂x是 m×1,(∂y/∂x)T是 m×n,∂z/∂x是 n×1,符合矩阵乘法维度原则。

2.2多个向量

对于更加复杂的形式:如:**y1 → y2 →…… yn →**z ,则表达式为:

2.3实际应用

ML-2最小二乘法中使用到的,最小二乘法优化的目标是最小化如下损失函数:

对上述进行如下假设:

很容易得到以下表达式:

三、标量对多个矩阵

假设:X → Y → z存在依赖关系,则我们有下面的链式求导法则:

上面的式子是矩阵迹性质来的,不是特别实用,也不便于推广。我们再看一个偏难得问题:

同样还是如此,

我们再来看看后半部分的导数:

那么最终的标签链式求导公式转化为:

排列成矩阵即为:

对上面的式子做个总结:

维度探讨:假设Y A X的维度分别为p×n,p×m,m×n,∂z/∂X是m×n,(A)T是 m×p,∂z/∂Y是 p×n,符合矩阵乘法维度原则。

这结论在是一个向量x的时候也成立,即

同理:如果要求导的自变量在左边,线性变换在右边,也有类似稍有不同的结论如下:

使用好上述四个结论,对于机器学习尤其是深度学习里的求导问题可以非常快的解决

四、矩阵向量求导小结

矩阵向量求导的三种方法:定义法,微分法和链式求导法。在同等情况下,优先考虑链式求导法,尤其是第三节的四个结论。其次选择微分法、在没有好的求导方法的时候使用定义法是最后的保底方案。

基本上大家看了系列里这四篇后对矩阵向量求导就已经很熟悉了,对于机器学习中出现的矩阵向量求导问题已足够。

主要来自:https://www.cnblogs.com/pinard/p/10825264.html

附件:手写推导

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号