动手深度学习矩阵求导
一. 函数与标量、向量、矩阵
先上一个最简答的:f与x均是标量
对比一下最难的,f与x均是矩阵
函数矩阵不变,自变量矩阵貌似降成标量了
二. 矩阵求导的本质
本质就是 function 中的每个 f 分别对变元中的每个元素逐个求偏导,只不过写成了向量、矩阵形式而已。
三. 矩阵求导结果的布局
直观上看:
分子布局,就是分子是列向量形式,分母是行向量形式,如 (3) 式中f是列向量形式,分母是行向量形式。如果这里的 function 是实向量函数 f2×1 的话,结果就是 2×3 的矩阵了:
分母布局,就是分母是列向量形式,分子是行向量形式,如 (4) 式f是行向量形式,分母是列向量形式。如果这里的 function 是实向量函数 f2×1 的话,结果就是 3×2 的矩阵了:
貌似最后形状都是由列向量的行数 * 行向量的列数(注意是转置后列数)
函数是实值标量
变元是向量
1.1 行向量偏导形式
1.2 梯度向量形式
变元是矩阵
注意就是一个列向量
2.1 行向量偏导形式(将矩阵变元转为向量变元)
把(5)式列在下面避免影响观感
2.2雅克比矩阵
2.3 梯度向量形式 (将矩阵变元转为向量变元)
同样列出6式
2.4 梯度矩阵形式
函数:矩阵
变元:矩阵
3.1雅克比矩阵
3式
3.2 梯度矩阵形式
4式
总结:
谁转置了,就是另一方的布局。另一方的行就优先在前做行,他自己的行就做列。分子转置了,就是分母布局;分母转置了,就是分子布局。
/*上面主要是定义,下面是实际使用时的计算*/
一. 矩阵的迹
1、定义
2、一些性质
2.1 标量的迹
2.2 线性法则
2.3 转置
2.4 乘积的迹的本质
2.5 交换律
二. 微分与全微分
多元函数全微分
普通函数:
复合函数:
三. 矩阵的微分
(一)函数:实值
(1)变元:向量
2式:标量的迹就是自己
(2)变元:矩阵
6式:
(二)函数:矩阵,变元:矩阵
四. 计算法则
a. 常数矩阵的矩阵微分
b. 线性法则
c. 乘积法则
上面就是每次就对其中一个矩阵求微分,其他不求,相对位置不变
d. 转置法则
讲了这么多,为什么要用矩阵微分求导呢
再注意一下,防止前面的忘了,求两个矩阵相乘的迹就是两个矩阵对应位置元素相乘再求和
所以目标最终就是写成24式的形式
有3个公式
(一)夹层饼
(二)行列式
(三)逆矩阵
具体使用
上一篇:
JS实现多线程数据分片下载