注:奇异值分解在数据降维中有较多的应用,这是把它的原理简单总结一下,并个图片压缩的例子,最后做一个简单的分析,希望能够给大家带来帮助。
1、特征值分解(EVD) 实对称矩阵在理角奇异值分解之前,需要先回顾一下特征值分解,如果矩阵\(A\)是一个\(m\times m\)的实对称矩阵(即\(A = A^T\)),那么它可以被分解成如下的形式
\[
A = Q\Sigma Q^T=
Q\left[
\begin{matrix}
\lambda_1 & \cdots & \cdots & \cdots\\
\cdots & \lambda_2 & \cdots & \cdots\\
\cdots & \cdots & \ddots & \cdots\\
\cdots & \cdots & \cdots & \lambda_m\\
\end{matrix}
\right]Q^T
\tag{1-1}
\]
其中\(Q\)为标准正交阵,即有\(QQ^T = I\),\(\Sigma\)为对角矩阵,且上面的矩阵的维度均为\(m\times m\)。\(\lambda_i\)称为特征值,\(q_i\)是\(Q\)(特征矩阵)中的列向量,称为特征向量。
注:\(I\)在这里表示单位阵,有时候也用\(E\)表示单位阵。式(1-1)的具体求解过程就不多叙述了,可以回忆一下大学时的线性代数。简单地有如下关系:\(Aq_i = \lambda_i q_i, \quad q_i q_j^T = 1(i \ne j)\)。
一般矩阵上面的特征值分解,对矩阵有着较高的要求,它需要被分解的矩阵\(A\)为实对称矩阵,但是现实中,我们所遇到的问题都不是实对称矩阵。那么当我们碰到一般性的矩阵,即有一个\(m \times n\)的矩阵\(A\),它是否能被分解成上面的式(1-1)的形式呢?当然是可以的,这就是我们下面要讨论的内容。
2、奇异值分解(SVD) 2.1 奇异值分解定义有一个\(m \times n\)的实数矩阵\(A\),我们想要把它分解成如下的形式
\[ A = U\Sigma V^T \tag{2-1} \]
其中\(U\)和\(V\)均为单位正交阵,即有\(UU^T=I\)和\(VV^T=I\),\(U\)称为左奇异矩阵,\(V\)称为右奇异矩阵,\(\Sigma\)仅在主对角线上有值,我们称它为奇异值,其它元素均为0。上面矩阵的维度分别为\(U \in R^{m\times m},\ \Sigma \in R^{m\times n},\ V \in R^{n\times n}\)。
一般地\(\Sigma\)有如下形式
\[
\Sigma =
\left[
\begin{matrix}
\sigma_1 & 0 & 0 & 0 & 0\\
0 & \sigma_2 & 0 & 0 & 0\\
0 & 0 & \ddots & 0 & 0\\
0 & 0 & 0 & \ddots & 0\\
\end{matrix}
\right]_{m\times n}
\]
图1-1 奇异值分解