《矩阵论》学习笔记(四):第四章 矩阵分解

《矩阵论》学习笔记(四):第四章 矩阵分解

矩阵分解
基础矩阵下
广义逆矩阵下
1- 矩阵的三角分解
2- 矩阵的QR分解
3- 矩阵的满秩分解
4- 矩阵的非奇异分解

文章目录

  • 《矩阵论》学习笔记(四):第四章 矩阵分解
    • 一、矩阵的三角分解
    • 二、矩阵的QR分解
    • 三、矩阵的满秩分解
      • 3.1. 基本原理
      • 3.2. Hermite标准型方法
    • 四、矩阵的奇异值分解
      • 4.1. 矩阵的正交对角分解
      • 4.2. 矩阵的奇异值分解
      • 4.3. 矩阵的正交相抵
      • 4.4. 矩阵奇异值分解的应用

一、矩阵的三角分解

详见:矩阵的三角分解

二、矩阵的QR分解

详见:矩阵的QR分解

三、矩阵的满秩分解

  • 提出的目的:
    将非零矩阵分解成行满秩矩阵与列满秩矩阵的乘积。

3.1. 基本原理

对任意矩阵 A ∈ C r m ∗ n A∈C^{m*n}_r ACrmn,若存在行满秩矩阵 F ∈ C r m ∗ r F∈C^{m*r}_r FCrmr和列满秩矩阵 G ∈ C r r ∗ n G∈C^{r*n}_r GCrrn
使得: A = F G A=FG A=FG,称做A的满秩分解

  • 列满秩矩阵G:
    是从A经过初等行变换得到的行阶梯型矩阵B中得到的。
    A → B = [ G — O ] A \to B=\left[ \begin{matrix}G\\—\\ O\end{matrix}\right] AB=GO
  • 行满秩矩阵F:
    把A变换得到B的一系列初等行变换的乘积记做P,使得PA=B。
    P − 1 = [ F ∣ S ] , F ∈ C r m ∗ r , S ∈ C ( m − r ) m ∗ ( m − r ) P^{-1}= \left[ \begin{matrix}F|S\end{matrix}\right],F∈C^{m*r}_r,S∈C^{m*(m-r)}_{(m-r)} P1=[FS]FCrmrSC(mr)m(mr)
- 列满秩矩阵G:
是从A经过初等行变换得到的行阶梯型矩阵B中得到的。
A → B = [ G — O ] A \to B=\left[ \begin{matrix}G\\—\\ O\end{matrix}\right] AB=GO
- 行满秩矩阵F:
把A变换得到B的一系列初等行变换的乘积记做P,使得PA=B。
P − 1 = [ F / S ] , ( F ∈ C r m ∗ r , S ∈ C ( m − r ) m ∗ ( m − r ) ) P^{-1}= \left[ \begin{matrix}F/S\end{matrix}\right],(F∈C^{m*r}_r,S∈C^{m*(m-r)}_{(m-r)}) P1=[F/S](FCrmrSC(mr)m(mr))
  • 存在性与唯一性:
    存在性:任意矩阵A的满秩分解一定存在。
    唯一性:不唯一。

  • 矩阵满秩分解的一般方法:
    1- [ A I ] → [ B ∣ P ] [A I] \to [B|P] [AI][BP];
    2- B → G ; P → P − 1 → F B \to G;P \to P^{-1} \to F BG;PP1F

- 矩阵满秩分解的一般方法:
1- [ A I ] → [ B P ] [A I] \to [B P] [AI][BP];
2- B → G ; P → P − 1 → F B \to G;P \to P^{-1} \to F BG;PP1F

3.2. Hermite标准型方法

Hermite标准型方法
1- Hermite标准型
2- 拟Hermite标准型
Hermite标准型方法求解步骤 A=FG
1. B:行化简矩阵A m ∗ n _{m*n} mn得到B m ∗ n _{m*n} mn;
2. F:从B的m列中找到属于单位阵 I m ∗ m I_{m*m} Imm的r列,从原始矩阵A中把这些列提出来,组合得到矩阵F m ∗ r _{m*r} mr;
3. G:B的前r行不为0的行构成G r ∗ n _{r*n} rn.

四、矩阵的奇异值分解

4.1. 矩阵的正交对角分解

A n ∗ n A_{n*n} Ann为可逆方阵,则存在正交矩阵P和Q,使得:

  • P T A Q = d i a g ( σ 1 , σ 2 , . . . , σ n ) P^TAQ=diag(\sigma_1,\sigma_2,...,\sigma_n) PTAQ=diag(σ1,σ2,...,σn),其中, σ i = λ i , λ i \sigma_i=\sqrt[]\lambda_i,\lambda_i σi=λ iλi A T A A^TA ATA的特征值。
  • Q T ( A T A ) Q = d i a g ( λ 1 , λ 2 , . . . , λ n ) . Q^T(A^TA)Q=diag(\lambda_1,\lambda_2,...,\lambda_n). QT(ATA)Q=diag(λ1,λ2,...,λn).

即, A = P ∗ d i a g ( σ 1 , σ 2 , . . . , σ n ) ∗ Q T A=P*diag(\sigma_1,\sigma_2,...,\sigma_n)*Q^T A=Pdiag(σ1,σ2,...,σn)QT称作矩阵的正交对角分解

4.2. 矩阵的奇异值分解

  • 提出的意义:
    对方阵 A n ∗ n A_{n*n} Ann,可分解成正交矩阵×特征值组成的对角矩阵的形式,那么对一般矩阵 A m ∗ n A_{m*n} Amn是否存在这样的分解呢?

  • 矩阵的奇异值:

A ∈ C r m ∗ n A∈C^{m*n}_r ACrmn,A^TA$的特征值为:
λ 1 ≥ λ 2 , . . . , ≥ λ r > λ r + 1 = . . . = λ n = 0 \lambda_1≥\lambda_2,...,≥\lambda_r>\lambda_{r+1}=...=\lambda_n=0 λ1λ2,...,λr>λr+1=...=λn=0,称 σ i = λ i \sigma_i=\sqrt[]\lambda_i σi=λ i A A A的奇异值。

  • 奇异值个数=A的列数n,非零奇异值个数=rank(A).
  • 矩阵的奇异值分解:
    A = U [ ∑ O O O ] V H A=U\left[ \begin{matrix}∑&O\\O&O\end{matrix}\right]V^H A=U[OOO]VH
    其中, ∑ = d i a g ( σ 1 , σ 2 , . . . , σ n ) ∑=diag(\sigma_1,\sigma_2,...,\sigma_n) =diag(σ1,σ2,...,σn).
    U m ∗ m U_{m*m} Umm的列向量是 A H A A^HA AHA的特征向量, V n ∗ n V_{n*n} Vnn的列向量是 A A H AA^H AAH的特征向量。
    如下图:
    《矩阵论》学习笔记(四):第四章 矩阵分解_第1张图片
- 求矩阵A的SVD分解步骤:
1. 求Hermite矩阵 A H A A^HA AHA的特征值 λ i \lambda_i λi
2. 求矩阵A的秩(=非零奇异值个数)
3. 求A的奇异值 σ i = λ i \sigma_i=\sqrt[]\lambda_i σi=λ i
4. 求酉矩阵 V n ∗ n V_{n*n} Vnn [V是使得 V T ( A H A ) V = I V^T(A^HA)V=I VT(AHA)V=I的正交矩阵]
5. 求酉矩阵 U = [ U 1 / U 2 ] , U 1 = A V 1 ∑ − 1 U=[U_1/U_2],U_1=AV_1∑^{-1} U=[U1/U2]U1=AV11
6. 得到A的SVD分解.
- 奇异值分解的存在性与唯一性
存在性: 一定存在
唯一性: 矩阵A的奇异值唯一: ∑ ∑ 唯一,但奇异分解不唯一: U和V不唯一
  • 奇异值分解的几何意义:
    奇异值分解就是在低维空间中寻找最接近原矩阵A的低维矩阵M,也即是数据降维过程。
    奇异值分解就是在寻找数据分布的主要维度,将原始的高维数据映射到低维子空间中实现数据降维。

4.3. 矩阵的正交相抵

正交相抵是对“矩阵相似”概念的推广。

  • 正交相抵的定义:

A , B ∈ R m ∗ n A,B∈R^{m*n} A,BRmn,若存在正交矩阵 U m ∗ m U_{m*m} Umm V n ∗ n V_{n*n} Vnn,使得 B = U − 1 A V B=U^{-1}AV B=U1AV,则称A和B相抵。

  • 正交相抵的性质
- 矩阵的正交相抵的性质
1. 同一正交相抵等价类中的所有矩阵有相同的特征值。
2. 同一正交相抵等价类中的所有矩阵的奇异值分解 A = U D V T A=UDV^T A=UDVT的矩阵D相同。

4.4. 矩阵奇异值分解的应用

  • SVD的应用:
  1. 可以用于PCA降维,来做数据压缩(图像压缩)和去噪。
  2. 可以用于推荐算法,将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐。
  3. 可以用于NLP中的算法,比如潜在语义索引(LSI)。
  • SVD用于PCA降维:
  1. 背景及原因:
    通常情况下高维数据分布并不是雨露均沾的,而往往是厚此薄彼,集中分布在某些维度上,如下左图。
    可以看到:原始数据确是二维数据,但其主要集中分布在直线L(一维空间)附近,SVD(奇异值分解)就是在寻找直线L,然后将数据映射到直线L上,实现数据降维的过程,如下右图。
    《矩阵论》学习笔记(四):第四章 矩阵分解_第2张图片

  2. 具体用法:
    具有大量特征的数据(样本集矩阵特征数/列数多于观察数/行数),通过SVD分解,将特征维度降低,归约成与所涉预测问题最相关的更小特征子集。
    其结果是一个秩更低的矩阵,接近原始矩阵。
    为了做到这一点,我们可以在原来的数据上执行一次SVD分解操作并选择矩阵D中前k个最大的奇异值,作为降维后数据的特征。
    如下图:原图 vs k=10 vs k=50 vs k=80,当k=80跟原图已经几乎没有差别,但是存储消耗只有原图的一半。
    《矩阵论》学习笔记(四):第四章 矩阵分解_第3张图片

你可能感兴趣的:(数学)