定义

矩阵奇异值分解(Singular Value Decomposition,SVD)是指将一个非零的m×nm \times n实矩阵AA , ARm×nA \in R^{m \times n} , 表示为以下三个实矩阵乘积形式的运算 , 即进行矩阵的因子分解:

A=UΣVT\begin{align} A = U \Sigma V^T \end{align}

其中,UUmm阶正交矩阵(orthogonal matrix),VVnn阶正交矩阵,Σ\Sigma是由降序排列的非负的对角线元素组成的m×nm \times n矩阵对角矩阵(rectangular diagonal matrix) , 满足

UUT=IVVT=IΣ=diag(σ1.σ2,...,σp)σ1σ2...σp0p=min(m,n)\begin{array}{c} UU^T = I\\ VV^T = I\\ \Sigma = diag(\sigma_1 . \sigma_2 , ... , \sigma_p)\\ \sigma_1 \ge \sigma_2 \ge ... \ge \sigma_p \ge 0 \\ p = min(m,n) \end{array}

UΣVTU\Sigma V^T称为矩阵AA的奇异值分解,σi\sigma_i称为矩阵AA的奇异值,UU的列向量称为左奇异向量,VV的列向量称为右奇异向量。

奇异值分解基本定理

AA为一个m×nm \times n实矩阵,ARm×nA\in R^{m \times n},则AA的奇异值分解存在:

A=UΣVT\begin{align} A = U \Sigma V^T \end{align}

其中,UUmm阶正交矩阵,VVnn阶正交矩阵,Σ\Sigmad是m×nm \times n矩阵对角矩阵,其对角线元素非负,且按降序排列。

提示
证明参考Gilbert Strang的Introduction to Linear Algebra(Fifth Edition)第371页,或李航的机器学习方法第231页。

紧奇异值分解与截断奇异值分解

定义所给出的又称为矩阵的完全奇异值分解 (full singular value decomposition)。实际常用的是奇异值分解的紧凑形式与截断形式。
紧奇异值分解是与原始矩阵等秩的奇异值分解,截断奇异值分解是比原始矩阵低秩的奇异值分解。

紧奇异值分解定义

设有m×nm \times n实矩阵AA,其秩为rank(A)=r,rmin(m,n)rank(A) = r,r \le min(m,n),则称UrΣrVrTU_r \Sigma_r {V_r}^TAA的紧奇异值分解(compact singular value decomposition),即

A=UrΣrVrT\begin{align} A = U_r \Sigma_r {V_r}^T \end{align}

其中,UrU_rm×nm\times n矩阵,VrV_rn×rn \times r矩阵,Σr\Sigma_rrr阶对角矩阵;矩阵UrU_{r}由完全奇异值分解中UU的前rr列、矩阵VrV_{r}VV的前rr列、矩阵Σr\Sigma_{r}Σ\Sigma的前rr个对角线元素得到,紧奇异值分解的对角矩阵Σr\Sigma_{r}的秩与原始矩阵AA的秩相等。

截断奇异值分解定义

AAm×nm \times n实矩阵,其秩rank(A)=rrank(A) = r,且0<k<r0 < k < r,则称UkΣkVkTU_{k} \Sigma_{k} V_{k}^T为矩阵AA的截断奇异值分解(truncated singular value decomposition),即

AUkΣkVkT\begin{align} A \approx U_{k} \Sigma_{k} V_{k}^T \end{align}

其中,UkU_{k}m×km \times k矩阵,VkV_{k}n×kn \times k矩阵,Σk\Sigma_{k}kk阶对角矩阵;矩阵UkU_{k}由完全奇异值分解中UU的前kk列、矩阵VkV_{k}VV的前kk列、矩阵Σk\Sigma_{k}Σ\Sigma的前kk个对角线元素得到,紧奇异值分解的对角矩阵Σk\Sigma_{k}的秩比原始矩阵AA的秩低。

几何解释

从线性变换的角度理解奇异值分解,m×nm \times n矩阵A\boldsymbol{A}表示从nn维空间Rn\boldsymbol{R}^{n}mm维空间RmR^{m}的一个线性变换:

T:xAxT: \boldsymbol{x} \rightarrow \boldsymbol{A} \boldsymbol{x}

其中, xRnx \in R^{n},AxRm\boldsymbol{A x} \in \boldsymbol{R}^{m}, x\boldsymbol{x}Ax\boldsymbol{A x}分别是各自空间的向量。线性变换可以分解为三个简单的变换: 一个坐标系的旋转或反射变换、一个坐标轴的缩放变换、另一个坐标系的旋转或反射变换。奇异值定理保证这种分解一定存在。这就是奇异值分解的几何解释。

对矩阵A\boldsymbol{A}进行奇异值分解, 得到RnR^{n}中的正交坐标系的旋转或反射变换;U\boldsymbol{U}的列向量 u1,u2,,um\boldsymbol{u}_{1}, \boldsymbol{u}_{2}, \cdots, \boldsymbol{u}_{m}构成Rm\boldsymbol{R}^{m}空间的一组标准正交基,表示Rm\boldsymbol{R}^{m}中的正交坐标系的旋转或反射变换; Σ\boldsymbol{\Sigma}的对角元素σ1,σ2,,σn\sigma_{1}, \sigma_{2}, \cdots, \sigma_{n}是一组非负实数,表示Rn\boldsymbol{R}^{n}中的原始正交坐标系坐标轴的σ1,σ2,,σn\sigma_{1}, \sigma_{2}, \cdots, \sigma_{n}倍的缩放变换。

对于任意一个向量xRn\boldsymbol{x} \in \boldsymbol{R}^{n} , 经过基于A=UΣVT\boldsymbol{A}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{\mathrm{T}}的线性变换, 等价于经过坐标系的旋转或反射变换VT\boldsymbol{V}^{\mathrm{T}}、坐标轴的缩放变换Σ\boldsymbol{\Sigma} , 以及坐标系的旋转或反射变换U\boldsymbol{U}, 得到向量AxRm\boldsymbol{A x} \in \boldsymbol{R}^{\boldsymbol{m}}

奇异值分解的性质

  1. 设矩阵AA的奇异值分解为A=UΣVTA = U \Sigma V^T,则以下关系成立:

ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VTAAT=(UΣVT)(UΣVT)T=U(ΣΣT)UT\begin{align} A^T A = (U \Sigma V^T)^T(U \Sigma V^T) = V(\Sigma^T \Sigma)V^T \\ AA^T = (U \Sigma V^T)(U \Sigma V^T)^T = U(\Sigma \Sigma^T)U^T \end{align}

  1. 在矩阵AA的奇异值分解中,奇异值、左奇异向量和右奇异向量之间存在对应关系。

A=UΣVTA = U \Sigma V^T易知:

AV=UΣ\begin{array}{c} AV = U \Sigma \end{array}

比较这一等式两端的第jj列,得到:

Avj=σjuj,j=1,2,,n\begin{align} Av_{j} = \sigma_{j} u_{j},j = 1,2,\cdots,n \end{align}

这就是矩阵AA的右奇异向量和奇异值、左奇异向量的关系。

类似的,有

ATU=VΣT\begin{array}{} A^T U = V \Sigma^T \end{array}

得到:

ATuj=σjvj,,j=1,2,,nATuj=0,j=n+1,n+2,,m\begin{align} A^Tu_{j}=\sigma_{j}v_{j},,j = 1,2,\cdots,n \\ A^Tu_{j} = 0,j = n+1,n+2,\cdots,m \end{align}

这就是矩阵AA的左奇异向量和奇异值、右奇异向量的关系。

  1. 矩阵AA的奇异值分解中,奇异值σ1,σ2,,σn\sigma_{1},\sigma_{2},\cdots,\sigma_{n}是唯一的,而矩阵UUVV不是唯一的。

  2. 矩阵AA和矩阵Σ\Sigma的秩相等,等于正奇异值σi\sigma_{i}的个数rr(包含重复的奇异值)。

  3. 矩阵AArr个右奇异向量v1,v2,,vrv_{1},v_{2},\dots,v_{r}构成ATA^T的值域R(AT)R(A^T)的一组标准正交基,nrn-r个右奇异向量vr+1,vr+2,,vnv_{r+1},v_{r+2},\dots,v_{n}构成AA的零空间N(A)N(A)的一组标准正交基;矩阵AArr个左奇异向量u1,u2,,uru_{1},u_{2},\dots,u_{r}构成AA的值域R(A)R(A)的一组标准正交基,矩阵AAnrn-r个左奇异向量ur+1,ur+2,,unu_{r+1},u_{r+2},\dots,u_{n}构成ATA^T的零空间N(AT)N(A^T)的一组标准正交基。这里的性质完美的符合了Gilbert Strang的那副经典图片。

计算方法

  1. ATAA^TA的特征值与特征向量
  2. nn阶正交矩阵VV
  3. m×nm \times n的对角矩阵Σ\Sigma
  4. mm阶正交矩阵UU

奇异值分解与矩阵近似

弗罗贝尼乌斯范数

奇异值分解也是一种矩阵近似的方法,这个近似是在弗罗贝尼乌斯范数(Frobenius norm)意义下的近似。矩阵的弗罗贝尼乌斯范数是向量L2L_{2}范数的直接推广,对应机器学习中的平方损失函数。

弗罗贝尼乌斯范数的定义

设矩阵ARm×nA \in R^{m \times n},A=[aij]m×nA = [a_{ij}]_{m \times n},定义矩阵AA的弗罗贝尼乌斯范数为

AF=(i=1mj=1naij2)12\begin{align} \Vert A \Vert_{F} = \left( \sum_{i=1}^{m} \sum_{j=1}^{n} a_{ij}^2 \right)^{\frac{1}{2}} \end{align}

引理

设矩阵ARm×nA \in R^{m \times n},AA的奇异值分解为UΣVTU \Sigma V^T,其中Σ=diag(σ1,σ2,,σn)\Sigma = diag(\sigma_{1},\sigma_{2},\cdots,\sigma_{n}),则

AF=(σ12+σ22++σn2)\begin{align} \Vert A \Vert_{F} = (\sigma_{1}^2+\sigma_{2}^2+\cdots+\sigma_{n}^2) \end{align}

矩阵的最优近似

奇异值分解是在平方损失(弗罗贝尼乌斯范数)意义下对矩阵的最优近似,即数据压缩。

定理 设矩阵ARm×nA \in R^{m \times n},矩阵的秩rank(A)=rrank(A) = r,并设M\mathcal{M}Rm×nR^{m \times n}中所有秩不超过kk的矩阵集合,0<k<r0 <k < r,则存在一个秩为kk的矩阵XMX \in \mathcal{M},使得

AXF=minSMASF\begin{align} \Vert A - X \Vert_{F} = \min_{S \in \mathcal{M}} \Vert A - S \Vert_{F} \end{align}

称矩阵XX为矩阵AA在弗罗贝尼乌斯范数意义下的最优近似。

定理 设矩阵ARm×n\boldsymbol{A} \in \boldsymbol{R}^{m \times n}, 矩阵的秩rank(A)=r\operatorname{rank}(\boldsymbol{A})=r, 有奇异值分解A=UΣVT\boldsymbol{A}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{\mathrm{T}}, 并设M\mathcal{M}Rm×n\boldsymbol{R}^{m \times n}中所有秩不超过kk的矩阵的集合,0<k<r0<k<r,若秩为kk的矩阵XM\boldsymbol{X} \in \mathcal{M}满足

AXF=minSMASF\begin{align} \|\boldsymbol{A}-\boldsymbol{X}\|_{F}=\min _{S \in \mathcal{M}}\|\boldsymbol{A}-\boldsymbol{S}\|_{F} \end{align}

AXF=(σk+12+σk+22++σn2)12\begin{align} \|\boldsymbol{A}-\boldsymbol{X}\|_{F}=\left(\sigma_{k+1}^{2}+\sigma_{k+2}^{2}+\cdots+\sigma_{n}^{2}\right)^{\frac{1}{2}} \end{align}

特别地, 若 A=UΣVT\boldsymbol{A}^{\prime}=\boldsymbol{U} \boldsymbol{\Sigma}^{\prime} \boldsymbol{V}^{\mathrm{T}} , 其中,

Σ=[σ10σk000]=[Σk0o0]\boldsymbol{\Sigma}^{\prime}=\left[\begin{array}{cccccc} \sigma_{1} & & & & & \\ & \ddots & & & 0 & \\ & & \sigma_{k} & & & \\ & & & 0 & & \\ & 0 & & & \ddots & \\ & & & & & 0 \end{array}\right]=\left[\begin{array}{cc} \Sigma_{k} & 0 \\ o & 0 \end{array}\right]

AAF=(σk+12+σk+22++σn2)12=minSMASF\begin{align} \left\|\boldsymbol{A}-\boldsymbol{A}^{\prime}\right\|_{F}=\left(\sigma_{k+1}^{2}+\sigma_{k+2}^{2}+\cdots+\sigma_{n}^{2}\right)^{\frac{1}{2}}=\min _{S \in \mathcal{M}}\|\boldsymbol{A}-\boldsymbol{S}\|_{F} \end{align}

矩阵的外积展开式

A=σ1u1v1T+σ2u2v2T++σnunvnT=k=1nAk=k=1nσkukvkT\begin{align} A &= \sigma_{1}u_{1}v_{1}^T + \sigma_{2}u_{2}v_{2}^T + \cdots + \sigma_{n}u_{n}v_{n}^T\\ &= \sum_{k=1}^nA_{k}=\sum_{k=1}^n\sigma_{k}u_{k}v_{k}^T\\ \end{align}

AA的秩为nn,则

A=σ1u1v1T+σ2u2v2T++σnunvnT\begin{align} A = \sigma_{1}u_{1}v_{1}^T + \sigma_{2}u_{2}v_{2}^T + \cdots + \sigma_{n}u_{n}v_{n}^T \end{align}


Rayleigh quotient 瑞利商

定义

本文采用STRANG G.Introduction to Linear Algebra的定义:

r(x)=xTSxxTx\begin{align} r(x) = \frac{x^T S x}{x^T x} \end{align}

习题

1.随机矩阵理论
The MATLAB commands A = rand (20, 40) and B = randn (20, 40) produce 20 by 40 random matrices. The entries of A are between 0 and 1 with uniform probability. The entries of B have a normal “bell-shaped” probability distribution. Using an svd command, find and graph their singular values σ1\sigma_{1} to σ20\sigma_{20}. Why do they have 20 σ\sigma's?(Source:STRANG G.Introduction to Linear Algebra P370)

该题代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
A = rand(20, 40);
B = randn(20, 40);
s_A = svd(A);
s_B = svd(B);

figure;
subplot(1,2,1);
plot(1:20, s_A, 'b-o', 'LineWidth', 1.5);
title('Singular Values of A (rand)');
xlabel('Index');
ylabel('\sigma_i');
grid on;

subplot(1,2,2);
plot(1:20, s_B, 'r-*', 'LineWidth', 1.5);
title('Singular Values of B (randn)');
xlabel('Index');
ylabel('\sigma_i');
grid on;

观察σiIndex\sigma_{i}-Index图可以得出:矩阵A的奇异值第一个值到第二个值下降极快,后面下降平缓;矩阵B的奇异值均匀下降。需要注意的是,当矩阵A的秩越大,其第一奇异值越大,第一奇异值与第二奇异值差越大。