导数与微分的关系
- 一元微积分中导数与微分的关系: <nobr> df=f′(x)dx </nobr>
- 多元微积分中梯度与微分的关系: <nobr> df=∑i∂f∂xidxi=∂fT∂xdx </nobr>
第一个等号是全微分公式,第二个等号是梯度与微分的关系 - 根据以上,建立矩阵导数与微分的联系
<nobr> df=∑i,j∂f∂Xi,jdXi,j=tr(∂fT∂XdX) </nobr>
这里tr代表迹(trace)是方阵对角线元素之和,满足性质:对尺寸相同的矩阵A,B, <nobr> tr(ATB)=∑i,jAi,jBi,j </nobr>,这用泛函分析的语言来说 <nobr> tr(ATB) </nobr>是矩阵A,B的内积,因此上式与原定义相容。
常用的矩阵微分运算法则
矩阵求导
利用矩阵导数与微分的联系 <nobr> df=tr(∂fT∂XdX) </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(B⊙C))=tr((A⊙B)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>的梯度矩阵。
矩阵乘法记法
参考资料
知乎《矩阵求导术》
《矩阵分析》 张贤达