目录
简述矩阵分解
定义
把一个矩阵 A A A表示为多个矩阵连乘的形式。
作用
- 用更少的内存消耗,存储一样多信息。eg:稀疏矩阵分解为多个稠密矩阵。
- 提高计算速度。eg:小矩阵比大矩阵更容易求逆。
- 用于矩阵补全。eg:推荐系统中,填补评分矩阵中的空缺项;图像复原。
- 分解后的矩阵有一些实际的意义。
三角分解(LU分解、LR分解)
这部分可以参考我之前的博客,链接
必要条件
- A A A可逆,即:满秩矩阵
- A A A可以被前面的 r ( A ) r(A) r(A)行线性表示
定义
A = L U = L R A=LU=LR A=LU=LR
- LU分解中, L L L是下三角矩阵
- LR分解中, L L L是单位下三角矩阵(单位的意思是“对角线全为1”)
- U U U或 R R R是上三角矩阵
- 三角分解本质上是高斯消元法的一种表达形式
步骤
通过对 A A A不断的左乘初等矩阵,对 A A A进行初等变换,使其变为上三角矩阵,那么得到的上三角矩阵即为 U U U,这些初等矩阵的逆即为 L L L。
eg: E 3 E 2 E 1 A = U = > A = ( E 3 E 2 E 1 ) − 1 U E_3E_2E_1A=U => A=(E_3E_2E_1)^{-1}U E3E2E1A=U=>A=(E3E2E1)−1U
作用
- 求 A A A的行列式 ∣ A ∣ |A| ∣A∣时,转换为求解 ∣ L ∣ ∣ U ∣ |L||U| ∣L∣∣U∣,三角矩阵求解行列式只需计算对角元素。
- 求线性方程组 A x = b Ax=b Ax=b时,可将其转换为求解 L y = b Ly=b Ly=b和 U x = y Ux=y Ux=y的两个同规模问题,由于 L L L和 U U U都是三角矩阵,运算量小。
- 求
A
A
A的逆矩阵时,
A
−
1
=
U
−
1
L
−
1
A^{-1}=U^{-1}L^{-1}
A−1=U−1L−1,三角矩阵的逆可以通过矩阵分块的方法计算。
QR分解
这部分可以参考我之前的博客,链接
必要条件
- A A A的所有列向量线性无关,即:列满秩,即:可逆。
定义
A = Q R A=QR A=QR
- Q Q Q是 A A A的列向量的施密特标准正交化(正规正交矩阵)
-
R
R
R是
A
A
A的列向量在标准正交基下的坐标表(上三角矩阵)
步骤
- 对 A A A进行施密特标准正交化,得到 Q Q Q
- 由于 Q Q Q是正交矩阵, Q T Q = I Q^TQ=I QTQ=I,则 Q T A = Q T Q R = R Q^TA=Q^TQR=R QTA=QTQR=R,即: R = Q T A R=Q^TA R=QTA
作用
- 求解矩阵 A A A的全部特征值,此方法被称为QR方法(前提:不存在绝对值相等的特征值),下面进行详细描述。
-
当 A A A为对称矩阵时:
①. 通过相似变换,将 A A A变换为三对角矩阵 A 0 A_0 A0(除主对角线、主对角线挨着的两条线,其他元素为零);
②. 对 A 0 A_0 A0进行QR分解,得到 A 0 = Q 0 R 0 A_0=Q_0R_0 A0=Q0R0,令 A 1 = R 0 Q 0 A_1=R_0Q_0 A1=R0Q0;
③. 对 A 1 A_1 A1进行QR分解,得到 A 1 = Q 1 R 1 A_1=Q_1R_1 A1=Q1R1,令 A 2 = R 1 Q 1 A_2=R_1Q_1 A2=R1Q1;
④. 重复上述过程,得到 A k A_k Ak,当 A k A_k Ak趋于对角矩阵时,其特征值即为 A 0 A_0 A0的特征值(因为 A k + 1 = R k Q k = Q k − 1 Q k R k Q k = Q k − 1 A k Q k A_{k+1}=R_k Q_k=Q_k^{-1} Q_k R_k Q_k = Q_k^{-1} A_k Q_k Ak+1=RkQk=Qk−1QkRkQk=Qk−1AkQk)。 -
当 A A A不是对称矩阵时:
①. 通过HouseHolder变换,将 A A A变换为Hessenberg A 0 A_0 A0(上三角矩阵,左下零三角中紧贴主对角线的那条线上的元素均不为零),Hessenberg矩阵的QR分解一定是另一个Hessenberg矩阵乘以上三角矩阵;
②. 对 A 0 A_0 A0进行QR分解,得到 A 0 = Q 0 R 0 A_0=Q_0R_0 A0=Q0R0,令 A 1 = R 0 Q 0 A_1=R_0Q_0 A1=R0Q0;
③. 对 A 1 A_1 A1进行QR分解,得到 A 1 = Q 1 R 1 A_1=Q_1R_1 A1=Q1R1,令 A 2 = R 1 Q 1 A_2=R_1Q_1 A2=R1Q1;
④. 重复上述过程,得到 A k A_k Ak,当 A k A_k Ak趋于上三角矩阵时,其特征值即为 A 0 A_0 A0的特征值。
特征值分解(谱分解,EVD分解)
必要条件
- 方阵
定义
A = Q D Q − 1 A=QDQ^{-1} A=QDQ−1
- 当 A A A为 n n n阶方阵时(一般形式), A = Q D Q − 1 A=QDQ^{-1} A=QDQ−1, Q Q Q为 n n n阶方阵, Q Q Q的列向量 q i q_i qi为特征向量, D = d i a g { λ 1 , λ 2 , . . . , λ n } n × n D=diag \{ \lambda_1, \lambda_2, ... , \lambda_n \}_{n \times n} D=diag{λ1,λ2,...,λn}n×n, λ 1 , λ 2 , . . . , λ n \lambda_1, \lambda_2, ... , \lambda_n λ1,λ2,...,λn为特征值。
- 当 A A A为实对称矩阵时, A = Q D Q T A=QDQ^{T} A=QDQT, Q Q Q为正交阵( Q Q T = I QQ^T=I QQT=I)。
- 当 A A A为复正规矩阵时, A = U D U H A=UDU^{H} A=UDUH, U U U为酉矩阵。
步骤
求 A A A的特征值和特征向量即可。
作用
- 求解 A A A的逆矩阵, A − 1 = Q D Q − 1 − 1 = Q D − 1 Q − 1 A^{-1}= {QDQ^{-1}}^{-1} =QD^{-1}Q^{-1} A−1=QDQ−1−1=QD−1Q−1,可以看出,只需求 D − 1 D^{-1} D−1即可求得 A − 1 A^{-1} A−1,而 D D D是对角矩阵,其逆矩阵只需将对角元素取倒数。
- 图像压缩。但是一般现实中,大多数图片不是方的,所以奇异值分解用的较多。
奇异值分解(SVD分解)
必要条件
- 无限制
定义
A = U D V H A=UDV^H A=UDVH
- A A A为 m m m行 n n n列
- U U U为 m m m阶酉矩阵
- V V V为 n n n阶酉矩阵, V H V^H VH是 V V V的共轭转置
- D = d i a g { σ 1 , σ 2 , . . . , σ r , 0 , . . . , 0 } m × n D=diag \{ \sigma_1, \sigma_2, ... , \sigma_r, 0, ... ,0\}_{m \times n} D=diag{σ1,σ2,...,σr,0,...,0}m×n, σ 1 , σ 2 , . . . , σ r \sigma_1, \sigma_2, ... , \sigma_r σ1,σ2,...,σr为奇异值。
步骤
- 计算 A A H AA^H AAH的特征值和标准正交特征向量,用向量组成矩阵 U U U;
- 计算 A H A A^HA AHA的特征值和标准正交特征向量,用向量组成矩阵 V V V;
- 使用特征值开根号得到奇异值,组成矩阵 D D D。
作用
- 奇异值相当于方阵中的特征值,一般对应于矩阵中的重要信息,奇异值越大,信息的重要性越大。
- 图像压缩。假设原图片为 800 × 600 800 \times 600 800×600(忽略颜色通道)的矩阵 A A A,将其进行SVD分解,得到 U U U、 D D D和 V V V三个矩阵,我们可以很容易的通过分解后的三个矩阵还原图片。但是,当我们没有足够的存储空间时,我们可以仅保留奇异值较大的若干项(保留的奇异值越多,图片的还原程度越高),来还原一个近似的图像。
- 图像去噪。当图像中存在噪声时,我们可以假设较小的奇异值是由噪声引起的,将这些奇异值变为零,即可去除噪声。
- 主成分分析。
- 推荐系统。
- 语义索引LSI。