导数与微分的关系

  1. 一元微积分中导数与微分的关系: <nobr> df=f(x)dx </nobr>
  2. 多元微积分中梯度与微分的关系: <nobr> df=ifxidxi=fTxdx </nobr>
    第一个等号是全微分公式,第二个等号是梯度与微分的关系
  3. 根据以上,建立矩阵导数与微分的联系
    <nobr> df=i,jfXi,jdXi,j=tr(fTXdX) </nobr>
    这里tr代表迹(trace)是方阵对角线元素之和,满足性质:对尺寸相同的矩阵A,B, <nobr> tr(ATB)=i,jAi,jBi,j </nobr>,这用泛函分析的语言来说 <nobr> tr(ATB) </nobr>是矩阵A,B的内积,因此上式与原定义相容。

常用的矩阵微分运算法则

矩阵求导

利用矩阵导数与微分的联系 <nobr> df=tr(fTXdX) </nobr>,求出作则的微分 <nobr> df </nobr>后,利用迹技巧(trace trick)转换成等号右侧的形式,从而得到对矩阵的导数。
1. 标量的迹: <nobr> tr(a)=a </nobr>
2. 转置: <nobr> tr(AT)=tr(A) </nobr>
3. 线性: <nobr> tr(AB)=tr(A)±tr(B) </nobr>
4. 矩阵乘法交换: <nobr> tr(AB)=tr(BA)=i,jAi,jBi,j </nobr>
5. 矩阵乘法/逐元素乘法交换: <nobr> tr(AT(BC))=tr((AB)TC)=i,jAi,jBi,jCi,j </nobr>

总结

利用矩阵微分求解实值函数 <nobr> f(X) </nobr>的梯度矩阵,分成两步进行。
第一,求实值函数 <nobr> f(X) </nobr>相对于变元矩阵 <nobr> X </nobr>的矩阵微分 <nobr> df(X) </nobr>,并将其表示成规范形式 <nobr> df(X)=tr(AdX) </nobr>(通过迹技巧转换)。
第二,根据梯度矩阵与Jacobian矩阵的关系
<nobr> df(X)=tr(AdX)xf(X)=AT </nobr>
求得的 <nobr> AT </nobr>即为函数 <nobr> f(X) </nobr>关于矩阵 <nobr> X </nobr>的梯度矩阵。

矩阵乘法记法


参考资料

知乎《矩阵求导术》
《矩阵分析》 张贤达