原文 | https://mp.weixin.qq.com/s/PRQQvSfmipxPBeF80aEQ1A微信
一个矩阵有逆矩阵的前提是该矩阵是一个满秩的方阵。然而不少时候遇到的都是长方矩阵,长方矩阵是否有相似的逆矩阵呢?ide
先把4个基本子空间的图贴上,A是m×n的矩阵,其中r是矩阵的秩:函数
咱们一般说的逆矩阵都是针对满秩方阵而言,此时AA-1 = I = A-1A,A左乘或右乘A-1的结果都是单位矩阵,因此将这种逆矩阵称为两侧逆。学习
若是A是一个m×n的列满秩矩阵,意味着A的各列线性无关,A的秩和列数相等,r = n,但A可能存在更多的行,m ≥ n,此时A的零空间只有零向量,而且Ax = b有惟一解(m = n时)或无解(m > n时)。spa
对于列满秩矩阵来讲,对称矩阵ATA是一个n×n的满秩方阵,所以ATA可逆,此时:3d
咱们称A-1left为A的左逆,是一个n×m的矩阵,左逆也是讨论最小二乘问题的核心。code
若是A是一个m×n的行满秩矩阵,意味着A的各行线性无关,A的秩和行数相等,r = m,但A可能存在更多的列,m ≤ n。A的左零空间只有零向量,A的零空间是n - r维,所以有n – r个自由变量,当n > m时,Ax = b有无数解。blog
对于行满秩矩阵来讲,对称矩阵AAT是一个m×m的满秩方阵,所以AAT可逆,此时:ip
一般来讲,右乘左逆得不到单位矩阵,仅在m = n时才有AA-1left = I。对于列满秩的m×n矩阵来讲,AA-1left = A(ATA)-1AT = P,P是A的列空间的投影矩阵。同理,左乘右逆也得不到单位矩阵,A-1rightA是A的行空间的投影矩阵。get
示例 找出A的右逆:
Numpy的pinv函数能够求得右逆:
1 import numpy as np 2 3 A = np.mat('1 0 1; 0 1 0') 4 print(np.linalg.pinv(A))
逆矩阵可看做矩阵的逆操做,向量x在A的做用下变成了了Ax,Ax经过A-1又获得x:
方阵A是否可逆和是否存在零空间有关,可逆矩阵的零空间和左零空间都只有零向量。零空间的向量是知足Ax = 0的全部x,假设A存在零空间,那么对于零空间的非零向量来讲:
此时A的各列的线性组合是0,这意味着A的列是线性相关的,A必定不是满秩的,A是奇异矩阵,A不可逆。
列满秩矩阵的零空间只有零向量,有左逆矩阵;行满秩矩阵的左零空间只有零向量,有右逆矩阵。可是对于不满秩的矩阵Am×n(r < n, r < m)来讲,两个零空间都存在,此时它没法获得左逆或右逆。
假设Am×n是不满秩的矩阵,其行空间和列空间的维数相等。若是此时行空间的一个向量x,通过A的变换,变为列空间的向量Ax,而且x和Ax是一一对应的(若是行空间的两个向量u ≠ v,则Au ≠ Av),那么在把逆操做限制在行空间和列空间上时,A是能够进行逆操做的,A在这两个空间上的逆矩阵称为伪逆,记做A+:
这里的关键是x和Ax是一一对应的,若是行空间的两个向量u ≠ v,则Au ≠ Av,只有这样,逆操做才成立。为何会有一一对应?
u和v是行空间的两个不一样的向量,通过A的转换将变成列空间的另外两个向量Au和Av。咱们假设Au = Av,这至关于Au – Av = 0,即A(u – v) = 0,这意味着u – v属于零空间。但u和v是行空间的两个向量,它们的线性组合也属于行空间,与结论矛盾,所以假设不成立,Au ≠ Av。行空间和列空间的向量是一一对应的。
统计学家很是须要伪逆矩阵,由于他们常常使用最小二乘求解线性回归问题。统计学家常常作一些试验,并用矩阵A记录这些试验结果(每一个结果有多个属性值),若是试验存在大量重复的结果,那么A将可能不是列满秩的,ATA不可逆,没法用过去的方法解决最小二乘。此时伪逆就有了用武之地。怎样找出伪逆呢?
Am×n是一个不满秩矩阵,行数和列数都大于秩,m > r, n > r,找出A+的一个方法是利用奇异值分解。A的奇异值分解是:
∑是一由奇异值构成的对角矩阵:
∑和A的尺寸一致,也是m×n矩阵,它的秩是r,显然也是一个不可逆矩阵,而且∑T∑和∑∑T都不可逆,也就是说∑也不存在左逆或右逆,只有伪逆:
∑+是一个n×m矩阵,它的秩仍然是r。伪逆是最接近逆的:
U和VT都是正交矩阵,其逆矩阵等于转置,(VT)-1=V, U-1 = UT,A的伪逆为:
值得注意的是,AA+获得的并非像∑∑+这样对角线上只有1和0的矩阵,而是A的行空间的投影矩阵。
伪逆知足4个性质:
,A是否可逆?是否有左逆、右逆或伪逆?
A的行列式是0,A是一个奇异矩阵,故A没有逆矩阵。
A既不是行满秩也不是列满秩,故A没有左逆或右逆,只有伪逆。
用奇异值分解求解A的伪逆,先对A进行奇异值分解A=UΣVT。
先求得AAT的特征值:
只有一个正的特征值125,对应的奇异值和奇异值矩阵是:
接下来根据根据特征方程求得AAT的特征向量:
U是标准化后的特征向量矩阵:
用一样的方法求得ATA的特征值和特征向量,进而求得V。
出处:微信公众号 "我是8位的"
本文以学习、研究和分享为主,如需转载,请联系本人,标明做者和出处,非商业用途!
扫描二维码关注做者公众号“我是8位的”