前言
参考文档
https://www.cnblogs.com/pinard/p/10825264.html
目录:
- 向量对向量的链式求导
- 标量对向量的链式求导
- 标量对多个矩阵链式求导
一 向量对向量的链式求导
这里默认为分子布局,雅克比矩阵
假设
其中
向量
向量
向量
则下面等式成立
其中
向量
向量
向量
二 标量对向量的链式求导
机器学习的损失函数大部分都是一个标量J
该标量对某个权重系数求导遵循分母布局
其中z是标量,是损失函数值
其中
为标量对向量的求导,分母布局
向量对向量的求导, 分子布局
标量对向量的求导,分母布局
如果是标量对更多的向量求导,比如,则其链式求导表达式可以表示为:
因为y 都是向量,遵循第一节的分母布局,所以
应用例子:
最小二乘法损失函数
其中
为样本, n为样本维度,m为样本个数
: 为权重系数
则
其中
分母布局(标量对向量求导)
分子布局(向量对向量求导)
结果:
三 标量对多个矩阵链式求导
BP算法,CNN 里面权重系数都是矩阵。
标量对多个矩阵求导如下:(z为标量,其他都是矩阵)
输入矩阵如下
A【m,n】
W [n, n1]
Y [m,n1]= AW+B
那么如下成立:
(里面包含标量对矩阵求导,分母布局)
(里面都是标量,所以可以直接用链式求导)
结果是一个[n,n1]的矩阵
其中
(标量对标量的求导)
上面 求导才不为0
其中
所以
(直接写一下就可以看出来了)
出现标量的地方就出现转置,否则直接链式