1. 奇异值分解(Singular value decomposition)

1.1 基础

矩阵的奇异值分解(SVD)提供了一种三项分解,类似于谱分解,但适用于任何矩阵。通过SVD,我们可以通过矩阵向量乘积y=Ax\bm{y} = \bm{Ax}完整描述与A\bm{A}相关的线性映射,其过程分为三步:首先对输入向量x\bm{x}进行正交变换(旋转(rotation)或反射(reflection));然后对旋转后的输入向量的各元素进行非负缩放,并可能增加或移除该向量的维度以匹配输出空间的维度。最后,在输出空间中进行另一次正交变换。用公式表示为任意矩阵ARm,n\bm{A} \in \mathbb{R} ^{m,n}都可以分解为

A=UΣ~V\bm{A} = \bm{U}\tilde{\bm{\Sigma}}\bm{V}^\top

其中VRn,n\bm{V} \in \mathbb{R} ^{n,n}URm,m\bm{U} \in \mathbb{R} ^{m,m}是正交矩阵(分别描述输入和输出空间中的旋转/反射),并且

Σ~=[Σ0r,nr0mr,r0mr,nr],Σ=diag(σ1,,σr)0\tilde{\bm{\Sigma}} = \begin{bmatrix} \Sigma & \bm{0}_{r,n-r} \\ \bm{0}_{m-r,r} & \bm{0}_{m-r,n-r} \end{bmatrix} , \Sigma = \operatorname{diag}(\sigma _1 ,\cdots ,\sigma _r) \succ 0

其中rrA\bm{A}的秩,标量σi>0,i=1,,r\sigma _i > 0,i=1,\cdots ,r,表示旋转输入向量上的缩放因子,如下图所示

5.1.png

A\bm{A}的大部分相关特性都可以从其奇异值分解中推导出来。如果我们知道矩阵A\bm{A}的SVD,那么我们也就知道了A\bm{A}的秩、的谱范数(最大增益)以及条件数。此外,我们可以轻松获得A\bm{A}的列空间和零空间的正交基;我们可以求解以A\bm{A}为系数矩阵的线性方程组(参见Section第 6.4.2 节),并分析这些方程中误差的影响;我们还可以求解超定线性方程组的最小二乘解,或者欠定系统的最小范数解

1.2 奇异值分解定理

我们在这里陈述奇异值分解定理,并随后给出一个示意性证明

定理5.1(奇异值分解):任何矩阵ARm,n\bm{A} \in \mathbb{R} ^{m,n}都可以分解为

A=UΣ~V\bm{A} = \bm{U}\tilde{\bm{\Sigma}}\bm{V}^\top

其中VRn,n\bm{V} \in \mathbb{R} ^{n,n}URm,m\bm{U} \in \mathbb{R} ^{m,m}是正交矩阵(即UU=Im,VV=In\bm{U}^\top \bm{U}=\bm{I}_m,\bm{V}^\top \bm{V}=\bm{I}_n)并且Σ~Rm,n\tilde{\bm{\Sigma}}\in \mathbb{R} ^{m,n}矩阵前rrankAr \coloneqq \operatorname{rank} \bm{A}个对角线元素(σ1,,σr)(\sigma _1,\cdots ,\sigma _r)为正且按大小递减,其余所有元素为零

证明

考虑矩阵AASn\bm{A}^\top \bm{A} \in \mathcal{S}^n。该矩阵是对称的且半正定,它可以进行谱分解

AA=VΛnV\bm{A}^\top \bm{A} = \bm{V \Lambda }_n \bm{V}^\top

其中VRn,n\bm{V} \in \mathbb{R} ^{n,n}是正交矩阵(即VV=In\bm{V}^\top \bm{V} = \bm{I}_n),Λn\bm{\Lambda }_n是对角矩阵,对角线上包含特征值λi=λi(AA)0,i=1,,n\lambda _i = \lambda _i(\bm{A}^\top \bm{A}) \geq 0,i=1,\cdots ,n,按降序排列。由于r=rankA=rankAAr = \operatorname{rank} \bm{A} = \operatorname{rank} \bm{A}^\top \bm{A},这些特征值中前rr个是严格正的。注意AA\bm{AA}^\topAA\bm{A}^\top \bm{A}具有相同的非零特征值,因此秩也都为rr

  1. rankA=rankAA\operatorname{rank} \bm{A} = \operatorname{rank} \bm{A}^\top \bm{A}

第一步:N(A)N(AA)\mathcal{N}(\bm{A}) \subseteq \mathcal{N}(\bm{A}^\top \bm{A})

Ax=0AAx=0\bm{Ax} = \bm{0} \Rightarrow \bm{A}^\top \bm{Ax} = \bm{0},证明完毕

第二步:N(AA)N(A)\mathcal{N}(\bm{A}^\top \bm{A}) \subseteq \mathcal{N}(\bm{A})

AAx=0xAAx=0\bm{A}^\top \bm{Ax} = \bm{0} \Rightarrow \bm{x}^\top \bm{A}^\top \bm{Ax} = 0,令y=Ax\bm{y} = \bm{Ax}

yy=y22=0\bm{y}^\top \bm{y} = \lVert \bm{y} \rVert^2_2 = 0,可得y=0\bm{y}=\bm{0},即Ax=0\bm{Ax}=\bm{0},证明完毕

第三步:秩的等式推导

最终有N(AA)=N(A)\mathcal{N}(\bm{A}^\top \bm{A}) = \mathcal{N}(\bm{A}),根据定理3.1知

rankA+dimN(A)=nrankAA+dimN(AA)=n\begin{gather*} \operatorname{rank} \bm{A} + \dim\mathcal{N}(\bm{A}) = n \\ \operatorname{rank} \bm{A}^\top \bm{A} + \dim\mathcal{N}(\bm{A}^\top \bm{A}) = n \end{gather*}

因此rankA=rankAA\operatorname{rank} \bm{A} = \operatorname{rank} \bm{A}^\top \bm{A}

同理可证rankA=rankAA\operatorname{rank}\bm{A}^\top = \operatorname{rank} \bm{AA}^\top,于是rankA=rankA=rankAA=rankAA\operatorname{rank}\bm{A}^\top = \operatorname{rank}\bm{A} = \operatorname{rank} \bm{AA}^\top = \operatorname{rank} \bm{A}^\top \bm{A}

  1. AA\bm{A}^\top \bm{A}的前rr个特征值严格为正

实对称矩阵可正交对角化

VAAV=Λn=diag(λ1,,λn)\bm{V}^\top \bm{A}^\top \bm{AV} = \bm{\Lambda}_n = \operatorname{diag}(\lambda_1 ,\cdots , \lambda _n)

由于V\bm{V}为正交矩阵,故其可逆。可知任何一个可逆矩阵都可以分解成一连串初等矩阵的乘积初等变换不会改变矩阵的秩。因此Λn\bm{\Lambda}_n的秩也为rr,由于对角矩阵的秩为对角线上非零元素的个数,因此AA\bm{A}^\top \bm{A}的前rr个特征值严格为正

  1. AA\bm{AA}^\topAA\bm{A}^\top \bm{A}有相同的非零特征值

第一步:若λ\lambdaAA\bm{A}^\top \bm{A}的非零特征值,则也是AA\bm{AA}^\top的特征值

根据特征值定义

AAx=λx,λ0,x0\bm{A}^\top \bm{Ax} = \lambda \bm{x} ,\lambda \neq 0,\bm{x} \neq \bm{0}

两边左乘A\bm{A}

AAAx=λAx\bm{AA}^\top \bm{Ax} = \lambda \bm{Ax}

y=Ax\bm{y}=\bm{Ax}

AAy=λy\bm{AA}^\top \bm{y} = \lambda \bm{y}

因为y0\bm{y}\neq \bm{0},因此λ\lambda也是AA\bm{AA}^\top的特征值

第二步:若λ\lambdaAA\bm{AA}^\top的非零特征值,则也是AA\bm{A}^\top \bm{A}的特征值

证明过程同上

综上,AA\bm{AA}^\topAA\bm{A}^\top \bm{A}非零特征值完全相同,仅特征值的重数可能因矩阵阶数不同而有差异因为AA\bm{AA}^\topAA\bm{A}^\top \bm{A}的阶数不同

因此我们可以定义

σiλi(AA)=λi(AA)>0,i=1,,r\sigma _i \coloneqq \sqrt{\lambda_i(\bm{A}^\top \bm{A})} = \sqrt{\lambda _i(\bm{AA}^\top)} > 0 ,i=1,\cdots ,r

现在,将V\bm{V}的前rr列记为v1,,vr\bm{v}_1,\cdots ,\bm{v}_r,即AA\bm{A}^\top \bm{A}λ1,,λr\lambda _1,\cdots ,\lambda _r相关的特征向量。根据定义

AAvi=λivi,i=1,,r\bm{A}^\top \bm{Av}_i = \lambda_i \bm{v}_i,i=1,\cdots ,r

因此,两边同时乘以A\bm{A}

AAAvi=λiAvi,i=1,,r\bm{AA}^\top \bm{Av}_i = \lambda_i \bm{Av}_i,i=1,\cdots ,r

这意味着Avi,i=1,,r\bm{Av}_i,i=1,\cdots,rAA\bm{AA}^\top的特征向量。这些特征向量是互相正交的,因为

viAAvj=λjvivj={λiif i=j0otherwise\bm{v}_i^\top \bm{A}^\top \bm{Av}_j = \lambda _j \bm{v}_i^\top \bm{v}_j = \left\{ \begin{matrix} \lambda_i & \text{if }i=j \\ 0 & \text{otherwise} \end{matrix} \right.

因此,归一化向量

ui=Aviλi=Aviσi,i=1,,r\bm{u}_i = \frac{\bm{Av}_i}{\sqrt{\lambda }_i} = \frac{\bm{Av}_i}{\sigma _i},i=1,\cdots ,r

形成一组与非零特征值λ1,,λr\lambda _1,\cdots ,\lambda _r相关的标准正交向量集合。然后,对于i=1,,ri=1,\cdots ,r

uiAvj=1σiviAAvj=λjσivivj={σiif i=j0otherwise\bm{u}_i^\top \bm{A} \bm{v}_j = \frac{1}{\sigma _i}\bm{v}_i^\top \bm{A}^\top\bm{A} \bm{v}_j = \frac{\lambda_j}{\sigma _i}\bm{v}_i^\top \bm{v}_j = \left\{ \begin{matrix} \sigma_i & \text{if }i=j \\ 0 & \text{otherwise} \end{matrix} \right.

用矩阵形式重写前面的关系可以得到

[u1ur]A[v1vr]=diag(σ1,,σr)Σ\begin{bmatrix} \bm{u}_1^\top \\ \vdots \\ \bm{u}_r^\top \end{bmatrix} \bm{A} \begin{bmatrix} \bm{v}_1 & \cdots & \bm{v}_r \end{bmatrix} = \operatorname{diag} (\sigma _1,\cdots ,\sigma_r) \coloneqq \Sigma

这已经是SVD的紧凑形式。接下来我们将推导SVD的完整版本。根据定义

AAvi=0,i=r+1,,n\bm{A}^\top \bm{Av}_i = \bm{0},i=r+1,\cdots ,n

这意味着

Avi=0,i=r+1,,n\bm{Av}_i = \bm{0},i=r+1,\cdots ,n

为了验证后一种说法,通过反证法假设AAvi=0\bm{A}^\top \bm{Av}_i = \bm{0}Avi0\bm{Av}_i \neq \bm{0}。则AviN(A)R(A)\bm{Av}_i \in \mathcal{N}(\bm{A}^\top) \equiv \mathcal{R}(\bm{A})^\perp,这是不可能的,因为显然AviR(A)\bm{Av}_i \in \mathcal{R}(\bm{A})。那么,我们可以找到正交单位向量ur+1,,um\bm{u}_{r+1},\cdots ,\bm{u}_m使得u1,,ur,ur+1,,um\bm{u}_1,\cdots ,\bm{u}_r,\bm{u}_{r+1},\cdots ,\bm{u}_m构成Rm\mathbb{R} ^m的一组正交基,那么

uiAvj=0,i=1,,m;j=r+1,,n\bm{u}_i^\top \bm{A} \bm{v}_j = 0,i=1,\cdots ,m;j=r+1,\cdots ,n

综合两种情况,我们可以得到

[u1um]A[v1vm]=[Σ0r,nr0mr,r0mr,nr]Σ~\begin{bmatrix} \bm{u}_1^\top \\ \vdots \\ \bm{u}_m^\top \end{bmatrix} \bm{A} \begin{bmatrix} \bm{v}_1 & \cdots & \bm{v}_m \end{bmatrix} = \begin{bmatrix} \Sigma & \bm{0}_{r,n-r} \\ \bm{0}_{m-r,r} & \bm{0}_{m-r,n-r} \end{bmatrix} \coloneqq \tilde{\bm{\Sigma}}

定义正交矩阵U=[u1,,um]\bm{U} = [\bm{u}_1 ,\cdots ,\bm{u}_m] 后,表达式可重写为UAV=Σ~\bm{U}^\top \bm{AV} = \tilde{\bm{\Sigma }},在左侧乘以U\bm{U}、右侧乘以V\bm{V}^\top后,最终得到完整的SVD分解

A=UΣ~V\bm{A} = \bm{U}\tilde{\bm{\Sigma}}\bm{V}^\top

V\bm{V}AA\bm{A}^\top \bm{A}的标准正交特征向量组成,因此VRn,n\bm{V} \in \mathbb{R} ^{n,n}U\bm{U}AA\bm{AA}^\top的标准正交特征向量组成,因此URm,m\bm{U} \in \mathbb{R} ^{m,m}

推论5.1(紧凑型SVD):任何矩阵ARm,n\bm{A} \in \mathbb{R} ^{m,n}都可以表示为

A=i=1rσiuivi=UrΣVr\bm{A} = \sum_{i=1}^{r} \sigma _i \bm{u}_i \bm{v}_i^\top = \bm{U}_r \Sigma \bm{V}_r^\top

其中r=rankAr = \operatorname{rank} \bm{A}Ur=[u1,,ur]\bm{U}_r = [\bm{u}_1,\cdots ,\bm{u}_r]满足UrUr=Ir\bm{U}_r^\top \bm{U}_r = \bm{I}_rVr=[v1,,vr]\bm{V}_r = [\bm{v}_1,\cdots ,\bm{v}_r]满足VrVr=Ir\bm{V}_r^\top \bm{V}_r = \bm{I}_r,并且σ1σ2σr>0\sigma _1 \geq \sigma _2 \geq \cdots \sigma _r > 0。正数σi\sigma _i称为A\bm{A}的奇异值(singular value),向量ui\bm{u}_i称为A\bm{A}的左奇异向量(left singular vector),vi\bm{v}_i称为右奇异向量(right singular vector)。这些量满足

Avi=σiui,Aui=σivi,i=1,,r\bm{Av}_i = \sigma _i \bm{u}_i, \bm{A}^\top \bm{u}_i^\top = \sigma _i \bm{v}_i, i = 1,\cdots,r

此外,σi2=λi(AA)=λi(AA),i=1,,r\sigma _i^2 = \lambda _i(\bm{AA}^\top ) = \lambda _i(\bm{A}^\top \bm{A} ),i=1,\cdots,rui\bm{u}_iAA\bm{AA}^\top的特征向量;vi\bm{v}_iAA\bm{A}^\top\bm{A}的特征向量

2. 通过奇异值分解的矩阵性质

在本节中,我们回顾矩阵ARm,n\bm{A} \in \mathbb{R} ^{m,n}的若干性质,这些性质可以直接从其完整形式的奇异值分解(SVD)中得出

A=UΣ~V\bm{A} = \bm{U}\tilde{\bm{\Sigma}}\bm{V}^\top

或紧凑形式的奇异值分解中得出

A=UrΣVr\bm{A} = \bm{U}_r\bm{\Sigma}\bm{V}^\top_r

2.1 秩、零空间和值域

矩阵A\bm{A}的秩rr是非零奇异值的数量,即Σ~\tilde{\bm{\Sigma}}对角线上非零元素的数量。此外,由于在实际中Σ~\tilde{\bm{\Sigma}}对角元素可能非常小但不完全为零(例如,存在数值误差),可以定义一个更可靠的数值秩,其定义为在给定容差ϵ0\epsilon \geq 0的情况下,使σk>ϵσ1\sigma _k > \epsilon \sigma _1的最大kk

由于r=rankAr = \operatorname{rank} \bm{A},根据线性代数基本定理,A\bm{A}的零空间的维数为dimN(A)=nr\dim \mathcal{N}(\bm{A}) = n − r。一个跨越N(A)\mathcal{N}(\bm{A})的标准正交基由V\bm{V}的最后nrn-r列给出,即

N(A)=R(Vnr),Vnr[vr+1,,vn]\mathcal{N}(\bm{A}) = \mathcal{R}(\bm{V}_{nr}),\bm{V}_{nr} \coloneqq [\bm{v}_{r+1},\cdots ,\bm{v}_n]

为了证明这一点,vr+1,,vn\bm{v}_{r+1},\cdots ,\bm{v}_n形成一个标准正交向量组(它们是一个正交矩阵的列)。此外,对于位于Vnr\bm{V}_{nr}范围内的任意向量ξ=Vnrz\bm{\xi} =\bm{V}_{nr} \bm{z},我们有

Aξ=UrΣVrVnrz=0\bm{A \xi } = \bm{U}_r \Sigma \bm{V}_r^\top \bm{V}_{nr} \bm{z} = \bm{0}

类似地,A\bm{A}值域的标准正交基由U\bm{U}的前rr列给出

R(A)=R(Ur),Ur[u1,,ur]\mathcal{R}(\bm{A}) = \mathcal{R}(\bm{U}_r),\bm{U}_r \coloneqq [\bm{u}_1,\cdots ,\bm{u}_r]

为了证明这一点,首先注意到,由于ΣVrRr,n\Sigma \bm{V}_r^\top \in \mathbb{R} ^{r,n},且rnr \leq n,是满行秩的,那么当x\bm{x}遍历整个Rn\mathbb{R} ^n空间时,z=ΣVrx\bm{z} = \Sigma \bm{V}_r^\top \bm{x}张成整个Rr\mathbb{R} ^r空间,因此

R(A)={y ⁣:y=Ax,xRn}={y ⁣:y=UrΣVrx,xRn}={y ⁣:y=Urz,zRr}R(Ur)\begin{align*} \mathcal{R}(\bm{A}) &= \left\{ \bm{y} \colon \bm{y} = \bm{Ax},\bm{x} \in \mathbb{R} ^n \right\} = \left\{ \bm{y} \colon \bm{y} = \bm{U}_r \Sigma \bm{V}_r^\top \bm{x},\bm{x} \in \mathbb{R} ^n \right\}\\ &= \left\{ \bm{y} \colon \bm{y} = \bm{U}_r \bm{z},\bm{z} \in \mathbb{R} ^r \right\} \equiv \mathcal{R}(\bm{U}_r) \end{align*}

2.2 矩阵范数

矩阵ARm,n\bm{A}\in \mathbb{R} ^{m,n}Frobenius范数的平方可以定义为(乘以正交矩阵不会改变Frobenius范数)

AF2=traceAA=i=1nλi(AA)=i=1nσi2\lVert \bm{A} \rVert _F^2 = \operatorname{trace} \bm{A}^\top \bm{A} = \sum_{i=1}^{n}\lambda _i(\bm{A}^\top \bm{A}) = \sum_{i=1}^{n} \sigma _i^2

其中σi\sigma _iA\bm{A}的奇异值。因此,Frobenius范数的平方是奇异值平方的和

矩阵谱范数平方等于AA\bm{A}^\top \bm{A}的最大特征值

A22=maxu2=1Au22=maxu2=1uAAu=σ12\lVert \bm{A} \rVert _2^2 = \max_{\lVert \bm{u} \rVert_2=1}\lVert \bm{Au} \rVert _2^2 =\max_{\lVert \bm{u} \rVert_2=1} \bm{u}^\top \bm{A}^\top \bm{Au} = \sigma _1^2

也就是说,A\bm{A}的谱范数与A\bm{A}的最大奇异值相同

此外,矩阵A\bm{A}的所谓核(nuclear)范数(也叫迹范数)是通过其奇异值来定义的

A=i=1rσi,r=rankA\lVert \bm{A} \rVert _* = \sum_{i=1}^{r} \sigma _i,r = \operatorname{rank} \bm{A}

可逆矩阵ARn,n\bm{A} \in \mathbb{R} ^{n,n}的条件数(condition number)定义为其最大奇异值与最小奇异值的比值

κ(A)=σ1σn=A2A12\kappa(\bm{A})=\frac{\sigma_{1}}{\sigma_{n}}=\lVert \bm{A} \rVert_{2}\cdot \lVert \bm{A}^{-1} \rVert_{2}

这里逆矩阵的特征值可见下一节,该数值提供了A\bm{A}接近奇异的量化衡量(κ(A)\kappa(\bm{A}) 越大,A 越接近奇异)。条件数还提供了线性方程组解对方程系数变化的敏感性度量,参见第Section6.5节

2.3 矩阵伪逆(pseudoinverse)

给定任意矩阵ARm,n\bm{A} \in \mathbb{R} ^{m,n},令r=rankAr = \operatorname{rank} \bm{A},并对其进行SVDA=UΣ~V\bm{A} = \bm{U}\tilde{\bm{\Sigma}}\bm{V}^\top。所谓的Moore-Penrose伪逆(或广义逆(generalized inverse))定义为

A=VΣ~URn,m\bm{A}^\dagger = \bm{V}\tilde{\bm{\Sigma}}^\dagger\bm{U}^\top \in \mathbb{R} ^{n,m}

其中

Σ~=[Σ10r,mr0nr,r0nr,mr],Σ1=diag(1σ1,,1σr)0\tilde{\bm{\Sigma}}^\dagger = \begin{bmatrix} \Sigma ^{-1} & \bm{0}_{r,m-r} \\ \bm{0}_{n-r,r} & \bm{0}_{n-r,m-r} \end{bmatrix}, \Sigma ^{-1} = \operatorname{diag} \left( \frac{1}{\sigma _1},\cdots, \frac{1}{\sigma }_r \right) \succ 0

上式也可以写出简洁形式

A=VrΣ1Ur\bm{A}^\dagger = \bm{V}_r\bm{\Sigma}^{-1}\bm{U}_r^\top

根据定义有

Σ~Σ~=[Ir0r,nr0nr,r0nr,nr],Σ~Σ~=[Ir0r,mr0mr,r0mr,mr]\tilde{\bm{\Sigma}}^\dagger \tilde{\bm{\Sigma}} = \begin{bmatrix} \bm{I}_r & \bm{0}_{r,n-r} \\ \bm{0}_{n-r,r} & \bm{0}_{n-r,n-r} \end{bmatrix} , \tilde{\bm{\Sigma}}\tilde{\bm{\Sigma}}^\dagger = \begin{bmatrix} \bm{I}_r & \bm{0}_{r,m-r} \\ \bm{0}_{m-r,r} & \bm{0}_{m-r,m-r} \end{bmatrix}

由此伪逆具有以下性质

AA=UrUrAA=VrVrAAA=AAAA=A\begin{gather*} \bm{AA}^\dagger = \bm{U}_r\bm{U}_r^\top \\ \bm{A}^\dagger\bm{A} = \bm{V}_r\bm{V}_r^\top \\ \bm{AA}^\dagger\bm{A} = \bm{A} \\ \bm{A}^\dagger\bm{AA} ^\dagger = \bm{A}^\dagger \end{gather*}

注意以下三种特殊情况

  1. 如果A\bm{A}是方阵且非奇异,则A=A1\bm{A}^\dagger = \bm{A}^{-1}
  2. 如果ARm,n\bm{A} \in \mathbb{R} ^{m,n}列满秩,即r=nmr = n \leq m,那么此时V\bm{V}为方阵,满足正交

AA=VrVr=VV=In\bm{A}^\dagger\bm{A} = \bm{V}_r\bm{V}_r^\top = \bm{V}\bm{V}^\top = \bm{I}_n

也就是说,在这种情况下,A\bm{A}^\daggerA\bm{A}的左逆(即一个矩阵,当在左侧乘以A\bm{A}^\dagger时,会得到单位矩阵:AA=In\bm{A}^\dagger\bm{A} = \bm{I}_n)。注意,在这种情况下AA\bm{A}^\top \bm{A}是可逆的,我们有

(AA)1A=(VrΣ2Vr)VrΣUr=VrΣ2ΣUr=VrΣ1Ur=A(\bm{A}^\top \bm{A})^{-1}\bm{A}^\top =(\bm{V}_r\bm{\Sigma}^{-2} \bm{V}^{\top}_r)\bm{V}_r\bm{\Sigma}^{\top}\bm{U}^{\top}_r =\bm{V}_r\bm{\Sigma}^{-2}\bm{\Sigma U}_{r}^{\top} = \bm{V}_r\bm{\Sigma}^{-1} \bm{U}_{r}^{\top} = \bm{A}^\dagger

A\bm{A}的任何可能的左逆都可以表示为

Ali=A+Q\bm{A}^{li} = \bm{A}^\dagger + \bm{Q}^\top

其中Q\bm{Q}是某个矩阵,使得AQ=0\bm{A}^\top \bm{Q} = \bm{0}(即Q\bm{Q}的列属于A\bm{A}^\top的零空间)。综上所述,在列满秩的情况下,伪逆是A\bm{A}的左逆,并且可以用A\bm{A}写出出具体的表达式

ARm,n,r=rankA=nmAA=In,A=(AA)1A\bm{A} \in \mathbb{R}^{m,n},r=\operatorname{rank}A = n\leq m \Rightarrow \bm{A}^\dagger \bm{A}=\bm{I}_n,\bm{A}^\dagger=(\bm{A}^\top \bm{A})^{-1}\bm{A}^\top

  1. 如果ARm,n\bm{A} \in \mathbb{R} ^{m,n}是行满秩,即r=mnr = m \leq n,那么此时U\bm{U}为方阵,满足正交

AA=UrUr=UU=Im\bm{AA}^\dagger = \bm{U}_r\bm{U}_r^\top = \bm{UU}^\top = \bm{I}_m

也就是说,在这种情况下,A\bm{A}^\daggerA\bm{A}的右逆(即,当它在右侧与A\bm{A}相乘时,会得到单位矩阵AA=Im\bm{AA}^\dagger = \bm{I}_m)。注意,在这种情况下AA\bm{AA}^\top可逆,我们有

A(AA)1=VrΣUr(UrΣ2Ur)=VrΣ1Ur=A\bm{A}^\top(\bm{AA}^\top)^{-1} =\bm{V}_r \bm{\Sigma }^\top \bm{U}_r^\top (\bm{U}_r \bm{\Sigma}^{-2} \bm{U}_r^{\top})^\top = \bm{V}_r \bm{\Sigma }^{-1} \bm{U}_r^{\top} = \bm{A}^\dagger

A\bm{A}的任何可能的右逆都可以表示为

Ari=A+Q\bm{A}^{ri} = \bm{A}^\dagger + \bm{Q}

其中Q\bm{Q}是某个矩阵,使得AQ=0\bm{A} \bm{Q} = \bm{0}(即Q\bm{Q}的列属于A\bm{A}的零空间)。综上所述,在行满秩的情况下,伪逆是A\bm{A}的右逆,并且可以用A\bm{A}写出出具体的表达式

ARm,n,r=rankA=mnAA=Im,A=A(AA)1\bm{A} \in \mathbb{R}^{m,n},r=\operatorname{rank}A = m\leq n \Rightarrow \bm{AA}^\dagger = \bm{I}_m,\bm{A}^\dagger=\bm{A}^\top(\bm{AA}^\top)^{-1}

2.4 正交投影算子

我们已经看到,任何矩阵ARm,n\bm{A} \in \mathbb{R} ^{m,n}都定义了输入空间Rn\mathbb{R} ^n与输出空间Rm\mathbb{R} ^m 之间的线性映射y=Ax\bm{y} = \bm{Ax}。此外,根据线性代数的基本定理,输入空间和输出空间可分解为正交分量,如下所示

Rn=N(A)N(A)=N(A)R(A)Rm=R(A)R(A)=R(A)N(A)\begin{gather*} \mathbb{R}^n = \mathcal{N}(\bm{A}) \oplus \mathcal{N}(\bm{A})^\perp = \mathcal{N}(\bm{A}) \oplus \mathcal{R}(\bm{A}^\top) \\ \mathbb{R}^m = \mathcal{R}(\bm{A}) \oplus \mathcal{R}(\bm{A})^\perp = \mathcal{R}(\bm{A}) \oplus \mathcal{N}(\bm{A}^\top) \end{gather*}

如前所述,SVDA=UΣ~V\bm{A} = \bm{U}\tilde{\bm{\Sigma}}\bm{V}^\top为这四个子空间提供了标准正交基

U=[UrUnr],V=[VrVnr]\bm{U} = [\bm{U}_r \quad \bm{U}_{nr}],\bm{V} = [\bm{V}_r \quad \bm{V}_{nr}]

其中Ur,Vr\bm{U}_r,\bm{V}_r分别包含U\bm{U}V\bm{V}的前r=rankAr = \operatorname{rank} \bm{A}列,我们有

N(A)=R(Vnr),N(A)R(A)=R(Vr)R(A)=R(Ur),R(A)N(A)=R(Unr)\begin{gather*} \mathcal{N}(\bm{A}) = \mathcal{R}(\bm{V}_{nr}), \mathcal{N}(\bm{A})^\perp \equiv \mathcal{R}(\bm{A}^\top ) = \mathcal{R}(\bm{V}_r) \\ \mathcal{R}(\bm{A}) = \mathcal{R}(\bm{U}_{r}), \mathcal{R}(\bm{A})^\perp \equiv \mathcal{N}(\bm{A}^\top ) = \mathcal{R}(\bm{U}_{nr}) \end{gather*}

接下来我们讨论如何计算向量xRn\bm{x} \in \mathbb{R} ^nN(A),N(A)\mathcal{N}(\bm{A}),\mathcal{N}(\bm{A})^\perp上的投影,以及向量yRm\bm{y} \in \mathbb{R} ^mR(A),R(A)\mathcal{R}(\bm{A}),\mathcal{R}(\bm{A})^\perp上的投影

首先,我们回顾一下,给定一个向量xRn\bm{x} \in \mathbb{R} ^ndd个线性无关的向量b1,,bdRn\bm{b}_1,\cdots ,\bm{b}_d \in \mathbb{R} ^nx\bm{x}在由{b1,,bd}\left\{ \bm{b}_1,\cdots ,\bm{b}_d \right\}张成的子空间上的正交投影是向量

x=Bα\bm{x}^* = \bm{B \alpha }

其中B=[b1,,bd]\bm{B} =[\bm{b}_1,\cdots ,\bm{b}_d ]α\bm{\alpha }需要通过解线性方程组得到

BBα=Bx\bm{B}^\top \bm{B \alpha } = \bm{B}^\top \bm{x}

上述方程请参考Section2.3节。特别注意,如果B\bm{B}中的基向量是标准正交的(注意此时B\bm{B}并不一定是方阵,因此它并不一定是正交矩阵),那么有BB=Id\bm{B}^\top \bm{B} = \bm{I}_d,因此线性方程组有一个直接解α=Bx\bm{\alpha } = \bm{B}^\top \bm{x},投影可以简单地计算为x=BBx\bm{x}^* = \bm{BB}^\top \bm{x}

回到我们感兴趣的情况,设xRn\bm{x} \in \mathbb{R} ^n,并且假设我们想要计算x\bm{x}N(A)\mathcal{N}(\bm{A})上的投影。由于N(A)\mathcal{N}(\bm{A})的一组标准正交基由Vnr\bm{V}_{nr}的列给出,根据前面的推理,我们可以立即得到

[x]N(A)=(VnrVnr)x[\bm{x}]_{\mathcal{N}(\bm{A})} = (\bm{V}_{nr}\bm{V}_{nr}^\top )\bm{x}

我们使用符号[x]S[\bm{x}]_{\mathcal{S}}来表示向量x\bm{x}在子空间S\mathcal{S}上的投影。现在,注意到

In=VV=VrVr+VnrVnr\bm{I}_n = \bm{VV}^\top = \bm{V}_r \bm{V}_r^\top + \bm{V}_{nr} \bm{V}_{nr}^\top

因此

PN(A)=VnrVnr=InVrVr=InAAP_{\mathcal{N}(\bm{A})} = \bm{V}_{nr} \bm{V}_{nr}^\top = \bm{I}_n - \bm{V}_r \bm{V}_r^\top = \bm{I}_n - \bm{A}^\dagger \bm{A}

矩阵PN(A)P_{\mathcal{N}(\bm{A})}被称为投影到子空间N(A)\mathcal{N}(\bm{A})的正交投影算子。在A\bm{A}为行满秩的特殊情况下,A=A(AA)1\bm{A}^\dagger = \bm{A}^\top(\bm{AA}^\top)^{-1},那么

PN(A)=InA(AA)1A,A为行满秩P_{\mathcal{N}(\bm{A})} = \bm{I}_n - \bm{A}^\top(\bm{AA}^\top)^{-1}\bm{A},\quad \bm{A} \text{为行满秩}

通过类似的推理,我们得到xRn\bm{x} \in \mathbb{R} ^nN(A)R(A)\mathcal{N}(\bm{A})^\perp \equiv \mathcal{R}(\bm{A}^\top )上的投影由下式给出

[x]N(A)=(VrVr)x=PN(A)x,PN(A)=AA[\bm{x}]_{\mathcal{N}(\bm{A})^\perp } = (\bm{V}_{r}\bm{V}_{r}^\top )\bm{x} = P_{\mathcal{N}(\bm{A})^\perp }\bm{x},P_{\mathcal{N}(\bm{A})^\perp } = \bm{A}^\dagger \bm{A}

特殊情况下

PN(A)=A(AA)1A,A为行满秩P_{\mathcal{N}(\bm{A})^\perp } = \bm{A}^\top(\bm{AA}^\top)^{-1}\bm{A},\quad \bm{A} \text{为行满秩}

类似地,对于yRm\bm{y} \in \mathbb{R} ^m,我们有

[y]R(A)=(UrUr)y=PR(A)y,PR(A)=AAPR(A)=A(AA)1A,A为列满秩[y]R(A)=(UnrUnr)y=PR(A)y,PR(A)=ImAAPR(A)=ImA(AA)1A,A为列满秩\begin{gather*} [\bm{y}]_{\mathcal{R}(\bm{A})} = (\bm{U}_{r}\bm{U}_{r}^\top )\bm{y} = P_{\mathcal{R}(\bm{A})} \bm{y} , P_{\mathcal{R}(\bm{A})} = \bm{AA}^\dagger \\ P_{\mathcal{R}(\bm{A})} = \bm{A}(\bm{A}^\top \bm{A})^{-1}\bm{A}^\top ,\quad \bm{A} \text{为列满秩} \\ [\bm{y}]_{\mathcal{R}(\bm{A})^\perp } = (\bm{U}_{nr}\bm{U}_{nr}^\top )\bm{y} = P_{\mathcal{R}(\bm{A})^\perp } \bm{y} , P_{\mathcal{R}(\bm{A})^\perp} =\bm{I}_m- \bm{AA}^\dagger \\ P_{\mathcal{R}(\bm{A})^\perp} = \bm{I}_m- \bm{A}(\bm{A}^\top \bm{A})^{-1}\bm{A}^\top ,\quad \bm{A} \text{为列满秩} \end{gather*}

子空间上的投影。我们考虑计算给定向量yRm\bm{y} \in \mathbb{R} ^m投影到由给定向量集S=span(a(1),,a(n))Rm\mathcal{S} = \operatorname{span}(\bm{a}^{(1)},\cdots , \bm{a}^{(n)}) \subseteq \mathbb{R} ^m所生成子空间的问题,正如在第Section 2.3 节和第 5.2 节中已经讨论的那样。显然,S\mathcal{S}与将这些向量作为列的矩阵A[a(1),,a(n)]\bm{A} \coloneqq [\bm{a}^{(1)},\cdots , \bm{a}^{(n)}]的列空间相一致,因此我们面临的问题是

minzR(A)zy2\min_{\bm{z} \in \mathcal{R}(\bm{A})} \lVert \bm{z} - \bm{y} \rVert _2

如果rdimS=rank(A)r \coloneqq \operatorname{dim} \mathcal{S} = \operatorname{rank} (\bm{A}),那么A\bm{A}的紧凑形式奇异值分解为A=UrΣVr\bm{A} = \bm{U}_r\bm{\Sigma}\bm{V}^\top_r,并且上式的唯一最小范数解由投影定理给出为

z=[y]S=PR(A)y=AAy=(UrUr)y\bm{z}^* = [\bm{y}]_{\mathcal{S}} = P_{\mathcal{R}(\bm{A})}\bm{y} = \bm{AA}^\dagger \bm{y} = ( \bm{U}_r\bm{U}_r^\top) \bm{y}

其中PR(A)P_{\mathcal{R}(\bm{A})}是到R(A)\mathcal{R}(\bm{A})的正交投影算子。注意到投影z\bm{z}^*y\bm{y}的线性函数,并且定义该投影的矩阵由A\bm{A}SVD的Ur\bm{U}_r因子提供

类似地,假设我们想要找到y\bm{y}S\mathcal{S}^\perp上的投影,即S\mathcal{S}的正交补。由于S=N(A)\mathcal{S}^\perp = \mathcal{N}(\bm{A}^\top ),该问题可写为

minzN(A)zy2\min_{\bm{z} \in \mathcal{N}(\bm{A}^\perp )} \lVert \bm{z} - \bm{y} \rVert _2

方程的解为

z=[y]S=(ImAA)y\bm{z}^* = [\bm{y}]_{\mathcal{S}^\perp } =(\bm{I}_m - \bm{AA}^\dagger )\bm{y}

3. 奇异值分解与优化

在本节中,我们将说明如何通过奇异值分解方便地解决某些优化问题。SVD在优化中的进一步应用将在Section第六章中介绍

3.1 低秩矩阵近似(Low-rank matrix approximations)

ARm,n\bm{A} \in \mathbb{R} ^{m,n}是一个给定矩阵,且rank(A)=r>0\operatorname{rank}(\bm{A}) = r > 0。这里我们考虑用低秩矩阵近似A\bm{A}的问题。具体来说,我们考虑以下秩受限近似问题

minAkRm,nAAkF2s.t. :rank(Ak)=k\begin{gather*} \min _{\bm{A}_k \in \mathbb{R} ^{m,n}} \lVert \bm{A} - \bm{A}_k \rVert _F^2 \\ \text{s.t. :}\operatorname{rank}(\bm{A}_k) = k \end{gather*}

其中1kr1 \leq k \leq r是给定的。令

A=UΣ~V=i=1rσiuivi\bm{A} = \bm{U}\tilde{\Sigma}\bm{V}^\top = \sum_{i=1}^{r}\sigma _i \bm{u}_i \bm{v}_i^\top

A\bm{A}的SVD。接下来我们将证明,上述问题的最优解可以通过将前面的求和截断到第kk项来简单获得,即

Ak=i=1kσiuivi\bm{A}_k = \sum_{i=1}^{k}\sigma _i \bm{u}_i \bm{v}_i^\top

为了证明上述低秩近似结果,注意到Frobenius范数是幺正不变(unitarily
invariant)的,这意味着对于所有YRm,n\bm{Y} \in \mathbb{R} ^{m,n}以及任意正交矩阵QRm,n,RRm,n\bm{Q} \in \mathbb{R} ^{m,n},\bm{R} \in \mathbb{R} ^{m,n},都有YF=QYRF\lVert \bm{Y} \rVert_F = \lVert \bm{QYR} \rVert_F。因此

AAkF2=U(AAkV)F2=Σ~ZF2\lVert \bm{A} - \bm{A}_k \rVert^2_F = \lVert \bm{U}^\top ( \bm{A} - \bm{A}_k V) \rVert^2_F = \lVert \tilde{\Sigma} - \bm{Z} \rVert^2_F

其中Z=UAkV\bm{Z} = \bm{U}^\top \bm{A}_k \bm{V},通过变量变换,问题可以表述为

minZRm,n[diag(σ1,,σr)0r,nr0mr,r0mr,nr]ZF2s.t. :rank(Z)=k\begin{gather*} \min _{\bm{Z} \in \mathbb{R} ^{m,n}} \left\lVert \begin{bmatrix} \operatorname{diag}(\sigma _1,\cdots ,\sigma _r) & \bm{0}_{r,n-r} \\ \bm{0}_{m-r,r} & \bm{0}_{m-r,n-r} \end{bmatrix}-\bm{Z} \right\rVert _F^2 \\ \text{s.t. :}\operatorname{rank}(\bm{Z}) = k \end{gather*}

注意,初等变换不会改变矩阵的秩。可以假设Z\bm{Z}是对角矩阵,因为考虑Z\bm{Z}中的非零非对角元素只会使该问题中的Frobenius范数目标变差。因此,目标变为

f0=diag(σ1,,σr)diag(z1,,zr)F2=i=1r(σizi)2f_0 = \lVert \operatorname{diag}(\sigma _1,\cdots ,\sigma _r) - \operatorname{diag}(z_1,\cdots ,z_r) \rVert _F^2 = \sum_{i=1}^{r}(\sigma _i - z_i)^2

由于约束条件rank(Z)=k\operatorname{rank}(\bm{Z}) = k要求对角线上恰好kk个元素ziz_i非零,最好的选择是设置zi=σi,i=1,,kz_i = \sigma _i,i = 1,\cdots ,k并且zi=0,i>kz_i =0,i>k。通过这种方式,前kkziz_i中和了A的最大奇异值,使得目标中的剩余项仅包含rkr-k个最小奇异值,即一个最优解为

Z=[diag(σ1,,σk,0,,0)0r,nr0mr,r0mr,nr]\bm{Z}^* = \begin{bmatrix} \operatorname{diag}(\sigma _1,\cdots ,\sigma _k,0,\cdots ,0) & \bm{0}_{r,n-r} \\ \bm{0}_{m-r,r} & \bm{0}_{m-r,n-r} \end{bmatrix}

最优的目标为

f0=i=k+1rσi2f_0^* = \sum_{i=k+1}^{r} \sigma _i^2

原问题的最优解可以通过变量变换Z=UAkV\bm{Z} = \bm{U}^\top \bm{A}_k \bm{V}恢复,得到

Ak=UZV=i=1kσiuivi\bm{A}_k = \bm{U} \bm{Z}^* \bm{V}^\top = \sum_{i=1}^{k} \sigma _i \bm{u}_i \bm{v}_i^\top

这确实与我们猜测的一致。按照完全相同的推理,我们实际上可以证明,这个解不仅对于Frobenius范数目标是最优的,对于谱矩阵范数(最大奇异值)也是最优的。也就是说,Ak\bm{A}_k对于以下问题也是最优的(谱范数同样是幺正不变的)

minAkRm,nAAk22s.t. :rank(Ak)=k\begin{gather*} \min _{\bm{A}_k \in \mathbb{R} ^{m,n}} \lVert \bm{A} - \bm{A}_k \rVert _2^2 \\ \text{s.t. :}\operatorname{rank}(\bm{A}_k) = k \end{gather*}

比率

ηk=AkF2AF2=σ12++σk2σ12++σr2\eta _k = \frac{\lVert \bm{A}_k \rVert_F^2}{\lVert \bm{A}\rVert_F^2} = \frac{\sigma _1^2 + \cdots + \sigma _k^2}{\sigma _1^2 + \cdots + \sigma _r^2}

表示A\bm{A}的秩为kk的近似在多大程度上解释了A\bm{A}的总方差(Frobenius范数)。显然,ηk\eta _k与相对范数近似误差有关

ek=AAkF2AF2=σk+12++σr2σ12++σr2=1ηke_k = \frac{\lVert \bm{A} - \bm{A}_k \rVert_F^2}{\lVert \bm{A}\rVert_F^2} = \frac{\sigma _{k+1}^2 + \cdots + \sigma _r^2}{\sigma _1^2 + \cdots + \sigma _r^2} = 1 - \eta _k

备注5.2(到秩亏的最小距离):假设ARm,n,mn\bm{A}\in \mathbb{R} ^{m,n},m \leq n,且满秩,即rank(A)=n\operatorname{rank}(\bm{A}) = n。我们想知道使A+δA\bm{A} +\bm{\delta A}变为秩亏(非满秩)的最小扰动δA\bm{\delta A}。最小扰动的Frobenius范数(或谱范数)衡量了A\bm{A}到秩亏的距离。形式上,我们需要解

minδARm,nδAF2s.t. :rank(A+δA)=n1\begin{gather*} \min _{\bm{\delta A} \in \mathbb{R} ^{m,n}} \lVert \bm{\delta A}\rVert _F^2 \\ \text{s.t. :}\operatorname{rank}(\bm{A} + \bm{\delta A}) = n-1 \end{gather*}

这个问题等价于低秩矩阵近似,其中δA=AkA\bm{\delta A} = \bm{A}_k - \bm{A}。因此解可以很容易得到为

δA=AkA\bm{\delta A}^* = \bm{A}_k -\bm{A}

其中A=i=1nσiuivi\bm{A} = \sum_{i=1}^{n}\sigma _i \bm{u}_i \bm{v}_i^\topA\bm{A}的紧凑型奇异值分解并且Ak=i=1n1σiuivi\bm{A}_k = \sum_{i=1}^{n-1}\sigma _i \bm{u}_i \bm{v}_i^\top,因此,我们有

δA=σnunvn\bm{\delta A}^* = -\sigma _n \bm{u}_n \bm{v}_n^\top

这个结果表明,导致秩亏的最小扰动是一个秩为一的矩阵,而且到秩亏的距离为δAF=δA2=σn\lVert \bm{\delta A}^* \rVert_F = \lVert \bm{\delta A}^* \rVert_2 = \sigma _n

3.2 主成分分析(Principal component analysis)

主成分分析是一种无监督学习技术,广泛用于发现数据集中最重要或最具信息量的方向,也就是数据变化最大方向

考虑下图中的二维数据云:沿着大约45度方向几乎包含了数据的所有变化。相比之下,沿着大约135度方向包含的数据变化很少。这意味着,在这个例子中,数据背后的重要现象本质上沿着45度的方向是一维的。当分析维度大于3的数据时,图形直觉就无济于事,这时主成分分析就显得很有用

5.5.png

xiRn,i=1,,m\bm{x}_i \in \mathbb{R} ^n,i=1,\cdots ,m为希望分析的给定数据点,记数据点的平均值为xˉ=1mi=1mxi\bar{\bm{x}} = \frac{1}{m} \sum_{i=1}^{m}\bm{x}_i,并设X~\tilde{\bm{X}}n×mn \times m阶矩阵并包含居中后的数据点

X~=[x~1x~m],x~ixixˉ,i=1,,m\tilde{\bm{X}} = [\tilde{\bm{x}}_1 \quad \cdots \tilde{\bm{x}}_m],\tilde{\bm{x}}_i \coloneqq \bm{x}_i - \bar{\bm{x}},i=1,\cdots ,m

我们在数据空间中寻找一个归一化方向zRn\bm{z} \in \mathbb{R} ^n,满足z2=1\lvert \bm{z} \rvert^2 = 1,使得中心化数据点在由z\bm{z}决定的直线上的投影方差最大。我们选择在 z\bm{z}的归一化中使用欧几里得范数,是因为它不会偏向任何特定方向

沿z\bm{z}方向的中心化数据的分量由下式给出(参见Section例如第 2.3.1 节)

αi=x~iz,i=1,,m\alpha _i = \tilde{\bm{x}}_i^\top \bm{z},i=1,\cdots ,m

注意,αi z 是 i 在 z 的张成空间上的投影。沿着方向 z 的数据均方变化由此给出


未完待续