MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论

  • 线性代数一直迷的不行……so
  • 这个博客主要参考MIT18.06和18.065两门课进行记录梳理,构建各个知识点的联系。一定要学过一遍线性代数再看,这里着重记录“感觉”,信息密度大,多停多想,不要贪快。没有证明(或许提供了思路)的定理可以当作练习
  • MIT18.06讲了线性代数,18.065讲了线性代数在数据科学中的诸多用法。本文计算机视觉和机器学习有关的内容还参考了很多Prince的Computer vision: models, learning, and inference的附录C,鼓励大家看原书,这是我读过的最清楚的。同时穿插了一些信号、图像方面的知识点

线性变换

(实际上应该先讲线性空间,但是会不明意义,所以先从几何角度建立线性变换的感觉,强烈建议去看3B1B 线性代数的本质理解线性变换,无前置基础)
这里给出TT满足线性变换的条件
T(v+w)=T(v)+T(w)T(cv)=cT(v) \begin{aligned} T(v+w)&=T(v)+T(w) \\ T(cv)&=cT(v) \end{aligned}

  • 只需要确定TT对所有基向量的影响,就能完全掌握这个变换
  • 基变换和坐标变换是一种看法,线性变换是另一种看法
  • 两个定理(对几何直觉构建帮助不大,可以先略去)
    • 对于同一个元素,在基α\alpha下坐标为xx,在基β\beta下坐标为xx',如果β=αP\beta = \alpha P,那么x=Pxx=Px'.
      证明:因为αx=βx\alpha x = \beta x'. PP也叫过渡矩阵或基变换矩阵
    • 如果β=αP\beta = \alpha P,线性变换TT在两组基下的矩阵依次为A,BA,B,即T(α)=αA,T(β)=βBT(\alpha)=\alpha A, T(\beta)=\beta B,则B=P1APB=P^{-1}AP.
      证明:βB=T(β)=T(αP)=T(α)P=αAP=βP1αP\beta B = T(\beta)=T(\alpha P) = T(\alpha)P=\alpha AP=\beta P^{-1}\alpha P,因为β\beta满秩,所以B=P1APB=P^{-1}AP
      AABB是两组基下的同一个变换,它们一定相似,且PP就是相似变换矩阵
  • nn维线性空间和Rn\mathbb R^n都同构,即维数相等的线性空间都同构,线性空间的结构完全由维数决定

线性空间

对向量加法和数乘封闭的非空集合

Ax=b的解空间不构成线性子空间

注意bb的存在,这种情况不满足加法和乘法的封闭法则

矩阵[向量]空间

以矩阵为元素的线性空间

子空间的加和交

对于两个子空间SSUU
dim(S)+dim(U)=dim(S+U)+dim(SU) dim(S) + dim(U) = dim(S+U) + dim(S\cap U)

4个基本子空间

  1. 列空间Column Space C(A)C(A): all AxAx
  2. 行空间Raw Space C(AT)C(A^T)
  3. 零空间Null space of a matrix N(A)N(A): Ax=0Ax=0 for all xx
  4. 零空间Left Null space N(AT)N(A^T): xTA=0x^TA=0 for all xx
    MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论
    注意Ax=0Ax=0就已经揭示了C(AT)C(A^T)N(A)N(A)是正交的。

A=CR分解,行秩等于列秩

对于ARm×nA\in \mathbb R^{m\times n},如果列秩为rrrr维的列空间中的无关列向量拼成矩阵C=[cv1,,cvr]C=[c_{v_1}, \cdots, c_{v_r}]AA的每一列可以由CC中的列线性表达,则有A=CRA=CR,其中CRm×r, RRr×nC\in \mathbb R^{m\times r},\ R \in \mathbb R^{r\times n}. 注意该式也可看作AA的每一行由RR中的rr行进行线性组合得到,所以行空间维度不超过rr,也即行秩不超过列秩;类似方法可证列秩不超过行秩。即证明==r行秩=列秩=r。所以A=CRA=CR分解中CC是列无关的,RR也是行无关的

  • CCRR两个角度看AA的构成,也说明了秩的乘法性质:rank[AB]min{rank[A],rank[B]}rank[AB]\leqslant \min\{rank[A], rank[B] \}
  • Ax=bAx=b有解即bbAA的列空间中

几个性质

  • N(BA)=N(A)N(BA)=N(A) if BB is invertable
  • 行空间和列空间维度都为rr
  • 行空间与零空间正交,所以零空间N(A)N(A)维度为nrn-r,也即线性方程组Ax=0Ax=0解的构成维度;同理左零空间N(AT)N(A^T)与列空间正交,维度为mrm-r

子空间投影

  • 对于向量aabbbbaa上投影向量p为
    aaTbaTa=aaTaTab=Pb(1)a\frac{a^Tb}{a^T a}=\frac{aa^T}{a^Ta}b=Pb \tag{1}
    其中PP看作是投影矩阵

最小二乘问题

  • 求解Ax=bAx=b时,如果无解,bb不在C(A)C(A)当中,那么改求Ax^=pA \hat x=p,其中ppbbC(A)C(A)上的投影。注意到bAx^b - A \hat x垂直于C(A)C(A),在Left Null Space。所以AT(bAx^)=0A^T(b-A\hat x)=0,即ATAx^=ATbA^TA\hat x=A^T b
  • 所以x^=(ATA)1ATb\hat x = (A^TA)^{-1}A^T bp=Ax^=A(ATA)1ATb=Pbp=A\hat x=A (A^TA)^{-1}A^T b=Pb,注意该式和式(1)的相似性. P=A(ATA)1ATP=A(A^TA)^{-1}A^T称之为投影矩阵. x^\hat x也称之为AA的左逆
  • 注意PP的两个性质,这两个性质似乎也是判定投影矩阵的充分条件:PT=P,P2=PP^T=P, P^2=P,因为投影两次的结果和投影一次一样。这也说明投影矩阵的特征向量正交,且又因为P2=PP^2=P,特征值只能为0或1,这也是投影矩阵的充要条件
  • 因为b=p+eb=p+e. (ee是投影误差),而p=Pbp=Pb,所以e=(IP)be=(I-P)b. 且有 (IP)2=IP,(IP)T=IP(I-P)^2=I-P, (I-P)^T=I-P. 注意和PP的类似性
  • ATAA^TA is invertible iff AA has independent columns. 一个可靠的证明方法是两者的Null Space相同. 这里似乎r(ATA)=r(A)r(A^TA)=r(A)是成立的

分析角度看最小二乘问题

Ax=bAx=b
以最小二乘形式看待
x^=arg minx[(Axb)T(Axb)]=arg minx[xTATAx2xTATb] \begin{aligned} \hat x &= \argmin_x [(Ax-b)^T(Ax-b)] \\ &= \argmin_x [x^TA^TAx - 2x^TA^Tb] \end{aligned}
标量对xx求导得
x=(ATA)1ATb x=(A^TA)^{-1}A^Tb
结果和投影角度是一样的。
其中AA的行数如果比xx少,那么奇异

应用:线性回归(摘自PRML P143)

几何解释

记训练集标注为t=(t1,...,tN)T\bf t = (t_1, ..., t_N)^T,并构成标注空间RN\mathbb R^NS\mathcal{S}是能在训练集的标注空间中用广义线性回归张成的超平面,也即训练集的列空间

  • 这里线性回归的基可以是带核φ(X)\varphi (X)的,实际上带核的仍然是张成超平面,而不是曲面,超平面的第ii个基由φi(X)\varphi_i(X)决定,φi\varphi_i表示第ii个特征,XX表示所以的N个数据。
    这样线性回归是求了标注空间中训练集所在位置在超平面上的投影,垂直距离即为误差向量,范数为最小二乘的结果。
    MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论
  • 注意误差向量垂直于S\mathcal{S},所以如果截距项全1向量在SS当中,那么必有误差向量自身之和为0. 也即线性回归拟合均值一定等于标注均值
多重共线性缺陷

之前只知道多重共线性不好,到底哪里不好一直说不清楚。这里把它讲清楚。
多重共线性的灾难在于参数值爆炸
- 我们记训练集(经过核变换后)为ΦRN×M\Phi \in \mathbb{R}^{N \times M},其中MM是特征维度。用r()r(\cdot)表示秩,r(Φ)<Mr(\Phi)<M时,即产生了多重共线性问题,也即特征之间线性相关。因为r(Φ)=r(ΦTΦ)=r(ΦΦT)r(\Phi) = r(\Phi^T \Phi) = r(\Phi \Phi^T),(注:方法为证明Φx=0\Phi x =0ΦTΦx=0\Phi^T \Phi x= 0同解)。所以如何判断r(Φ)r(\Phi)MM的关系,只需要计算ΦTΦ\Phi^T \Phi是否奇异。
- 实际上,如果ΦTΦ\Phi^T \Phi接近奇异,即行列式很小,那么线性回归的参数闭式解(ΦTΦ)1ΦTt(\Phi^T \Phi)^{-1} \Phi^T \bf t会非常大
- 从几何角度解释,即两个基向量方向非常近,那么为了表达出与这两个基向量几乎垂直的方向上的位置,这两个向量需要不断抵消,系数会增长非常快!

这里如果无法求逆,则可以求伪逆,参考后文

行列式和逆

最基本的性质

  1. det[I]=1det[I]=1
  2. 交换两行,行列式取反
  3. a) 某一行乘kk倍,行列式乘kk倍.
    b) det[ai1+ai2]=det[ai1]det[ai2]det \begin{bmatrix}\vdots \\ a_{i_1}+a_{i_2} \\ \vdots\end{bmatrix}=det \begin{bmatrix}\vdots \\ a_{i_1} \\ \vdots\end{bmatrix}det \begin{bmatrix}\vdots \\ a_{i_2} \\ \vdots\end{bmatrix}

用这三条性质能推出剩下一大堆东西,包括基本算法和其他性质,都能推出来,列几个常用的性质

  • det[AT]=det[A]det[A^T]=det[A]
  • det[AB]=det[A]det[B]det[AB]=det[A]det[B],所以det[A1]=1/det[A]det[A^{-1}]=1/det[A]
  • 不满秩矩阵的行列式为0。由此可证det[ai1ai2]=det[ai1ai1+ai2]det \begin{bmatrix}\vdots \\ a_{i_1} \\ \vdots \\ a_{i_2} \\\vdots\end{bmatrix}=det \begin{bmatrix}\vdots \\ a_{i_1} \\ \vdots \\ a_{i_1}+a_{i_2} \\\vdots\end{bmatrix}

行列式表示矩阵组成的体积

可以证明体积也满足上述三个重要性质。于是得证。(3b不是很好证)
建议参考3B1B——线性代数的本质

  • 三阶行列式即混合积:a×(bc)=det[[a,b,c]]a\times (b\cdot c)=det[[a,b,c]]

行列式算法

对于方阵ARn×nA \in \mathbb{R}^{n\times n},一种写法:
det[A]=n! terms±a1αa2βanω det[A]=\sum_{n! \text{ terms}} \pm a_{1\alpha}a_{2\beta}\cdots a_{n\omega}
其中
(α,β,γ,,ω)=perm of (1,2,,n) (\alpha, \beta,\gamma, \cdots,\omega) = \text{perm of } (1,2,\cdots,n)
另一种写法:
det[A]=a11C11+a12C12++a1nC1n det[A]=a_{11}C_{11} + a_{12} C_{12} + \cdots + a_{1n} C_{1n}
这里只以第一行为例,也可以取其他行。CijC_{ij}是第ii行第jj列的代数余子式cofactor,注意有正有负。

逆矩阵

ACT=det[A]IAC^T=det[A]I
注意CC是代数余子式形成的矩阵,CTC^T称之为伴随矩阵Adjugate Matrix. 正确性可以自行验证.

  • 伴随矩阵和逆矩阵只差一个系数。然而,伴随矩阵对不可逆的矩阵也有定义,并且不需要用到除法(摘自百度百科)

克拉默法则

Ax=b Ax=b
有唯一解时
x=A1b=1det[A]CTb x=A^{-1}b=\frac{1}{det[A]}C^Tb
注意CTbC^Tb中代数余子式的含义,可以得到
xi=det[Bi]det[A]Bi=[A1,,A(i1),b,A(i+1),,An] x_i=\frac{det[B_i]}{det[A]} \\ B_i = \begin{bmatrix} A_{\cdot 1}, \cdots, A_{\cdot (i-1)}, b, A_{\cdot (i+1)}, \cdots, A_{\cdot n} \end{bmatrix}
几何解释参考3B1B——线性代数的本质

正交矩阵

QQ是方阵,且每一列的范数为1,不同列正交。故有QTQ=I,Q1=QTQ^TQ=I,Q^{-1}=Q^T
例子:哈达玛矩阵,参考博客

  • 实际上每一行范数也为1,也与其他行正交
  • 复空间的正交矩阵叫做酉矩阵unitary,即满足AˉTA=I\bar A^TA=I
  • 正交矩阵特征值绝对值都为1,因为(Qx)TQx=λˉλxˉTx\overline {(Qx)}^TQx=\bar \lambda\lambda \bar x^TxxˉTx>0\bar x^T x>0,所以λ=1\|\lambda\|=1. 注意旋转矩阵这一类,考虑其旋转和特征向量的物理意义,除了II外,无法找出实特征向量和特征值
  • 注意:如果QTQ=IQ^TQ=I,当QQ不为方阵的时候,不一定能推出QQT=IQQ^T=I

旋转矩阵与正交变换

正交矩阵行列式绝对值为1,所以线性变换体积不变。左乘的线性变换效果是可看作是一种反演(改变手性)+旋转,这个在SVD中会有感受。行列式为1时,为旋转矩阵,为-1则包含了反演
正交矩阵的线性变换叫正交变换,正交变换有以下好性质:

  • 距离不变
  • 夹角不变
  • 上述两条也能推出内积不变,即x1Tx2=(Ax1)T(Ax2)x_1^Tx_2=(Ax_1)^T(Ax_2)

反射矩阵

即正交对称阵rT=rr^T=r.

  • 注意这意味着特征值都为实数±1,且特征向量都存在。这是一个不带旋转的变换,如果带旋转的话不可能特征值都为±1

A=QR与Gram-schmitt正交化

QQ是正交矩阵,其中RR是上三角矩阵.
这个上三角矩阵成立的原因可以思考一下Gram-schmitt正交化的过程,对QQ的列向量q1,q2,,qnq_1,q_2,\cdots, q_n一个一个进行正交。每一次正交只依赖于前面的列向量

应用:信号处理中的变换

信号处理中有一大类变换是线性变换,其中的部分变换是正交变换,可以看作是对原始信号xx施加了一组新的标准正交基,例如y=ATxy=A^Tx,新的基为正交矩阵AA中的各列,而且AAATA^T互为正反变换。实际例子包括:

  • 傅里叶变换,AA中元素apq=e2πipq/Na_{pq}=e^{2\pi i pq / N},这里p,qp,q从0计数,注意AA是复数矩阵,虽然对称,但不是共轭对称,所以不是埃尔米特矩阵,但它是酉矩阵,反变换为AˉT\bar A^T
  • 小波变换。参考我的另一篇博客:小波变换——公式整理和简单介绍

特征值与特征向量

对于方阵ARn×nA \in \mathbb{R}^{n\times n}
Av=λv Av=\lambda v
vv为特征向量,λ\lambda为对应特征值

  • λ=tr[A]\sum \lambda=tr[A]
  • λ=det[A]\prod \lambda = det[A]
  • 对称矩阵特征值一定为实数,反对称矩阵则为零或纯虚数;其他矩阵介于对称与反对称之间
  • AAATA^T的特征值相同,但特征向量不一定,因为Left Null Space not equals to Null Space.

特征值分解

A=VΛV1 A=V\Lambda V^{-1}
其中,VV是特征向量列拼接组成的矩阵,Λ\Lambda是对应特征值。这里需要假设nn个线性无关的特征向量存在,即SS可逆。

  • Ak=VΛkV1A^k=V \Lambda ^k V^{-1},所以AkA^k特征向量不变,特征值乘kk次。
  • Aku=(VΛk)(V1u)=(λ1v1,,λnvn)(c1,,cn)T=i=1nciλikviA^k u=(V\Lambda^k)( V^{-1}u)=(\lambda_1 v_1,\cdots,\lambda_n v_n)(c_1,\cdots,c_n)^T=\sum_{i=1}^{n}c_i \lambda_i^k v^i
  • AA的所有特征值都不同,那么一定有nn个线性无关特征向量(可对角化);但特征值相同时(代数重数大于1),需要再研究,线性无关的特征向量可能不够,即几何重数低于代数重数
  • 特征向量组唯一当且仅当所有的特征值都是唯一的
  • 给定特征值和特征向量唯一确定一个矩阵,可以从几何角度感知,参考3B1B线性代数本质

实对称矩阵的特征值分解

谱定理Spectral Theorem

如果AA是实对称矩阵,AA一定可以分解成nn个线性无关的正交实特征向量和实特征值(不一定都不同)
A=QΛQT A = Q\Lambda Q^T

  • 上述实对称矩阵可以放松为A=AˉTA=\bar A^T,其中Aˉ\bar AAA的共轭矩阵。满足上述条件的矩阵也叫埃尔米特矩阵Hermitian Matrix或自共轭矩阵
  • 如果AA是反对称矩阵,特征向量也正交,注意反对称矩阵的特征值为0或纯虚数
  • 实际上当AA满足AAˉT=AˉTAA\bar A^T=\bar A^TA时,特征向量都正交,这样的矩阵叫正规矩阵normal matrix,特例还有正交矩阵。
主轴定理

QQAA的特征向量组成的正交矩阵,作用在单位圆上后,可以将AA看作是沿viv_i方向扩展λi\lambda_i
MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论
解释:Au=QΛQTuAu=Q\Lambda Q^T u,从右往左看,这里正交矩阵QTQ^T对单位圆uu的旋转作用看不出来,Λ\Lambda把坐标轴拉长,QQ再把拉长后的椭圆旋转

  • Λ\Lambda通常按降序排列
  • 矩阵奇异当且仅当有0特征值
  • 所有特征值为正,则正定;不为负,则半正定;不为正,则半负定;为负,则负定。感受一下正负定对线性变换的影响
实对称矩阵的谱(spectral)分解

实对称矩阵的特征分解:
S=(QΛ)QT=iλiqiqiT S=(Q\Lambda) Q^T = \sum_i \lambda_i q_i q_i^T
注意谱是对称的,并且全是秩一矩阵

且有
Sqi=(iλiqiqiT)qi=λqi Sq_i =( \sum_i \lambda_i q_i q_i^T) q_i= \lambda q_i

特征值分解在马尔科夫矩阵中的应用

马尔科夫矩阵AA

  1. 每列的和为1
  2. 所有元素大于0

物理意义是列到行概率转移。

  • 上述定义1保证了1是特征值,原因在于AIA-I奇异. 并且其对应的特征向量每个值都不小于0(总之不能异号),根据马尔科夫矩阵的物理意义可以理解。特征值为1的特征向量也是稳态Au0A^{\infty}u_0的组成部分
  • 两条定义共同保证了特征值不大于1. 注意马尔科夫矩阵在无限次放后的稳态性,An=VΛkV1A^n=V \Lambda ^k V^{-1},特征值必须收敛

相似矩阵

ABA=MBM1A \sim B \Leftrightarrow A=MBM^{-1}
注意相似的传递性,这有点像是抽象代数里的群作用在集合上形成的“轨道”,相似的矩阵在一个轨道里

  • 相似矩阵特征值相同。对于Ax=λxAx=\lambda x,有M1AMM1x=λM1xM^{-1}AMM^{-1}x=\lambda M^{-1}x,进而B(M1x)=λM1xB(M^{-1}x)=\lambda M^{-1}x,这说明AA的特征值λ\lambda也是BB的特征值。特征向量不同。
  • 上述命题反过来不成立,如果特征值有重根,特征向量个数有可能不同。当特征向量不够的时候,甚至无法对角化。例如
    [4104] \begin{bmatrix} 4 & 1\\ 0 & 4 \end{bmatrix}
    这也叫Jordan标准型Jordan form
  • 每个矩阵都像相似于一个Jordan矩阵,Jordan矩阵由Jordan块组成。而Jordan块数则等于不同的特征向量数。这里仅mark一下,不再展开(等用到时再详细了解吧)
  • ABABBABA特征值相同,证明方法是B(AB)B1=BAB(AB)B^{-1}=BA,两者相似,这里假定BB可逆. SVD和这里有一定的相通之处,即ATA,AATA^TA, AA^T有相同非零特征值。

正定矩阵

一种特殊的实对称矩阵。几个等价定义:

  • x0,xTSx>0\forall x\neq 0, x^TSx>0,即二次型quadratic form(相对于线型linear form)大于0
  • 特征值全为正,即S=QΛQTS=Q\Lambda Q^TΛ\Lambda对角线元素全正。所以迹恒正
  • 主元pivots全为正。主元实际上和LU分解,和二次型配方都是一一对应的
  • 顺序主子式leading determinants全为正。注意主元和顺序主子式的关系,前kk主元的乘积是第kk顺序主子式,可以用高斯消元法解释,高斯消元法不会影响行列式。如果有一个主元为负,那么该主子式为负
  • S=ATAS=A^TAAA列无关. 如果AA不满秩,则半正定positive semi definite.考虑定义1和N(A)N(A)易证. 所以协方差总是半正定,就像是方差总是正数

性质:

  • 如果A,BA,B都正定,那么A+BA+B正定,用定义1秒证
  • 正定矩阵可逆,且逆矩阵正定

说明:

  • 二次型xTSxx^TSx也叫做能量Energy,许多机器学习和深度学习的问题就是在找参数xx来最小化能量
  • 正定时二次型是凸函数convex function

奇异值分解(SVD分解)

对任意m×nm\times n矩阵AA,总能
A=UΣVT A=U\Sigma V^T
其中,UUmm阶正交矩阵,Σ\Sigmam×nm\times n对角矩阵,VVnn阶正交矩阵。奇异值分解并不唯一,往往让Σ\Sigma对角元素沿着从大到小的顺序排,在某些情况下唯一。参考:可逆矩阵的奇异值分解唯一吗?存在奇异值分解唯一的矩阵吗?

  • 性质:ATA=V(ΣTΣ)VTA^TA=V(\Sigma^T\Sigma)V^TAAT=U(ΣΣT)UTAA^T=U(\Sigma\Sigma^T)U^T
  • 如果AA是正定,则SVD即是正交特征分解

代数解释

如果rank[A]=rrank[A]=r,奇异值分解让AA把行空间C(AT)C(A^T)的一组rr个单位正交基同构映射到列空间C(A)C(A)中去得到另一组rr个单位正交基,注意C(A)C(A)C(AT)C(A^T)维度相同,即
A[v1,v2,,vr]=[u1,u2,,ur]diag[σ1,σ2,,σr](2) A[ v_1, v_2, \cdots , v_r] =[u_1,u_2,\cdots,u_r]diag[\sigma_1, \sigma_2, \cdots, \sigma_r] \tag{2}
也可写成
AV=UΣ AV=U\Sigma
其中VV中多余的列如vr+1,,vnv_{r+1}, \cdots, v_nAA的零空间N(A)N(A)中拿即可,其维度正好是nrn-r,而且所有列都正交;UU中多余的列类似,从左零空间N(AT)N(A^T)中拿. 对于i>ri>rΣii=0\Sigma_{ii} = 0rr列之后等式两边全是0

  • 如何找出VV的前rr列?
    ATAA^TA的非零特征值对应的特征向量中拿,ATA=V(ΣTΣ)VTA^TA=V(\Sigma^T \Sigma)V^TVV也即实对称矩阵ATAA^TA的特征向量,从中也能看出Σ\Sigma

    • σi2vi=AT(Avi)\sigma_i^2 v_i=A^T(Av_i),所以viv_i一定在行空间C(AT)C(A^T)
  • 如何找出UU的前rr列?
    ui=Aviσiu_i=\frac{Av_i}{\sigma_i}

    • 可以看出uiu_i一定在AA的列空间里
    • 可以证明这rr列是单位正交的,不妨记前rr列的各个矩阵为VrRn×r, UrRm×r, ΣrRr×rV_r \in \mathbb R^{n\times r}, \ U_r \in \mathbb R^{m\times r},\ \Sigma_r \in \mathbb R^{r\times r},则Ur=AVrΣr1UrTUr=(AVrΣr1)TAVrΣr1=Σr1VrT(VΣTΣVT)VrΣr1=(Σr1VrTVΣT)(Σr1VrTVΣT)TU_r=AV_r \Sigma_r^{-1} \\ U_r^T U_r = (AV_r \Sigma_r^{-1})^TAV_r \Sigma_r^{-1}=\Sigma_r^{-1} V_r^T(V\Sigma^T \Sigma V^T) V_r \Sigma_r^{-1}=(\Sigma_r^{-1}V_r^TV\Sigma^T)( \Sigma_r^{-1} V_r^TV\Sigma^T)^T.
      其中VrTV=Ir×nV_r^TV=I_{r\times n}Σr1Ir×n=Σr1\Sigma_r^{-1}I_{r\times n} = \Sigma_r^{-1}, Σr1ΣT=Ir×r\Sigma_r^{-1}\Sigma^T=I_{r\times r},所以UrTUr=Ir×rU_r^TU_r=I_{r\times r}. 即证明了这rr列一定单位正交,式(2)是一定可以构造出来的
  • 注意VVUU一起构成了四个基本子空间,SVD实现了四个基本子空间的分解

  • U:[C(A),N(AT)]U: [C(A), N(A^T)]: , V[C(AT),N(A)]V: [C(A^T), N(A)]

  • 从矩阵分解的角度揭示了矩阵从四个记本子空间中如何生成的,这也是SVD各种秒用的原理之一

几何解释

从线性变换的角度看奇异值分解揭示了矩阵的组成方法, 如下图所示:

  • VTV^T 旋转(+反演,反射与否可用行列式判断,下同)
  • LL 伸缩每个维度(假定LL对角线都是正值,也即把反演放到旋转中去)
  • UU 旋转(+反演)

MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论

  • 只改变某部分,对最终矩阵A3A_3 的影响
    MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论

奇异值σ\sigma

  • 个数:min(m,n)min(m, n)
  • 非0奇异值的数量是矩阵的秩
  • 最小奇异值与最大奇异值之比反映了可逆性的度量,称为条件数
  • 根据行列式的定义,知,奇异值的乘积为行列式(因为只有LL拉伸了矩阵,UUVV不改变面积)

A1=VL1UT A^{-1}=VL^{-1} U^T
从几何角度和数值角度都很直观

极分解Polar decomposition生成SVD

A=QS A=QS
其中QQ正交(酉矩阵),SS半正定矩阵(半正定埃尔米特矩阵)。
所以
A=QVΛVˉT A=QV\Lambda \bar V^T
QV=UQV=U正交,VV正交,这也即SVD分解

  • 关于求SSAˉTA=SˉTQˉTQS=S2\bar A^TA=\bar S^T \bar Q^T QS=S^2,用矩阵开方的知识,正规矩阵都可以开方,S=AˉTA=VΛ2VˉT=VΛVˉTS=\sqrt {\bar A^TA} = \sqrt {V\Lambda ^2 \bar V^T}=V\Lambda \bar V^T

矩阵范数

这里插入矩阵范数,以便应用部分使用

范数定义

满足这三条的叫做范数

  • A0\|A\| \geqslant 0
  • cA=cA\|cA\|=|c| \|A\|
  • A+BA+B\|A+B\| \leqslant \|A\|+\|B\|

如果定义A=(i,jai,jp)1/p\|A\|=(\sum_{i,j} a_{i,j}^p)^{1/p},当p<1p<1时,会违背第三条性质,所以不是范数;p1p\geqslant 1是可以的

2范数(谱范数)

A2=maxxAx2x2=σ1 \|A\|_2=\max_x\frac{\|Ax\|_2}{\|x\|_2}=\sigma_1
即最大的奇异值,不妨假定x2=1\|x\|_2=1,证明方法为记x=iλivix=\sum_i {\lambda_i}v_i,则iλi2=1\sum_i \lambda_i^2=1,根据SVD分解性质有Ax=iλiσiuiAx=\sum_i \lambda_i\sigma_i u_i,所以Ax2=iλi2σi2σ1\|Ax\|_2=\sqrt{\sum_{i} \lambda_i^2\sigma_i^2}\leqslant \sigma_1

F范数Frobenius Norm

AF\|A\|_F是所有元素平方和再开方,AF=tr[ATA]=tr[VΣTΣVT]\|A\|_F=\sqrt {tr[A^TA]|}=\sqrt {tr[V\Sigma^T \Sigma V^T]},根据迹的轮换对称性 tr[AB]=tr[BA]tr[AB]=tr[BA],所以AF=tr[VTVΣTΣ]=i=1rσ2\|A\|_F=\sqrt {tr[V^TV\Sigma^T \Sigma ]}=\sqrt {\sum_{i=1}^r \sigma^2}

核范数Nuclear Norm

AN=i=1rσi \|A\|_{N}=\sum_{i=1}^r \sigma_i

这三种范数在正交变换下不变

QA=(QU)ΣVTQA=(QU)\Sigma V^T,这是QAQA的SVD分解,如果范数只由Σ\Sigma决定,那么QQ不影响范数

向量特例

这三个范数相等

  • 基追踪问题Basis persuit
    minxps.t.Ax=bp=1 or 2 min\|x\|_p\qquad s.t. \quad Ax=b \\ p=1\ or\ 2
    这个问题似乎不太好解

应用:数据压缩与主成分分析Principal Components Analysis(PCA)

这里矩阵可以是一幅图像或DataFrame型数据。如果rank[A]=rrank[A]=r,那么
A=UΣVT=i=1rσiuiviTA=U\Sigma V^T = \sum_{i=1}^r \sigma_i u_i v_i^T
有点像谱分解,上述σ\sigma按绝对值从大到小排列,越大的σ\sigma占据了数据的主要成分。注意uiviTF=tr[viuiTuiviT]=tr[viviT]=tr[viTvi]=1\left\|u_i v_i ^T \right\|_F=tr[v_i u_i^T u_i v_i^T]=tr[v_i v_i^T]=tr[v_i^T v_i]=1. 所以每一个谱的数据量主要由σ\sigma衡量。可以只保留最大的kkσ\sigma,对AA进行有损压缩得到Ak=UkΣkVkTA_k=U_k \Sigma_k V_k^T

  • Eckart-Young定理
    如果Ak=UkΣkVkTA_k=U_k \Sigma_k V_k^T,对任意秩kk矩阵,
    ABAAk \|A-B \| \geqslant\|A-A_k\|
    AkA_k是秩kk矩阵中最接近AA的。

主成分分析:
假设存在数据集X=[x1,,xn]Rm×nX=[x_1,\cdots,x_n] \in \mathbb R^{m\times n}mm是特征数,nn是样本数,希望通过线性变换WRk×mW \in \mathbb R^{k\times m}把特征降低到kk维,左乘得到降维结果WXWX,并希望降维再升维度的数据能通过线性变换尽可能代表原始数据,距离最小。
因为降维后的矩阵秩不超过kk,如果再升维回去,秩仍然不超过kk,根据Eckart-Young定理,XkX_k是最接近XX的矩阵。
其中Xk=UkΣkVkTX_k=U_k \Sigma_k V_k^T通过SVD分解得到。
什么样的线性变换能在降维和升维后得到XkX_k

  • 降维:实际上可以取UkTU_k^T左乘,UkTXU_k^T X把数据集降维到Rk×n\mathbb R^{k\times n},即uiTxu_i^Tx是降维后第ii维的结果
  • 升维:取矩阵UkU_k作为升维矩阵,Uk(UkTX)=Uk(UkTU)ΣVT=UkIk×mΣVT=Uk[Σk,0k×(nk)]VT=UkΣkVkT=XkU_k(U_k^TX)=U_k(U_k^TU)\Sigma V^T=U_kI_{k\times m}\Sigma V^T=U_k [\Sigma_{k}, \textbf{0}_{k\times (n-k)}]V^T=U_k\Sigma_kV_k^T=X_k.

所以这样的变换是成立的,即对XXTXX^T进行特征分解,取前kk大特征值对应的特征向量u1,,uru_1, \cdots, u_r作为降维的投影向量。
如果变换之前,先对XX减去各个特征均值,得到X^=Xμm11×n\hat X=X-\mu_{m} \textbf 1_{1\times n},即X^1n=0\hat X \textbf 1_{n}=0,再进行降维,这就是PCA,注意X^X^T/(m1)\hat X \hat X^T/(m-1)是特征间的协方差矩阵

应用:主方向/最小值方向问题

主方向问题:
arg maxbAbs.t.b=1 \argmax_b \|Ab\| \qquad s.t. \quad \|b\|=1
最小值方向问题类似

  • 根据限制,bb必须在单位圆上,问题变为找一个方向,对应变换后的椭圆长轴。
    根据上述SVD分解,待求方向经过VTV^T变换后,为坐标系主轴方向X=(1,0,...,0)X=(1, 0, ..., 0)
    把它变回去,该方向为(VT)1X=VX(V^T)^{-1}X=VX,即VV的第一列。
  • 同理,最小值方向为VV的最后一列

应用:正交Procrustes问题

寻找正交矩阵Ω\Omega,使
Ω^=arg minΩΩABF \hat \Omega =\argmin_\Omega \left\|\Omega A-B \right\|_F
首先
Ω^=arg minΩtr[(ΩAB)T(ΩAB)]=arg maxΩtr[ΩTBAT] \begin{aligned} \hat \Omega &=\argmin_\Omega tr\left[(\Omega A-B)^T(\Omega A-B)\right] \\ &=\argmax_\Omega tr \left[\Omega^TBA^T\right] \end{aligned}
计算SVD分解BAT=ULVTBA^T=ULV^T,则
Ω^=arg maxΩtr[ΩTULVT]=arg maxΩtr[VTΩTUL] \begin{aligned} \hat \Omega &=\argmax_\Omega tr\left[\Omega^T ULV^T\right]\\ &= \argmax_\Omega tr\left[V^T\Omega^T UL\right] \end{aligned}
注意到
tr[VTΩTUL]=tr[ZL]=i=1Iziilii tr \left[V^T\Omega^T UL \right] = tr \left[ZL \right] = \sum_{i=1}^I z_{ii}l_{ii}
其中Z=VTΩTUZ=V^T\Omega^TUZZ是三个正交矩阵乘积,所以也正交,对角线上每个数值小于等于1,所以选择Z=IZ=I来最大化上述目标,全局解为
Ω^=UVT \hat \Omega = UV^T

  • 本问题的一个特殊形式是给定方阵BB,寻找最接近的正交矩阵Ω\Omega,即最优化
    Ω^=arg minΩΩBF \hat \Omega=\argmin_\Omega \|\Omega - B\|_F
    用上述方法,得到解为Ω^=UVT\hat\Omega=UV^T,其中B=ULVTB=ULV^T

左右逆和伪逆

左右逆

对于ARm×nA \in \mathbb R ^{m\times n}

  • 左逆: (ATA)1ATRn×m(A^TA)^{-1}A^T \in \mathbb R^{n\times m},这需要ATAA^TA可逆,也即rank[A]=nrank[A]=n
  • 右逆: AT(AAT)1Rn×mA^T(AA^T)^{-1} \in \mathbb R^{n\times m},需要rank[AT]=rank[A]=mrank[A^T]=rank[A]=m

伪逆

考虑行空间和列空间,从行空间中拿元素xxAxAx一定在列空间中。而且xxAxAx能构成一一对应,两个空间维度相同。证明:

  • 对于x1,x2C(AT)x_1,x_2 \in C(A^T)Ax1Ax2Ax_1\neq Ax_2,否则A(x1x2)=0A(x_1-x_2)=0x1x2x_1-x_2不可能在N(A)N(A)当中,所以单射!
  • 另外只取xC(AT),Axx\in C(A^T), Ax就能张成列空间,证明:
    对于xRnx'\in \mathbb R^{n}AxAx'是表示各种列向量的组合情况,必然能张成列空间。另一方面,必有分解x=x+xNx'=x+x_N,其中xC(AT),xNN(A)x\in C(A^T),x_N \in N(A)Ax=Ax+AxN=AxAx'=Ax+Ax_N=Ax,也即只需要AxAx就能张成列空间。满射!
  • 所以双射,即一一对应成立。

此时限制在这两空间上的逆就是伪逆,即对于Ax=yAx=y,伪逆A+A^+使x=A+y=(A+A)xx=A^{+}y=(A^+A)x
伪逆有很多求法,一种求法是SVD分解:
A=UΣVTA=U\Sigma V^TU,VU,V可逆, Σ+\Sigma^+对角线元素为1/σ1,1/σ2,,1/σr,0,,01/\sigma_1, 1/\sigma_2, \cdots, 1/\sigma_r, 0, \cdots,0,其余元素为0,注意ΣRm×n,Σ+Rn×m\Sigma \in \mathbb R^{m\times n},\Sigma^+ \in \mathbb R^{n\times m}A+=VΣ+UTA^+=V\Sigma^+ U^T

  • AV=UΣ=[u1σ1,,urσr,0,,0]AV=U\Sigma=[u_1\sigma_1, \cdots, u_r\sigma_r, 0,\cdots,0]AAvr+1,,vnv_{r+1}, \cdots, v_n变换成0,这是必然的,因为vr+1,,vnv_{r+1},\cdots,v_n是在N(A)N(A)中。有趣的是A+U=VΣ+=[v1/σ1,,ur/σr,0,,0]A^+U=V\Sigma^+=[v_1/\sigma_1, \cdots, u_r/\sigma_r, 0, \cdots, 0],这说明A+A^+ur+1,,umu_{r+1},\cdots,u_m变换为0,进一步说明:
    • 性质1: A+A^+N(AT)N(A^T)变换成0

应用:无需ATAA^TA可逆的最小二乘问题

对于Ax=bAx=b,有最优解x^=(ATA)1ATb\hat x = (A^TA)^{-1}A^Tb,这需要ATAA^TA可逆。用伪逆可以消除该限制,而且思考过程非常漂亮!
重新审视最小二乘问题,仍用投影的思路,但是换一个思考方式。记b=bC+bNb=b_C+b_N,其中bCC(A),bNN(AT)b_C \in C(A), b_N \in N(A^T),根据投影,Ax=bAx=bAx=bCAx=b_C同解。
如果取x=A+bCx=A^+b_C,则Ax=AA+bCAx=AA^+b_C,因为bCC(A)b_C \in C(A),所以AA+bC=bCAA^+b_C=b_C,说明x=A+bCx=A^+b_CAx=bCAx=b_C的解,也即Ax=bAx=b的解。
根据性质1,A+bC=A+bA^+b_C=A^+b,所以x=A+b=VΣ+Ubx=A^+b=V\Sigma^+UbAx=bAx=b的一个最小二乘可行解

  • 讨论:
    1. 如果ATAA^TA可逆,rank[A]=nrank[A]=nmnm\geqslant n,则x=A+b=(ATA)1ATbx=A^+b=(A^TA)^{-1}A^Tb
      此时A+=(ATA)1ATA^+=(A^TA)^{-1}A^T;进一步如果AA可逆,则A+=A1A^+=A^{-1}
    2. 如果ATAA^TA不可逆,则x=A+bx=A^+b是可行解中的一个,该解在C(AT)C(A^T)

Factorizations分解方法汇总

A=CR 列/行向量无关A=LU elimination,下上三角分解A=QRGram-Schmitt, Q正交A=VΛV1S=QΛQTS对称, 特征分解,Q正交A=UΣVTSVDA=QSPolar Decomposition \begin{aligned} A=&CR &\qquad \text{ 列/行向量无关}\\ A=& LU&\qquad \text{ elimination,下上三角分解}\\ A=&QR &\qquad \text{Gram-Schmitt, $Q$正交} \\ A=&V\Lambda V^{-1} & 一般特征分解\\ S=&Q\Lambda Q^T & \qquad \text{$S$对称, 特征分解,$Q$正交} \\ A= &U\Sigma V^T &\qquad \text{SVD} \\ A = &QS &\qquad \text{Polar Decomposition} \end{aligned}

A=LU的解释与高斯消元法

LU=[l1,l2,][u1u2]=l1u1+l2u2+ LU=[l_1, l_2, \cdots]\begin{bmatrix} u_1\\ u_2 \\ \vdots \end{bmatrix} \\ =l_1u_1+l_2u_2+\cdots
LL单位下三角矩阵(对角线为1)。liuil_iu_i维度与AA同,可以看作是l1u1l_1u_1剥离了AA的第一行第一列,……这样,liuil_i u_i只需面对已经消除了i1i-1行和i1i-1列的矩阵,所以lil_i的前i1i-1个元素都是0,uiu_i同理。这样即实现了LULU分解.

  • 当A的所有顺序主子式都不为0时,主元不为0,矩阵AA可以进行LU分解,且是唯一分解(摘自百度百科
    MIT18.06 & 18.065 一文总结机器学习中的线性代数和矩阵论
    上图也可以从高斯消元的角度看待,UU是消元结果,LL是初等矩阵的拼接

参考文献:
[1] MIT18.06 Linear Algebra
[2] MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning
[3] 3Blue1Brown 线性代数的本质
[4] Prince S J D. Computer vision: models, learning, and inference[M]. Cambridge University Press, 2012.
[5] Goodfellow I, Bengio Y, Courville A. Deep learning[M]. MIT press, 2016.
[6] Gonzales, Rafael C., and Richard E. Woods. Digital image processing[M]. Fourth Edition 2018.
[7] Bishop C . Pattern Recognition and Machine Learning[M] Stat Sci. 2006.
[8] 同济大学数学系. 线性代数第五版[M]. 高等教育出版社. 2007