矩阵分解
文章目录
- 矩阵分解
- 1. 特征值分解(ED,Eigenvalue Decomposition)
- 2. LU三角形分解(LU,Lower & Upper triangular Decomposition)
- 3. Cholesky 分解(LLT,Lower & Lower triangular Transpose Decomposition)
- 4. 奇异值分解(SVD,Singular Value Decomposition)
- 5. QR 分解(Orthogonal & Right triangular Decomposition)
- 6. 极分解(PD,Polar Decomposition)
- 7. 非负矩阵分解(NMF)
- 8. 稀疏编码(Sparse Coding)
- 9. 核范数最小化(Nuclear Norm Minimization)
- 10. 张量分解(TD,Tensor Decomposition)
矩阵分解(或称为矩阵因式分解)是线性代数中的一个重要概念,在许多领域如机器学习、数据分析、信号处理等都有广泛应用。下面是10种常见的矩阵分解方法:
1. 特征值分解(ED,Eigenvalue Decomposition)
- 定义:适用于形状为(M,M)的方阵,将矩阵 A A A 分解为 A = Q Λ Q − 1 A = Q \Lambda Q^{-1} A=QΛQ−1,其中 Q Q Q 包含特征向量, Λ \Lambda Λ 是对角矩阵,其元素是对应的特征值。
- 应用场景:稳定性分析、主成分分析(PCA)、谱聚类。
- 优点:能够帮助理解矩阵的内在结构,特别是对于对称矩阵非常有用。
在特征值分解(Eigenvalue Decomposition)中,矩阵 A A A 可以被分解为一个由特征向量组成的正交矩阵 Q Q Q 和一个对角矩阵 Λ \Lambda Λ 的乘积形式,即: A = Q Λ Q − 1 A = Q \Lambda Q^{-1} A=QΛQ−1
这里, Q Q Q 和 Λ \Lambda Λ 的含义如下:
-
Q 代表的是 正交矩阵(Orthogonal Matrix) ,其列向量是原矩阵 A A A 的特征向量,使用 Q Q Q 表示特征向量矩阵,因为它是 “Orthogonal” 的首字母,强调了在对称矩阵的情况下,特征向量是正交的。尽管在实际使用中, Q Q Q 也可以表示一个非正交的矩阵,只要它的列向量构成了一组线性无关的特征向量即可。在特征值分解中,如果矩阵 A A A 是对称的,则 Q Q Q 将是一个正交矩阵。
-
Λ \Lambda Λ 代表的是 对角矩阵(Diagonal Matrix) ,其中对角线上的元素是矩阵 A A A 的特征值。选择希腊字母 Λ \Lambda Λ 作为对角矩阵的符号可能是因为它在形状上类似于一条直线,象征着对角线上的元素。此外, Λ \Lambda Λ 是 “Lambda” 的希腊字母大写,而 λ \lambda λ 是"Lambda" 的 希腊字母小写 ,常用来表示特征值(Eigenvalues)。
2. LU三角形分解(LU,Lower & Upper triangular Decomposition)
- 定义:适用于 形状为(M,M)的方阵 ,将矩阵 A A A 分解为下三角矩阵 L L L 和上三角矩阵 U U U 的乘积,即 A = L U A = LU A=LU。有时还会引入置换矩阵 P P P 来保证分解成功,即 P A = L U PA = LU PA=LU。
- 应用场景:求解线性方程组、计算行列式、逆矩阵。
- 优点:简化了求解过程,特别是当需要多次求解同一系数矩阵的不同常数项时。
在LU分解(也称为LU因式分解或LU分解)中,矩阵 A A A 被分解为一个下三角矩阵 L L L 和一个上三角矩阵 U U U 的乘积,有时还包括一个置换矩阵 P P P,以处理行交换的情况。下面是这些符号的含义及使用这些符号的初衷:
LU 分解是 Lower Upper 分解的缩写,表示将矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积。
-
L 代表 Lower triangular matrix,即下三角矩阵。这里的下三角矩阵指的是主对角线以下的位置全部为零的矩阵。选择
L
作为下三角矩阵的符号是因为它是 “Lower” 的首字母,直观地表示了这种类型的矩阵。 -
U 代表 Upper triangular matrix,即上三角矩阵。这里的上三角矩阵指的是主对角线以上的位置全部为零的矩阵。选择
U
作为上三角矩阵的符号是因为它是 “Upper” 的首字母,同样直观地表示了这种类型的矩阵。
带有置换的LU分解
在某些情况下,为了保证分解的稳定性或可行性,需要对矩阵的行进行置换。这时,我们引入了一个置换矩阵 P P P。
- P 代表 Permutation matrix,即置换矩阵。置换矩阵是一个特殊类型的矩阵,它只包含一个每行每列恰好有一个1,其余位置均为0的矩阵。这种矩阵的作用是对行或列进行置换。选择
P
作为置换矩阵的符号是因为它是 “Permutation” 的首字母,表示了矩阵的行或列被重新排序的功能。
3. Cholesky 分解(LLT,Lower & Lower triangular Transpose Decomposition)
- 定义:适用于 形状为(M,M)的方阵,且为对称正定矩阵 ,针对对称正定矩阵 A A A,将其分解为下三角矩阵 L L L 和其转置 L T L^T LT 的乘积,即 A = L L T A = LL^T A=LLT。
- 应用场景:高效地求解线性方程组、最优化问题、概率论与统计学中的协方差矩阵。
- 优点:对于对称正定矩阵来说,计算速度快且数值稳定。
Cholesky 分解是一种特殊的矩阵分解技术,主要用于正定矩阵。在这种分解中,矩阵 A A A 被分解为一个下三角矩阵 L L L 和它的转置 L T L^T LT 的乘积。
对于一个 n × n n \times n n×n 的对称正定矩阵 A A A,Cholesky 分解可以表示为: A = L L T A = L L^T A=LLT
-
L 代表 Lower triangular matrix,即下三角矩阵。这里的下三角矩阵指的是所有位于主对角线之下的元素都不为零,而主对角线以上的元素全为零的矩阵。
-
在 Cholesky 分解中,没有使用像 QR 分解或 LU 分解那样的多个字母符号(如
Q
,R
,L
,U
),而是简单地使用L
来表示分解的结果之一,这是因为分解的结果只涉及到一个下三角矩阵及其转置。这种简化有助于更清晰地表述和理解该分解方法。 -
Cholesky 分解在数值线性代数中有许多应用,特别是在解决线性方程组、最小二乘法问题、矩阵平方根的计算以及高斯过程等领域。由于它要求矩阵是对称正定的,这在许多实际问题中是一个合理的假设,特别是在统计学、机器学习和工程计算中。因此,Cholesky 分解是一种非常强大且高效的工具。
4. 奇异值分解(SVD,Singular Value Decomposition)
- 定义:适用于形状为(M,N)的长方形矩阵(任意矩阵),将任意矩阵 A A A 分解成三个矩阵的乘积,即 A = U Σ V T A = U \Sigma V^T A=UΣVT,其中 U U U 和 V V V 是正交矩阵, Σ \Sigma Σ 是一个对角矩阵。
- 应用场景:降维、数据压缩、图像处理、推荐系统、文本分析中的主题建模。
- 优点:能够揭示数据的主要成分,并且可以去除噪声。
SVD 是 Singular Value Decomposition 的缩写。对于任何 m×n 的矩阵 A,都可以找到两个正交矩阵 U 和 V,以及一个对角矩阵 Σ(有时表示为 S 或者 D),使得:
A
=
U
Σ
V
T
A = U \Sigma V^T
A=UΣVT
- U 是一个 m×m 的正交矩阵,其列向量是 A 的左奇异向量。U 和 V 在 SVD 中代表 Unitary matrices(在实数域中等价于正交矩阵)。它们保持了向量的长度不变,只改变向量的方向,这是正交变换的一个重要性质。
- Σ(或 S 或 D)是一个 m×n 的对角矩阵,包含 A 的奇异值。Σ 或 S 在 SVD 中代表 Singular values 首字母 “S” 的变形,这些值反映了矩阵 A 的“强度”或者“尺度”,它们是非负实数,按照从大到小的顺序排列在对角线上。虽然 Σ \Sigma Σ 在统计学中通常表示协方差矩阵,但是在SVD的上下文中,它被用来表示对角矩阵。选择 Σ \Sigma Σ 可能是因为它在视觉上类似于一个对角线,这可能帮助记忆它代表了一个对角矩阵。
- V 是一个 n×n 的正交矩阵,其列向量是 A 的右奇异向量。V 在SVD分解中代表的是 right singular vectors 的集合,即矩阵
A
A
A的右奇异向量。虽然这个选择可能不如
U
那么直观,但它可能是为了与U
形成一种对称,U
代表left singular vectors,V
则代表right ones。另外,V
也可能来源于英文词汇Vectors的首字母,表示这是一组向量。
这里的 U 和 V 都是由单位长度的正交向量组成的,因此它们都是正交矩阵,这意味着它们的转置也是它们的逆矩阵。
5. QR 分解(Orthogonal & Right triangular Decomposition)
- 定义:适用于 形状为(M,N)的长方形矩阵(任意矩阵) ,将矩阵 A A A 表示为正交矩阵 Q Q Q 和上三角矩阵 R R R 的乘积,即 A = Q R A = QR A=QR。
- 应用场景:解决最小二乘问题、数值线性代数中的多项式拟合、信号处理。
- 优点:QR 分解保证了正交性,有助于减少数值误差。
QR 是 Orthogonal (or Orthonormal) and Upper Triangular 的缩写。对于任何 m×n 的矩阵 A,可以分解成一个 m×m 的正交矩阵 Q 和一个 m×n 的上三角矩阵 R 的乘积:
A
=
Q
R
A = QR
A=QR
- Q 是一个 m×m 的正交矩阵,它的列向量是 A 的列向量经过Gram-Schmidt正交化后的结果。Q 在 QR 分解中同样代表 Unitary 、Orthogonal 或者 Orthonormal Matrix 。它具有相同的特性,即保持长度不变,仅旋转或反射向量。这是因为在这个分解中,矩阵
Q
的列向量构成了一个正交基底(当矩阵是实数时称为正交矩阵,复数时称为酉矩阵)。选择Q
作为符号可能是因为它是英语单词"Orthogonal"的首字母的一种变形,或者是由于历史上形成的习惯。 - R 是一个 m×n 的上三角矩阵,包含通过正交化过程中得到的系数。R 在 QR 分解中代表 Right triangular matrix 或者 Upper triangular matrix,表示上三角矩阵。
6. 极分解(PD,Polar Decomposition)
- 定义:将矩阵 A A A 分解为正交矩阵 U U U 和半正定对称矩阵 P P P 的乘积,即 A = U P A = UP A=UP 或 A = P U A = PU A=PU。
- 应用场景:机器人学中的运动学、计算机图形学中的变换。
- 优点:提供了矩阵旋转和平移部分的明确分离。
极分解(Polar Decomposition) 是一种将矩阵分解为一个正交矩阵和一个正定对称矩阵的乘积的方法。这种分解在数学和工程中有广泛的应用,尤其是在处理旋转和平移等问题时。极分解可以应用于任意的实数或复数矩阵。
对于一个 m × n m \times n m×n 的矩阵 A A A,如果 A A A 是一个方阵(即 m = n m = n m=n),那么它的极分解可以表示为:
A = U P A = U P A=UP
其中:
- U:代表一个 n × n n \times n n×n 的 正交矩阵(Unitary 或 Orthogonal Matrix) ,即 U T U = I U^T U = I UTU=I 或 U H U = I U^H U = I UHU=I(对于复数矩阵,使用共轭转置 U H U^H UH)。在极分解中,正交矩阵 U U U 代表了矩阵 A A A 的 旋转部分 。
- P:代表一个 n × n n \times n n×n 的 正定对称矩阵(Positive Definite Symmetric Matrix) ,即 P = P T > 0 P = P^T > 0 P=PT>0 或 P = P H > 0 P = P^H > 0 P=PH>0。在极分解中,正定对称矩阵 P P P 代表了矩阵 A A A 的 拉伸部分 。
- 旋转和平移(或拉伸):极分解提供了一种将矩阵分解成旋转和平移(或拉伸)部分的方式。在几何处理、图形学、机器人学等领域中,这种分解特别有用,因为它允许我们将矩阵的操作分解为两步:首先是旋转(由正交矩阵 U U U 完成),然后是平移或拉伸(由正定对称矩阵 P P P 完成)。
7. 非负矩阵分解(NMF)
- 定义:对于非负矩阵 A A A,找到非负矩阵 W W W 和 H H H,使得 A ≈ W H A \approx WH A≈WH,这在数据挖掘和模式识别中有应用。
- 应用场景:图像处理、音频信号处理、文档分类。
- 优点:结果具有解释性,因为所有元素都是非负的,这有助于理解数据的自然成分。
非负矩阵分解(Non-negative Matrix Factorization, NMF)是一种矩阵分解方法,它将一个非负矩阵分解为两个较小的非负矩阵的乘积。NMF 主要用于数据分析,尤其是在处理自然语言处理、图像分析、音频信号处理等领域中。NMF 的目标是从原始数据中提取出有意义的特征或模式。
NMF 的基本形式
对于一个非负矩阵 V V V(通常是数据矩阵),NMF 寻找两个非负矩阵 W W W 和 H H H,使得:
V ≈ W H V \approx WH V≈WH
这里的符号含义如下:
- V:原始数据矩阵。通常 V V V 是一个 m × n m \times n m×n 的矩阵,其中 m m m是样本的数量, n n n 是特征的数量。
- W:基础矩阵(Basis Matrix),是一个 m × k m \times k m×k的非负矩阵。 W W W 的每一列可以视为一个基础向量或一组原型特征。
- H:系数矩阵(Coefficient Matrix),是一个 k × n k \times n k×n 的非负矩阵。 H H H 的每一行给出了每个原型特征在原始数据中的贡献程度。
符号选择的初衷
- V:通常用来表示 Vector 或 Variable,在这里表示原始数据矩阵。它包含了所有的观测数据或样本特征。
- W:代表 Weight 或 Wholes,在这里表示基础矩阵。 W W W 的每一列可以看作是一个基础向量或原型特征,它们是构建原始数据的基础。
- H:代表 Hidden 或 Harmonics,在这里表示系数矩阵。 H H H 描述了每个原型特征在原始数据中的权重或贡献度。
NMF 的目的
NMF 的目的是通过分解将原始矩阵 V V V 近似表示为两个较小的非负矩阵 W W W 和 H H H 的乘积,这样可以达到降维的目的,并且由于非负性的约束,能够发现数据中潜在的非负结构或模式。
应用场景
NMF 在多个领域都有应用,例如:
- 图像处理:用于图像压缩、人脸识别等。
- 文本挖掘:用于文档聚类、主题建模等。
- 音频处理:用于音乐信号分离、音源分离等。
- 生物信息学:用于基因表达数据分析等。
通过 NMF,可以有效地揭示数据中的非负结构,从而帮助理解数据集中的潜在模式或主题。这种分解方法特别适合于处理那些自然包含非负值的数据集。
8. 稀疏编码(Sparse Coding)
- 定义:类似于 NMF,但是目标是让矩阵的一个因子尽可能稀疏,通常用于信号处理和机器学习中的特征学习。
- 应用场景:图像识别、音频处理、生物信息学。
- 优点:能够从过完备字典中学习到稀疏表示,有利于特征选择和降噪。
9. 核范数最小化(Nuclear Norm Minimization)
- 定义:一种优化问题,用于低秩矩阵恢复或补全,通过最小化矩阵的核范数来逼近原始矩阵。
- 应用场景:低秩矩阵恢复、推荐系统、系统辨识。
- 优点:在数据缺失的情况下仍然能够恢复出完整的矩阵。
10. 张量分解(TD,Tensor Decomposition)
- 定义:虽然严格意义上不是矩阵分解,但在高维数据分析中,将多维数组(张量)分解为多个低秩张量的乘积也是一种常见技术,如 CANDECOMP/PARAFAC (CP) 分解或 Tucker 分解。
- 应用场景:多维数据分析、社交网络分析、多媒体数据融合。
- 优点:可以处理高维数据结构,捕捉到数据之间的复杂关系。
每种分解都有其特定的应用场景和优势,选择哪种分解取决于具体的问题和数据特性。
在选择合适的矩阵分解方法时,需要考虑数据的性质(例如是否非负、是否对称)、所需的计算效率、以及最终的应用需求。