1. 基础定义
迹(Trace) 是一个矩阵的对角线元素之和。对于矩阵 A A A,其迹定义为:
Trace ( A ) = ∑ i A i i \text{Trace}(A) = \sum_{i} A_{ii} Trace(A)=i∑Aii
迹的一个重要性质是:
Trace ( A B ) = Trace ( B A ) \text{Trace}(A B) = \text{Trace}(B A) Trace(AB)=Trace(BA)
即两个矩阵相乘后的迹不依赖于它们的顺序。
2. 迹对矩阵的导数
考虑矩阵 X X X,我们推导一些常见的迹函数的导数公式。
2.1 对 Trace ( A X ) \text{Trace}(A X) Trace(AX) 求导
假设 A A A 是已知矩阵, X X X 是需要对其求导的矩阵。我们计算 ∂ ∂ X Trace ( A X ) \frac{\partial}{\partial X} \text{Trace}(A X) ∂X∂Trace(AX):
Trace ( A X ) = ∑ i , j A i j X j i \text{Trace}(A X) = \sum_{i,j} A_{ij} X_{ji} Trace(AX)=i,j∑AijXji
对 X X X 求导:
∂ ∂ X k l Trace ( A X ) = A l k \frac{\partial}{\partial X_{kl}} \text{Trace}(A X) = A_{lk} ∂Xkl∂Trace(AX)=Alk
将其转换为矩阵形式:
∂ ∂ X Trace ( A X ) = A T \frac{\partial}{\partial X} \text{Trace}(A X) = A^T ∂X∂Trace(AX)=AT
2.2 对 Trace ( X T A X ) \text{Trace}(X^T A X) Trace(XTAX) 求导
考虑更复杂的形式 Trace ( X T A X ) \text{Trace}(X^T A X) Trace(XTAX),其中 A A A 是已知矩阵, X X X 是需要对其求导的矩阵。
展开迹:
Trace ( X T A X ) = ∑ i , j , k X k i A i j X k j \text{Trace}(X^T A X) = \sum_{i,j,k} X_{ki} A_{ij} X_{kj} Trace(XTAX)=i,j,k∑XkiAijXkj
对 X p q X_{pq} Xpq 求导:
∂ ∂ X p q ∑ i , j , k X k i A i j X k j = A q q X p q + X p q A q q T \frac{\partial}{\partial X_{pq}} \sum_{i,j,k} X_{ki} A_{ij} X_{kj} = A_{qq} X_{pq} + X_{pq} A_{qq}^T ∂Xpq∂i,j,k∑XkiAijXkj=AqqXpq+XpqAqqT
综合所有项后,得到:
∂ ∂ X Trace ( X T A X ) = A X + X A T \frac{\partial}{\partial X} \text{Trace}(X^T A X) = A X + X A^T ∂X∂Trace(XTAX)=AX+XAT
2.3 总结迹的导数性质
-
∂ ∂ X Trace ( A X ) = A T \frac{\partial}{\partial X} \text{Trace}(A X) = A^T ∂X∂Trace(AX)=AT
- 迹函数可以通过矩阵元素的线性组合进行转换,导数为 A A A 的转置。
-
∂ ∂ X Trace ( X T A X ) = A X + X A T \frac{\partial}{\partial X} \text{Trace}(X^T A X) = A X + X A^T ∂X∂Trace(XTAX)=AX+XAT
- 二次型矩阵的迹求导需要分别对矩阵 X X X 的左右项进行求导,并合并结果。
备注
个人水平有限,有问题随时交流~