奇异值分解

奇异值分解

奇异值分解(singular value decomposition, SVD)

假设\(M\)是一个\(m*n\)阶矩阵,其中的元素全部属于域\(K\),也就是实数域或复数域。如此存在一个分解使得:

\[ M=U\Sigma V^\ast\]

其中\(U\)\(m\ast n\)阶酉矩阵,\(\Sigma\)\(m\ast n\)阶非负实数对角矩阵,\(V^\ast\)\(V\)的共轭转置,是\(n\ast n\)阶酉矩阵。这样的分解就是 \(M\)的奇异值分解。\(\Sigma\) 对角线上的元素 \(\Sigma_{i,j}\) 即为奇异值分解,常见情况下将奇异值由大到小排列。如此 \(\Sigma\) 便能由\(M\)唯一确定。

  • V的列组成一套对M的正交"输入"或"分析"的基向量,也是 \(M\ast M\) 的特征向量。
  • U的列组成一套对M的正交"输出"基向量,也是 \(MM\ast\) 的特征向量。
  • \(\Sigma\) 对角线上的元素是奇异值,可视为是在输入与输出间进行的纯量的"膨胀控制",这些是 \(MM\ast\)\(M\ast M\) 的特征值的非负平方根,并与 \(U,V\) 相对应。

直观解释

上述图片中:

  • 左上:单位圆上有两个正交单位向量。
  • 右上:单位圆在 \(M\) 和奇异值 \(\sigma_1,\sigma_2\) 下的转换。
  • 左下:单位圆通过 \(V^\ast\) 的旋转。
  • 右下:单位圆通过 \(\Sigma V^\ast\) 的变形,其中 \(\Sigma\) 缩放了水平与垂直的比例。

举例

\[ M= \begin{bmatrix} 1 & 0 & 0 & 0 & 2\\\\ 0 & 0 & 3 & 0 & 0\\\\ 0 & 0 & 0 & 0 & 0\\\\ 0 & 2 & 0 & 0 & 0 \end{bmatrix} \]

奇异值分解后的结果如下:

\[ U=\begin{bmatrix} 0 & 0 & 1 & 0\\\\ 0 & 1 & 0 & 0\\\\ 0 & 0 & 0 & 1\\\\ 1 & 0 & 0 & 0 \end{bmatrix}, \Sigma=\begin{bmatrix} 4 & 0 & 0 & 0 & 0\\\\ 0 & 3 & 0 & 0 & 0\\\\ 0 & 0 & \sqrt{5} & 0 & 0\\\\ 0 & 0 & 0 & 0 & 0 \end{bmatrix}, V^*=\begin{bmatrix} 0 & 1 & 0 & 0 & 0\\\\ 0 & 0 & 1 & 0 & 0\\\\ \sqrt{0.2} & 0 & 0 & 0 & \sqrt{0.8}\\\\ 0 & 0 & 0 & 1 & 0\\ \sqrt{0.8} & 0 & 0 & 0 & -\sqrt{0.2} \end{bmatrix} \]

注意矩阵 \(\Sigma\) 的所有非对角元为0,矩阵 \(U,V\) 都是酉矩阵,它们乘上各自的共轭转置都得到单位矩阵。由于 \(U,V^*\) 都是实矩阵,故它们都是正交矩阵。

\[ UU^\ast =\begin{bmatrix} 0 & 0 & 1 & 0\\\\ 0 & 1 & 0 & 0\\\\ 0 & 0 & 0 & 1\\\\ 1 & 0 & 0 & 0 \end{bmatrix}\ast \begin{bmatrix} 0 & 0 & 0 & 1\\\\ 0 & 1 & 0 & 0\\\\ 1 & 0 & 0 & 0\\\\ 1 & 0 & 0 & 0 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & 0\\\\ 0 & 1 & 0 & 0\\\\ 0 & 0 & 1 & 0\\\\ 0 & 0 & 0 & 1 \end{bmatrix} =I_4 \]

\[ VV^\ast =\begin{bmatrix} 0 & 0 & \sqrt{0.2} & 0 & \sqrt{0.8}\\\\ 1 & 0 & 0 & 0 & 0\\\\ 0 & 1 & 0 & 0 & 0\\\\ 0 & 0 & 0 & 1 & 0\\ 0 & 0 & \sqrt{0.8} & 0 & -\sqrt{0.2} \end{bmatrix}\ast \begin{bmatrix} 0 & 1 & 0 & 0 & 0\\\\ 0 & 0 & 1 & 0 & 0\\\\ \sqrt{0.2} & 0 & 0 & 0 & \sqrt{0.8}\\\\ 0 & 0 & 0 & 1 & 0\\ \sqrt{0.8} & 0 & 0 & 0 & -\sqrt{0.2} \end{bmatrix}= \begin{bmatrix} 1 & 0 & 0 & 0 & 0\\\\ 0 & 1 & 0 & 0 & 0\\\\ 0 & 0 & 1 & 0 & 0\\\\ 0 & 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 0 & 1 \end{bmatrix} =I_5 \]

由于 \(\Sigma\) 有一个对角元是0,所以这个奇异值分解值不是唯一的,例如 V 可以为:

\[ V^\ast = \begin{bmatrix} 0 & 1 & 0 & 0 & 0\\\\ 0 & 0 & 1 & 0 & 0\\\\ \sqrt{0.2} & 0 & 0 & 0 & \sqrt{0.8}\\\\ \sqrt{0.4} & 0 & 0 & \sqrt{0.5} & -\sqrt{0.1}\\ -\sqrt{0.4} & 0 & 0 & \sqrt{0.5} & \sqrt{0.1} \end{bmatrix} \]