【矩阵分析与应用】【第1章 矩阵与线性方程组】【1.6.2.2 迹的循环置换性质】

【矩阵分析与应用】【第1章 矩阵与线性方程组】【1.6.2.2 迹的循环置换性质】

    • [1. 引言:为什么需要循环置换性质?](#1. 引言:为什么需要循环置换性质?)
    • [2. 循环置换性质的定义](#2. 循环置换性质的定义)
      • [2.1 基本表述](#2.1 基本表述)
      • [2.2 重要限制](#2.2 重要限制)
    • [3. 性质的理论基础](#3. 性质的理论基础)
      • [3.1 从两个矩阵的情况出发](#3.1 从两个矩阵的情况出发)
      • [3.2 推广到多个矩阵](#3.2 推广到多个矩阵)

1. 引言:为什么需要循环置换性质?

在矩阵微分中,我们经常需要处理复杂的矩阵乘积的迹。迹的循环置换性质是矩阵微分中最重要的"技巧",它让我们能够自由地重新排列矩阵乘积,从而将微分结果 d f df df "凑"成我们想要的标准形式。

核心价值 :这个性质使得我们能够在不改变迹值的前提下,将目标矩阵(通常是 d X d\mathbf{X} dX)移动到乘积链的末尾,为后续的导数识别奠定基础。

2. 循环置换性质的定义

2.1 基本表述

对于任意一组矩阵 A , B , C , ... \mathbf{A}, \mathbf{B}, \mathbf{C}, \ldots A,B,C,...,只要它们的维度使得下列矩阵乘法是可行的,那么迹在循环置换下保持不变。

三元情况
Tr ( A B C ) = Tr ( B C A ) = Tr ( C A B ) \text{Tr}(\mathbf{A}\mathbf{B}\mathbf{C}) = \text{Tr}(\mathbf{B}\mathbf{C}\mathbf{A}) = \text{Tr}(\mathbf{C}\mathbf{A}\mathbf{B}) Tr(ABC)=Tr(BCA)=Tr(CAB)

一般情况 (k个矩阵):
Tr ( A 1 A 2 ⋯ A k ) = Tr ( A 2 A 3 ⋯ A k A 1 ) = Tr ( A 3 A 4 ⋯ A k A 1 A 2 ) = ⋯ \text{Tr}(\mathbf{A}_1\mathbf{A}_2 \cdots \mathbf{A}_k) = \text{Tr}(\mathbf{A}_2\mathbf{A}_3 \cdots \mathbf{A}_k\mathbf{A}_1) = \text{Tr}(\mathbf{A}_3\mathbf{A}_4 \cdots \mathbf{A}_k\mathbf{A}_1\mathbf{A}_2) = \cdots Tr(A1A2⋯Ak)=Tr(A2A3⋯AkA1)=Tr(A3A4⋯AkA1A2)=⋯

2.2 重要限制

关键点 :只能进行循环 置换(像一个圆圈),不能进行任意置换。

正确示例
Tr ( A B C ) = Tr ( B C A ) ✓ \text{Tr}(\mathbf{A}\mathbf{B}\mathbf{C}) = \text{Tr}(\mathbf{B}\mathbf{C}\mathbf{A}) \quad \text{✓} Tr(ABC)=Tr(BCA)✓

错误示例
Tr ( A B C ) = Tr ( A C B ) ✗ \text{Tr}(\mathbf{A}\mathbf{B}\mathbf{C}) = \text{Tr}(\mathbf{A}\mathbf{C}\mathbf{B}) \quad \text{✗} Tr(ABC)=Tr(ACB)✗

3. 性质的理论基础

3.1 从两个矩阵的情况出发

循环置换性质的基础来源于迹的基本性质:
Tr ( A B ) = Tr ( B A ) \text{Tr}(\mathbf{A}\mathbf{B}) = \text{Tr}(\mathbf{B}\mathbf{A}) Tr(AB)=Tr(BA)

证明

迹是矩阵对角线元素之和: Tr ( A ) = ∑ i A i i \text{Tr}(\mathbf{A}) = \sum_i A_{ii} Tr(A)=∑iAii

矩阵乘积 A B \mathbf{A}\mathbf{B} AB 的第 i i i 个对角线元素为:

A B \] i i = ∑ k A i k B k i \[\\mathbf{A}\\mathbf{B}\]_{ii} = \\sum_k A_{ik}B_{ki} \[AB\]ii=k∑AikBki 因此: Tr ( A B ) = ∑ i \[ A B \] i i = ∑ i ∑ k A i k B k i \\text{Tr}(\\mathbf{A}\\mathbf{B}) = \\sum_i \[\\mathbf{A}\\mathbf{B}\]_{ii} = \\sum_i \\sum_k A_{ik}B_{ki} Tr(AB)=i∑\[AB\]ii=i∑k∑AikBki 同理: Tr ( B A ) = ∑ i \[ B A \] i i = ∑ i ∑ k B i k A k i \\text{Tr}(\\mathbf{B}\\mathbf{A}) = \\sum_i \[\\mathbf{B}\\mathbf{A}\]_{ii} = \\sum_i \\sum_k B_{ik}A_{ki} Tr(BA)=i∑\[BA\]ii=i∑k∑BikAki 由于求和索引 i i i 和 k k k 都是哑元,且 A i k B k i = B k i A i k A_{ik}B_{ki} = B_{ki}A_{ik} AikBki=BkiAik,因此两个求和式相等。 #### 3.2 推广到多个矩阵 **三个矩阵的情况** : Tr ( A B C ) = Tr ( ( A B ) C ) = Tr ( C ( A B ) ) (应用 Tr ( X Y ) = Tr ( Y X ) ) = Tr ( C A B ) \\begin{aligned} \\text{Tr}(\\mathbf{A}\\mathbf{B}\\mathbf{C}) \&= \\text{Tr}((\\mathbf{A}\\mathbf{B})\\mathbf{C}) \\\\ \&= \\text{Tr}(\\mathbf{C}(\\mathbf{A}\\mathbf{B})) \\quad \\text{(应用 } \\text{Tr}(\\mathbf{X}\\mathbf{Y}) = \\text{Tr}(\\mathbf{Y}\\mathbf{X}) \\text{)} \\\\ \&= \\text{Tr}(\\mathbf{C}\\mathbf{A}\\mathbf{B}) \\end{aligned} Tr(ABC)=Tr((AB)C)=Tr(C(AB))(应用 Tr(XY)=Tr(YX))=Tr(CAB) 同理可证明其他循环排列也相等。

相关推荐
知识搬运工人11 小时前
传统卷积神经网络中的核心运算是卷积或者矩阵乘,请问transformer模型架构主要的计算
矩阵·cnn·transformer
前端炒粉1 天前
18.矩阵置零(原地算法)
javascript·线性代数·算法·矩阵
大千AI助手2 天前
HOSVD(高阶奇异值分解):高维数据的“解剖术”
人工智能·线性代数·矩阵·张量·svd·hosvd·高阶奇异值分解
我想吃余2 天前
【0基础学算法】前缀和刷题日志(三):连续数组、矩阵区域和
算法·矩阵·哈希算法
西***63472 天前
从信号零损耗到智能协同:高清混合矩阵全链路技术拆解,分布式可视化系统十大趋势重塑行业
分布式·线性代数·矩阵
长颈鹿仙女3 天前
数学基础-线性代数(向量、矩阵、运算、范数、特征向量、特征值)
线性代数·机器学习·矩阵
救救孩子把3 天前
30-机器学习与大模型开发数学教程-3-4 矩阵的逆与伪逆
线性代数·机器学习·矩阵
CClaris4 天前
机器学习中的数学——矩阵与向量基础
人工智能·机器学习·矩阵
无风听海4 天前
神经网络之共现矩阵
人工智能·神经网络·矩阵