亚导数:
将导数拓展到不可导的函数,即在不可导点补充导数在一个范围内
标量对向量求导(梯度):
对向量求导时,结果向量与被导向量形状互为转置,一个标量对行向量求导,得到的是一个列向量
向量对标量求导数:
只需要将向量的每个分量对标量求导即可
向量对向量求导数:
先把x看作标量,对y向量求导,所得为一个列向量,由于x是列向量,之后对x向量求导,得到一个矩阵。
矩阵求导与分子布局、分母布局:
函数:function(inputs)的九种类型
function\input | 标量变元 | 向量变元 | 矩阵变元 |
---|---|---|---|
实值标量函数 | f ( x ) f(x) f(x) | f ( f( f(x ) ) ) | f ( f( f(X ) ) ) |
实向量函数 | f ( x ) (x) (x) | f ( ( (x ) ) ) | f ( ( (X ) ) ) |
实矩阵函数 | F ( ( (x ) ) ) | F ( ( (x ) ) ) | F ( ( (X ) ) ) |
例1:
例2:
例3:
例4:
例5:
例6:
例7:
例8:
例9:
矩阵求导:
本质:
function中的每一个 f f f分别对变元中的每个元素逐个求偏导,并将其写成向量、矩阵形式
例:
若function中有m个 f f f,变元中有n个元素,每个 f f f对变元中的每个元素逐个求偏导后,就产生了m x n个结果,至于写成列向量或是行向量则是要看需要分子布局还是分母布局。
分子布局:分子是列向量形式,分母是行向量形式
分母布局:分母是列向量形式,分子是行向量形式
向量对向量求导数的实例:
理解:这里的x是一个单位向量(每一个元素都是x),其中第一行的最后一个xTA,偏导计算无关行列空间属性,因此对y进行转置后再进行计算。
矩阵对标量求导:
矩阵的每个元素对标量求导
标量对矩阵求导:
依次对矩阵的每个元素求偏导数,注意结果矩阵的形状与求导矩阵的形状互为转置(分子布局)
矩阵对向量求导:
将矩阵将矩阵依次对每个分量求导即可;若矩阵是 n ∗ m n*m n∗m对 L维列向量求导,则得到一个n*m*L的张量
向量对矩阵求导:
每个分量对矩阵进行求导,就转换为标量对矩阵进行求导,一个 L维列向量对一个 n ∗ m n*m n∗m的矩阵求导得到的是一个L*m*n的张量
矩阵对矩阵求导:
第一个矩阵的每个元素对第二个矩阵进行求导,就转换为标量对矩阵进行求导,一个L维列向量对一个n*m的矩阵求导得到的是一个 L ∗ m ∗ n L*m*n L∗m∗n的张量
矩阵对矩阵求导:
第一个矩阵的每个元素对第二个矩阵进行求导
李老师动手学深度学习视频课上均为分子布局