,#1. 用途#
1.1 應用領域
- 最優化問題:最小二乘問題 (求取最小二乘解的方法一般使用SVD)
- 統計分析:信號與圖像處理
- 求解線性方程組:
Ax=0或Ax=b - 奇異值分解:可以降維,同時可以降低數據存儲需求
1.2 矩陣是什麼
- 矩陣是什麼取決於應用場景
- 矩陣可以是:
- 只是一堆數:如果不對這堆數建立一些運算規則
- 矩陣是一列列向量:如果每一列向量列舉了對同一個客觀事物的多方面的觀察值
- 矩陣是一個圖像:它的每個元素代表對應位置的像素值
- 矩陣是一個線性變換:它可以將一些向量變換爲另一些向量
1.3 矩陣與線性變換
矩陣的本質:矩陣的本質就是線性變換
基-座標系:一個基定義了一個座標系
矩陣-線性變換:在線性空間中,當選定一組基(相當於確定座標系)之後,不僅可以用一個向量來描述空間中的任何一個對象,而且可以用矩陣來描述此空間中的任何一個運行(變換),即任何一個線性變換, 都可以用一個確定的矩陣來加以描述
向量:向量描述對象(在選定基之後)
- 矩陣:矩陣描述對象的運動(在選定基之後)
- 運動:使某個對象發生要求的運動,就是用描述此運動的矩陣乘以運動對象的向量(運動 * 對象 = 矩陣 * 向量)
- 特徵值-變換:同一個線性變換在同的座標系(基)下的矩陣不同,但其本質相同, 所以特徵值相同
- 矩陣可進行哪些線性變換?
- 旋轉
- 縮放
- 投影
- 矩陣包含這麼多功能,當我們看着一個數據表,對它的功能一無所知,很是迷茫,爲了達到我們人類的目的,大神們把它進行分解,從而達到我們人類理解、使用的目標。
- 特徵向量:都是正交的,即相互垂直
- 特徵值分解和奇異值分解:都是給一個矩陣(線性變換)找一組特殊的基
- 特徵值分解:找到了特徵向量這一組基,在這組基下該線性變換只有縮放效果
- 奇異值分解(SVD):則是找到兩組基,從一組基到另一組的線性變換的旋轉、縮放、投影三種功能獨立地展示出來了
2. 特徵值分解-方陣
只有方陣才能進行特徵值分解
奇異值和特徵值的重要意義相似,都是爲了提取出矩陣的主要特徵。
特徵值的本質:
Ax=λx 特徵值分解:把方陣分解爲縮放矩陣+特徵向量矩陣,沒有旋轉或旋轉角度爲0
特徵值-變化的主次:如果我們想要描述好一個變換,那我們就描述好這個變換主要的變化方向就好了。反過頭來看看之前特徵值分解的式子,分解得到的
∧ 矩陣是一個對角陣,裏面的特徵值是由大到小排列的,這些特徵值所對應的特徵向量就是描述這個矩陣變化方向(從主要的變化到次要的變化排列)高維線性變換:當矩陣是高維的情況下,那麼這個矩陣就是高維空間下的一個線性變換,這個線性變化可能沒法通過圖片來表示,但是可以想象,這個變換也同樣有很多的變換方向,我們通過特徵值分解得到的前N個特徵向量,那麼就對應了這個矩陣最主要的N個變化方向。我們利用這前N個變化方向,就可以近似這個矩陣(變換)。也就是之前說的:提取這個矩陣最重要的特徵。
特徵值分解總結:特徵值分解可以得到:
- 特徵值:特徵值表示的是這個特徵到底有多重要
- 特徵向量:而特徵向量表示這個特徵是什麼,可以將每一個特徵向量理解爲一個線性的子空間,我們可以利用這些線性的子空間幹很多的事情。
- 特徵值分解的侷限:特徵值分解也有很多的侷限,比如說變換的矩陣必須是方陣。
2.1 方陣的分解
設
A∈Rn×n ,則A可表示爲:A=X∧X−1 X的列:爲A的特徵向量
∧ 爲對角矩陣:對角線上的值爲A的特徵值,按從大到小的順序排列
2.2 實對稱矩陣的分解
設
S∈Rn×n ,且是對稱矩陣,則S可表示爲:S=U∧UT U的列:爲S的單位正交特徵向量,即U是正交矩陣(列/行向量正交性、歸一化,且
U−1=UT )∧ 爲對角矩陣:對角線上的值爲S的特徵值,按從大到小的順序排列- U就是矩陣A所定義的座標系:U的n個列向量組成A的一個完備的標準正交特徵向量系
- 工
3. 奇異值分解(SVD) - 非方陣
只有非方陣才能進行奇異值分解
SVD分解:把矩陣分解爲縮放矩陣+旋轉矩陣+特徵向量矩陣
A的非0奇異值的個數等於它的秩
r
3.1 SVD定義
設
A∈Rm×n ,且rank(A) =r (r > 0),則矩陣A的奇異值分解(SVD)可表示爲:A=UΣVT A=U[Σ000]VT=σ1u1vT1+σ2u2vT2+σrurvTr U 和V 都爲正交矩陣幾何含義:
- 表示找到了
U 和V 這樣兩組基:A矩陣的作用是將一個向量從V 這組正交基向量的空間旋轉到U 這組正交基向量的空間,並對每個方向進行了一定的縮放(由Σ 決定),縮放因子就是各個奇異值。如果V 的維度比U 大,則表示還進行了投影。 - 奇異值分解:將一個矩陣原本混合在一起的三種作用效果,分解出來了。
- 表示找到了
SVD分解如下圖所示:
U∈Rm×m (左奇異向量):U 的列爲AAT 的正交特徵向量V∈Rn×n (右奇異向量):V 的列爲ATA 的正交特徵向量AAT 與ATA :是實對稱正定矩陣,且其特徵值爲非負實數rank(
AAT ) = rank(ATA ) = rank(A)AAT 與ATA 的特徵值相同:爲λ1,λ2,...,λr ,且λi≥λi+1,λi≥0 Σ∈Rm×n :σi=Σii=λi−−√ ,其它元素的值爲0Σ =diag(σ1,σ2,...,σr) σi(i=1,2,...,r),σ1≥...≥σr>0 :爲矩陣A的全部奇異值- 奇異值σ跟特徵值類似,在矩陣Σ中也是從大到小排列,而且σ的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就佔了全部的奇異值之和的99%以上了。也就是說,我們也可以用前
k 個大的奇異值來近似描述矩陣,這裏定義一下部分奇異值分解:
- 右邊的三個矩陣相乘的結果將會是一個接近於A的矩陣,在這兒,k越接近於n,則相乘的結果越接近於A。而這三個矩陣的面積之和(在存儲觀點來說,矩陣面積越小,存儲量就越小)要遠遠小於原始的矩陣A,我們如果想要壓縮空間來表示原矩陣A,我們存下這裏的三個矩陣:U、Σ、V就好了。
3.2 SVD特徵
奇異值的比例不變性:
即αA 的奇異值是A的奇異值的|α| 倍奇異值的旋轉不變性:
若P 是正交矩陣且detA=1 (即P 爲旋轉矩陣),PA 的奇異值與A 的奇異值相同奇異值的比例和旋轉不變性:在數字圖像的旋轉、鏡像、平移、放大、縮小等幾何變換方面有很好的應用
容易得到矩陣
A 的秩爲k (k≤r )的一個最佳逼近矩陣- 這個特性可以應用於信號的分解和重構, 提取有用信息,消除信號噪聲
A=UΣVT=σ1u1vT1+σ2u2vT2+σrurvTr 權係數大的哪些項對矩陣
A 的貢獻大,因此當捨去權係數小的一些項後,仍然能較好地接近矩陣A ,這一點在數字圖像處理方面非常有用。矩陣
A 的秩k 逼近定義爲:
A=σ1u1vT1+σ2u2vT2+σkukvTk(1≤k≤r) - 秩
r 逼近就精確等於A ,而秩1 逼近的誤差最大
- 這個特性可以應用於信號的分解和重構, 提取有用信息,消除信號噪聲
4. 齊次/非齊次線性方程組
- 矩陣
Am×n :
- 方程組數:
m - 未知數的數量:
n
- 方程組數:
- 齊次線性方程組:
Ax=0
- 如果
m<n (行數小於列數,即未知數的數量大於所給方程組數),則齊次線性方程組有非零解。 - 齊次線性方程組的兩個解的和仍是齊次線性方程組的一組解(加法封閉)
- 齊次線性方程組的解的k倍仍然是齊次線性方程組的解(乘法封閉)
- 齊次線性方程組的係數矩陣秩
rank(A)=n(detA≠0) ,方程組有唯一零解 - 齊次線性方程組的係數矩陣秩
rank(A)<n(detA=0) ,方程組有無數多解 - 齊次線性方程組有非零解的充要條件是其係數行列式(
det )爲零。等價地,方程組有唯一的零解的充要條件是係數矩陣不爲零
- 如果
- 非齊次線性方程組:
Ax=b(b≠0)
- 非齊次線性方程組 有解的充分必要條件是:係數矩陣的秩等於增廣矩陣的秩,即
rank(A)=rank(A|b) (否則爲無解) - 有唯一解的充要條件是
rank(A)=n - 有無窮多解的充要條件是
rank(A)<n - 解的結構:非齊次線性方程組的通解=齊次線性方程組的通解+非齊次線性方程組的一個特解
η=ζ+η∗
- 非齊次線性方程組 有解的充分必要條件是:係數矩陣的秩等於增廣矩陣的秩,即
5. SVD解優化問題
5.1 SVD解非齊次線性方程組(Ax=b )
- 求解非齊次線性方程組
Ax=b Am×n m<n : 方程個數小於未知變量個數,無唯一解m=n :若A可逆(detA≠0 或 rank(A) = n),有唯一解m>n :方程個數多於未知變量個數,若rank(A)=rank(A|b) ,則有解- 對於
m>n , 有如下幾種情況:
1)r(A)<r(A|b) : 方程組無解
2)r(A)=r(A|b)=n :方程組有唯一解(約束較強)
3)r(A)=r(A|b)<n :方程組無窮解(約束不夠)
4)r(A)>r(A|b) : 不可能,因爲增廣矩陣的秩大於等於係數矩陣的秩(在矩陣中加入一列,其秩只可能增大,不可能變小)
M爲正交矩陣,
x 爲列向量:則有||Mx||2=||x||2或記爲:||Mx||=||x|| ||x||2=||x||=xTx−−−−√ :即向量x 的長度
以下討論前提爲:
m⩾n 等價於尋找
x 使||Ax−b||2 最小化 (向量2範數,轉化爲最優化問題)1) 對矩陣A進行SVD分解(
Dm×n 對角陣,且rank(A)=n ):A=UDVT
則優化問題變爲:
min(||Ax−b||2)=min(||UDVTx−b||2)=min(||DVTx−UTb||2) 2) 令:
y=VTxb′=UTb
則優化問題變爲:
min(||DVTx−UTb||2)=min(||Dy−b′||2) 3) 求解向量
y :若
Dy−b′=0 ,即Dy=b′ ,其方程組形式如下圖所示:
則有:
yi=b′i/di(i=0,1,...,rank(A))
4) 求解向量
5.1.1 rank(A) = n的求解步驟
5.1.2 rank(A) < n的求解步驟
λi :是用於參數化的隨機值(parametrized by the indeterminate values)
5.2 SVD解齊次線性方程組(Ax=0 )
- 相似的情況,我們把問題轉化爲最小化
||Ax||2 的非線性優化問題,我們已經知道了x=0 是該方程組的一個特解,爲了避免x=0 這種情況(因爲在實際的應用中x=0 往往不是我們想要的),我們增加一個約束,比如||x||2=1 ,這樣,問題就變爲(帶約束的優化問題 s.t. : subject to):
min||Ax||s.t.:||x||=1
min||Ax||=min||UDVTx||=min||DVTx||且||x||=||VTx||
y=VTx則問題變爲:min||Dy||s.t.:||y||=1(因爲V爲正交矩陣) - 由於D是一個對角矩陣,對角元素按降序排列,因此最優解在
y=(0,0,...,1)T 時取得,又因爲x=Vy , 所以最優解就是V的最小奇異值對應的列向量,比如,最小奇異值在第6行6列,那麼x 爲 V的第6個列向量。 - 求解步驟: