MIT 线性代数(34—35)读书笔记
2017-04-26 22:06
2371 查看
第三十四讲:左右逆和伪逆
前面我们涉及到的逆(inverse)都是指左、右乘均成立的逆矩阵,即A−1A=I=AA−1。在这种情况下,m×n矩阵A满足m=n=rank(A),也就是满秩方阵。左逆(left inserve)
记得我们在最小二乘一讲(第十六讲)介绍过列满秩的情况,也就是列向量线性无关,但行向量通常不是线性无关的。常见的列满秩矩阵A满足m=n=rank(A)(情况1)。列满秩时,列向量线性无关,所以其零空间中只有零解,方程Ax=b可能有一个唯一解(b在A的列空间中,此特解就是全部解,因为通常的特解可以通过零空间中的向量扩展出一组解集,而此时零空间只有列向量),也可能无解(b不在A的列空间中)。
另外,此时行空间为Rn,也正印证了与行空间互为正交补的零空间中只有列向量。
现在来观察ATA,也就是在m>n=rank(A)(情况2)的情况下,n×m矩阵乘以m×n矩阵,结果为一个满秩的n×n矩阵,所以ATA是一个可逆矩阵。也就是说(ATA)−1ATA=I成立,而大括号部分的(ATA)−1AT称为长方形矩阵A的左逆
A−1left=(ATA)−1AT
顺便复习一下最小二乘一讲,通过关键方程ATAx^=ATb,A−1left被当做一个系数矩阵乘在b向量上,求得b向量投影在A的列空间之后的解x^=(ATA)−1ATb。
如果我们强行给左逆左乘矩阵A,得到的矩阵就是投影矩阵P=A(ATA)−1AT,来自p=Ax^=A(ATA)−1AT,它将右乘的向量b投影在矩阵A的列空间中。
再来观察AAT矩阵,这是一个m×m矩阵,秩为rank(AAT)=n<m,也就是说AAT是不可逆的,那么接下来我们看看右逆。
2.右逆(right inverse)
可以与左逆对称的看,右逆也就是研究m×n矩阵A行满秩的情况,此时n>m=rank(A)。对称的,其左零空间中仅有零向量,即没有行向量的线性组合能够得到零向量。行满秩时,矩阵的列空间将充满向量空间C(A)=Rm,所以方程Ax=b总是有解集,由于消元后有n−m个自由变量,所以方程的零空间为n−m维。
与左逆对称,再来观察AAT,在n>m=rank(A)(情况3)的情况下,m×n矩阵乘以n×m矩阵,结果为一个满秩的m×m矩阵,所以此时AAT是一个满秩矩阵,也就是AAT可逆。所以AAT(AAT)=I,大括号部分的AT(AAT)称为长方形矩阵的右逆
A−1right=AT(AAT)
同样的,如果我们强行给右逆右乘矩阵A,将得到另一个投影矩阵P=AT(AAT)A,与上一个投影矩阵不同的是,这个矩阵的A全部变为AT了。所以这是一个能够将右乘的向量b投影在A的行空间中。
前面我们提及了逆(方阵满秩),并讨论了左逆(矩阵列满秩)、右逆(矩阵行满秩),现在看一下第四种情况,m×n矩阵A不满秩的情况。
3.伪逆(pseudo inverse)
3.1定义
有m×n矩阵A,满足rank(A)<min(m, n)(情况4),则列空间C(A)∈Rm, dimC(A)=r,左零空间N(AT)∈Rm, dimN(AT)=m−r,列空间与左零空间互为正交补;
行空间C(AT)∈Rn, dimC(AT)=r,零空间N(A)∈Rn, dimN(A)=n−r,行空间与零空间互为正交补。
现在任取一个向量x,乘上A后结果Ax一定落在矩阵A的列空间C(A)中。而根据维数,x∈Rn, Ax∈Rm,那么我们现在猜测,输入向量x全部来自矩阵的行空间,而输出向量Ax全部来自矩阵的列空间,并且是一一对应的关系,也就是Rn的r维子空间到Rm的r维子空间的映射。
而矩阵A现在有这些零空间存在,其作用是将某些向量变为零向量,这样Rn空间的所有向量都包含在行空间与零空间中,所有向量都能由行空间的分量和零空间的分量构成,变换将零空间的分量消除。但如果我们只看行空间中的向量,那就全部变换到列空间中了。
那么,我们现在只看行空间与列空间,在行空间中任取两个向量x, y∈C(AT),则有Ax≠Ay。所以从行空间到列空间,变换A是个不错的映射,如果限制在这两个空间上,A可以说“是个可逆矩阵”,那么它的逆就称作伪逆,而这个伪逆的作用就是将列空间的向量一一映射到行空间中。通常,伪逆记作A+,因此Ax=(Ax), y=A+(Ay)。
现在我们来证明对于x,y∈C(AT), x≠y,有Ax,Ay∈C(A), Ax≠Ay:
反证法,设Ax=Ay,则有A(x−y)=0,即向量x−y∈N(A);
另一方面,向量x,y∈C(AT),所以两者之差x−y向量也在C(AT)中,即x−y∈C(AT);
此时满足这两个结论要求的仅有一个向量,即零向量同时属于这两个正交的向量空间,从而得到x=y,与题设中的条件矛盾,得证。
伪逆在统计学中非常有用,以前我们做最小二乘需要矩阵列满秩这一条件,只有矩阵列满秩才能保证ATA是可逆矩阵,而统计中经常出现重复测试,会导致列向量线性相关,在这种情况下ATA就成了奇异矩阵,这时候就需要伪逆。
3.2 伪逆求解
接下来我们介绍如何计算伪逆A+:其中一种方法是使用奇异值分解,A=UΣVT,其中的对角矩阵型为Σ=⎡⎣⎢⎢⎢⎢⎢⎢σ1⋱σ2[0]⎤⎦⎥⎥⎥⎥⎥⎥,对角线非零的部分来自ATA, AAT比较好的部分,剩下的来自左/零空间。
我们先来看一下Σ矩阵的伪逆是多少,这是一个m×n矩阵,rank(Σ)=r,Σ+=⎡⎣⎢⎢⎢⎢⎢⎢⎢1σ1⋱1σr[0]⎤⎦⎥⎥⎥⎥⎥⎥⎥,伪逆与原矩阵有个小区别:这是一个n×m矩阵。则有ΣΣ+=⎡⎣⎢⎢⎢⎢⎢⎢1⋱1[0]⎤⎦⎥⎥⎥⎥⎥⎥m×m,Σ+Σ=⎡⎣⎢⎢⎢⎢⎢⎢1⋱1[0]⎤⎦⎥⎥⎥⎥⎥⎥n×n。
观察ΣΣ+和Σ+Σ不难发现,ΣΣ+是将向量投影到列空间上的投影矩阵,而Σ+Σ是将向量投影到行空间上的投影矩阵。我们不论是左乘还是右乘伪逆,得到的不是单位矩阵,而是投影矩阵,该投影将向量带入比较好的空间(行空间和列空间,而不是左/零空间)。
接下来我们来求A的伪逆:
A+=VΣ+UT
4. 总结
1.A是m×n,m 行 n 列
1)矩阵可逆:
即两边逆,AA−1=I=A−1A,此时 r=m=n,A 为方阵且满秩,零空间和左零空间都只有零
向量。
2)左逆(m>n=rank(A)):
当列满秩,列向量线性无关,行向量不一定,r=n,零空间只有零向量,Ax=b 存在 0 个或 1 个解。 ATA 是 n×n 的对称矩阵,满秩,ATA是可逆的,称(ATA)−1AT为 A 的左逆,因为(ATA)−1AT∗A=I。这在最小二乘中至关重要,因为最小二乘以ATA 为系数矩阵(为什么统计学家喜欢这些?因为统计学家最喜欢用最小二乘),在列满秩的情况下,ATA可逆。此时[(ATA)−1AT]为 n×m,A为m×n,得 I为 n×n。
3)右逆(n>m=rank(A)):
当行满秩,行向量线性无关,r=m,AT 的零空间只含零向量,Ax=b有或无穷多个解,因为 A∗AT(AAT)−1=I,所以把 AT(AAT)−1 称为 A 的右逆。
4)伪逆(rank(A)<min(m, n)):
r<m,r<n,行空间和列空间的维数相同,都是r维,行空间的任意向量 x,与 A 相乘,得到恰好是列空间中的所有向量,行空间向量 x与列空间向量 Ax 的关系是一 一对应的。所有向量都能由行空间的分量和零空间的分量构成。
行空间中向量 x 对应着列空间中的 Ax(零空间中的 x乘以 A 得零 Ax=0), 行空间中向量 y 对应着列空间中的 Ay。
但如果要从列空间得到行空间的向量呢,要得到行空间的向量,那么x=A+(Ax),A+就是伪逆,伪逆把左零空间变为0,即如果 A+ 乘以左零空间的向量,结果为 0。
假设没有零空间的干扰,即假设零空间只有零向量,存在逆,那么行空间的向量x 得到列空间的向量 Ax,反过来,通过 A 的逆就能从列空间得到行空间, A−1(Ax)=x。
(ATA)−1AT∗A=I, 如果将左逆写在右边将得不到单位矩阵了, 那么 A(ATA)−1AT 是在列空间投影的投影矩阵,它会尽量靠近单位矩阵,一个投影矩阵很想成为单位矩阵,但不可能做到。
2.求解伪逆(SVD分解)
第三十五讲:期末复习
依然是从以往的试题入手复习知识点。1.
已知m×n矩阵A,有Ax=⎡⎣⎢100⎤⎦⎥无解;Ax=⎡⎣⎢010⎤⎦⎥仅有唯一解,求关于m,n,rank(A)的信息。
首先,最容易判断的是m=3;而根据第一个条件可知,矩阵不满秩,有r<m;根据第二个条件可知,零空间仅有零向量,也就是矩阵消元后没有自由变量,列向量线性无关,所以有r=n。
综上,有m=3>n=r。
根据所求写出一个矩阵A的特例:A=⎡⎣⎢010001⎤⎦⎥。
detATA=?detAAT:不相等,因为ATA可逆而AAT不可逆,所以行列式不相等。(但是对于方阵,detAB=detBA恒成立。)
ATA可逆吗?是,因为r=n,矩阵列向量线性无关,即列满秩。
AAT正定吗?否,因为AAT是3×n矩阵与n×3矩阵之积,是一个三阶方阵,而AAT秩为2,所以不是正定矩阵。(不过AAT一定是半正定矩阵。)
求证ATy=c至少有一个解:因为A的列向量线性无关,所以AT的行向量线性无关,消元后每行都有主元,且总有自由变量,所以零空间中有非零向量,零空间维数是m−r(可以直接从dimN(AT)=m−r得到结论)。
2.
设A=[v1 v2 v3],对于Ax=v1−v2+v3,求x。
按列计算矩阵相乘,有x=⎡⎣⎢1−11⎤⎦⎥。
若Ax=v1−v2+v3=0,则解是唯一的吗?为什么。如果解释唯一的,则零空间中只有零向量,而在此例中x=⎡⎣⎢1−11⎤⎦⎥就在零空间中,所以解不唯一。
若v1,v2,v3是标准正交向量,那么怎样的线性组合c1v1+c2v2能够最接近v3?此问是考察投影概念,由于是正交向量,所以只有0向量最接近v3。
3.
矩阵A=⎡⎣⎢.2.4.4.4.2.4.3.3.4⎤⎦⎥,求稳态。
这是个马尔科夫矩阵,前两之和为第三列的两倍,奇异矩阵总有一个特征值为0,而马尔科夫矩阵总有一个特征值为1,剩下一个特征值从矩阵的迹得知为−.2。
再看马尔科夫过程,设从u(0)开始,uk=Aku0,u0=⎡⎣⎢0100⎤⎦⎥。先代入特征值λ1=0, λ2=1, λ3=−.2查看稳态uk=c1λk1x1+c2λk2x2+c3λk3x3,当k→∞,第一项与第三项都会消失,剩下u∞=c2x2。
到这里我们只需求出λ2对应的特征向量即可,带入特征值求解(A−I)x=0,有⎡⎣⎢−.8.4.4.4−.8.4.3.3−.6⎤⎦⎥⎡⎣⎢???⎤⎦⎥=⎡⎣⎢000⎤⎦⎥,可以消元得,也可以直接观察得到x2=⎡⎣⎢334⎤⎦⎥。
剩下就是求c2了,可以通过u0一一解出每个系数,但是这就需要解出每一个特征值。另一种方法,我们可以通过马尔科夫矩阵的特性知道,对于马尔科夫过程的每一个uk都有其分量之和与初始值分量之和相等,所以对于x2=⎡⎣⎢334⎤⎦⎥,有c2=1。所以最终结果是u∞=⎡⎣⎢334⎤⎦⎥。
4.
对于二阶方阵,回答以下问题:
求投影在直线a=[4−3]上的投影矩阵:应为P=aaTaTa。
已知特征值λ1=2, x1=[12]λ2=3, x2=[21]求原矩阵A:从对角化公式得A=SΛS−1=[1221][0003][1221]−1,解之即可。
A是一个实矩阵,且对任意矩阵B,A都不能分解成A=BTB,给出A的一个例子:我们知道BTB是对称的,所以给出一个非对称矩阵即可。 矩阵A有正交的特征向量,但不是对称的,给出一个A的例子:我们在三十三讲提到过,反对称矩阵,因为满足AAT=ATA而同样具有正交的特征向量,所以有A=[0−110]或旋转矩阵[cosθsinθ−sinθcosθ],这些矩阵都具有复数域上的正交特征向量组。
5.最小二乘问题,因为时间的关系直接写出计算式和答案,⎡⎣⎢111012⎤⎦⎥[CD]=⎡⎣⎢341⎤⎦⎥(Ax=b),解得[C^D^]=[113−1]。
求投影后的向量p:向量p就是向量b在矩阵A列空间中的投影,所以p=⎡⎣⎢p1p2p3⎤⎦⎥=⎡⎣⎢111012⎤⎦⎥[C^D^]。
求拟合直线的图像:x=0,1,2时y=p1,p2,p2所在的直线的图像,y=C^+D^x即y=113−x。
接上面的题目
求一个向量b使得最小二乘求得的[C^D^]=[00]:我们知道最小二乘求出的向量[C^D^]使得A列向量的线性组合最接近b向量(即b在A列空间中的投影),如果这个线性组合为0向量(即投影为0),则b向量与A的列空间正交,所以可以取b=⎡⎣⎢1−21⎤⎦⎥同时正交于A的两个列向量。
相关文章推荐
- MIT 线性代数(4—6)读书笔记
- MIT 线性代数(10—12)读书笔记
- MIT 线性代数(31—33)读书笔记
- MIT 线性代数(1—3)读书笔记
- MIT 线性代数(16—18)读书笔记
- 【Effection C++】读书笔记 条款34~条款35
- MIT 线性代数(7—9)读书笔记
- MIT 线性代数(13—15)读书笔记
- MIT 18.06 线性代数总结(Part I)
- 数值分析读书笔记(3)求解线性代数方程组的迭代法
- Effective C++ 读书笔记(29-34):类与函数之实现
- 线性代数(笔记二) MIT公开课(来源网易云课堂)
- 10天学会线性代数的秘密-Scott Young用一年时间完成MIT四年计算机系全部33个课程 从线性代数到软件编程-全部自学 不靠死记硬背 1.5周他就通过一门课程
- 任务和特权级保护(三)——《x86汇编语言:从实模式到保护模式》读书笔记34
- 线性代数(笔记一) MIT公开课(来源网易云课堂)
- 读书笔记《Effective C++》条款34:区分接口继承和实现继承
- Effective C++ 读书笔记(35)
- (34)数组的相关处理函数(上)(35)常用的数组相关操作函数(下)
- SQLi Labs Lesson32 & 33 & 34 & 35
- Effective C++ 读书笔记(35-44):继承关系与面向对象设计