原文 | https://mp.weixin.qq.com/s/PRQQvSfmipxPBeF80aEQ1A
一個矩陣有逆矩陣的前提是該矩陣是一個滿秩的方陣,然而很多時候遇到的都是長方矩陣,長方矩陣是否有類似的逆矩陣呢?
先把4個基本子空間的圖貼上,A是m×n的矩陣,其中r是矩陣的秩:

兩側逆(2-sided inverse)
我們通常說的逆矩陣都是針對滿秩方陣而言,此時AA-1 = I = A-1A,A左乘或右乘A-1的結果都是單位矩陣,所以將這種逆矩陣稱為兩側逆,
左逆(Left inverse)
如果A是一個m×n的列滿秩矩陣,意味著A的各列線性無關,A的秩和列數相等,r = n,但A可能存在更多的行,m ≥ n,此時A的零空間只有零向量,并且Ax = b有唯一解(m = n時)或無解(m > n時),
對于列滿秩矩陣來說,對稱矩陣ATA是一個n×n的滿秩方陣,因此ATA可逆,此時:

我們稱A-1left為A的左逆,是一個n×m的矩陣,左逆也是討論最小二乘問題的核心,
右逆(Right inverse)
如果A是一個m×n的行滿秩矩陣,意味著A的各行線性無關,A的秩和行數相等,r = m,但A可能存在更多的列,m ≤ n,A的左零空間只有零向量,A的零空間是n - r維,因此有n – r個自由變數,當n > m時,Ax = b有無數解,
對于行滿秩矩陣來說,對稱矩陣AAT是一個m×m的滿秩方陣,因此AAT可逆,此時:

通常來說,右乘左逆得不到單位矩陣,僅在m = n時才有AA-1left = I,對于列滿秩的m×n矩陣來說,AA-1left = A(ATA)-1AT = P,P是A的列空間的投影矩陣,同理,左乘右逆也得不到單位矩陣,A-1rightA是A的行空間的投影矩陣,
示例 找出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))

偽逆(Pseudoinverse)
逆矩陣可看作矩陣的逆操作,向量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ΣV-T,
先求得AAT的特征值:

只有一個正的特征值125,對應的奇異值和奇異值矩陣是:

接下來根據根據特征方程求得AA-T的特征向量:

U是標準化后的特征向量矩陣:

用同樣的方法求得ATA的特征值和特征向量,進而求得V,

出處:微信公眾號 "我是8位的"
本文以學習、研究和分享為主,如需轉載,請聯系本人,標明作者和出處,非商業用途!
掃描二維碼關注作者公眾號“我是8位的”

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/100424.html
標籤:其他
