原文 | 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位的」