1.总体情况
2.分子布局(Numerator layout)和分母布局(Denominator layout)
首先我们常说 y 对 x 求导,这里的 y 和 x 均默认为列向量,y为(mx1), x为(nx1)
(1)分子布局——较为常用
y 对 xT 求导,即对行向量求导。得到mxn的矩阵。比如雅可比矩阵,就是典型的分子布局。雅可比矩阵形式如下:
可见y依然是竖向变化的,而横向是对不同的x求导,也就是说x是横向的。所以是y对 xT 求导。
(2)分母布局——较为常用
yT 对 x 求导,即对列向量求导,得到nxm的矩阵。其实此矩阵是分子布局求出来的矩阵的转置。
而我们知道,梯度ᐁ是导数的转置,,我们一般用分母布局求出的导数需要进行转置才能得到梯度。因此梯度ᐁ可以直接由分子布局的求导得到,也就是上面所说的雅可比矩阵。
海森矩阵是典型的分母布局。
下面建议,将所有的导数均按照分母布局进行计算和解析,然后如果求的是梯度,则取转置即可。
3.计算规律(向量均是列向量)
(1)向量对向量求导
(2)标量对向量求导
经常,∂x 的二阶导数会被写成(∂x)2,只是为了方便表述而已,其实应该是∂x∂xT 。
(3)向量对标量求导
其他请参考:https://en.wikipedia.org/wiki/Matrix_calculus#Layout_conventions
4.补充
(1)导数和梯度
导数和梯度互为转置,在泰勒展开时,经常会把展开结果写成梯度乘以向量的形式。注意区别。
(2)雅可比矩阵和海森矩阵的形式
雅可比矩阵的形式:
海森矩阵的形式: