低秩矩陣
低秩矩陣(Low-rank Matrix)是指秩(rank)遠小于其行數和列數的矩陣,即 r a n k ( M ) = r ? min ? ( m , n ) rank(M) = r \ll \min(m,n) rank(M)=r?min(m,n)。其核心特點是信息冗余性,可通過少量獨立基向量(奇異向量)近似表示整個矩陣,從而在數據壓縮、去噪和補全等任務中發揮重要作用。
意義
矩陣乘法是大多數機器學習模型的核心計算瓶頸。為了降低計算復雜度,已經出現了許多方法對一組更高效的矩陣進行學習。這些矩陣被稱為結構化矩陣,其參數數量和運行時間為次二次函數(對于 𝑛 維度,其參數數量和運行時間為 𝑜1𝑛2o)。結構化矩陣最常見的例子是稀疏矩陣和低秩矩陣,以及信號處理中常見的快速變換(傅里葉變換、切比雪夫變換、正弦/余弦變換、正交多項式)。
核心概念
-
秩的定義
矩陣的秩表示其線性無關的行或列向量的最大數量。若矩陣 M ∈ R m × n M \in \mathbb{R}^{m \times n} M∈Rm×n 的秩為 r r r,則存在分解 M = U V T M = UV^T M=UVT,其中 U ∈ R m × r U \in \mathbb{R}^{m \times r} U∈Rm×r, V ∈ R n × r V \in \mathbb{R}^{n \times r} V∈Rn×r,參數總量從 m × n m \times n m×n 降至 ( m + n ) × r (m+n) \times r (m+n)×r。 -
SVD與低秩逼近
奇異值分解(SVD)將矩陣分解為 M = U Σ V T M = U\Sigma V^T M=UΣVT,其中 Σ \Sigma Σ 為奇異值矩陣。通過保留前 k k k 個最大奇異值( k ? r k \ll r k?r),可得到最優低秩近似 M k M_k Mk?(Eckart-Young-Mirsky定理)。
應用場景
- 推薦系統
用戶-物品評分矩陣通常低秩,通過矩陣分解(如SVD)挖掘潛在特征,預測缺失值。 - 圖像處理
圖像矩陣的低秩性可用于去噪(將噪聲視為高秩擾動)或修復缺失像素。 - 深度學習微調
LoRA(Low-Rank Adaptation)通過低秩矩陣調整大模型參數,減少計算量。
示例說明
若矩陣 A = [ 1 2 3 2 4 6 3 6 9 ] A = \begin{bmatrix}1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9\end{bmatrix} A= ?123?246?369? ?,其秩為1,因為所有行均為第一行的倍數。此時 A A A 可表示為 U V T UV^T UVT(如 U = [ 1 , 2 , 3 ] T U = [1,2,3]^T U=[1,2,3]T, V = [ 1 , 2 , 3 ] V = [1,2,3] V=[1,2,3])。
為什么重要?
- 計算效率:低秩分解降低存儲和計算復雜度(如從 O ( n 2 ) O(n^2) O(n2) 到 O ( n ) O(n) O(n))。
- 魯棒性:在噪聲或缺失數據下仍能恢復主要結構。
奇異值矩陣
奇異值矩陣(Singular Value Matrix)是奇異值分解(SVD)中的核心組成部分,通常記為 Σ \Sigma Σ(或 S S S),它是一個對角矩陣,其對角線元素為矩陣的奇異值,按從大到小排列,其余元素為零。以下是詳細解析:
1. 定義與數學形式
給定矩陣 A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n,其奇異值分解為:
A = U Σ V T A = U \Sigma V^T A=UΣVT
其中:
- U U U 是 m × m m \times m m×m 的正交矩陣(左奇異向量)。
- V V V 是 n × n n \times n n×n 的正交矩陣(右奇異向量)。
- Σ \Sigma Σ 是 m × n m \times n m×n 的對角矩陣,稱為奇異值矩陣,其對角線元素 σ 1 ≥ σ 2 ≥ ? ≥ σ r > 0 \sigma_1 \geq \sigma_2 \geq \dots \geq \sigma_r > 0 σ1?≥σ2?≥?≥σr?>0( r = rank ( A ) r = \text{rank}(A) r=rank(A))即為 A A A 的奇異值。
2. 奇異值的性質
- 非負性:奇異值 σ i \sigma_i σi? 是非負實數,且唯一確定(即使 U U U 和 V V V 不唯一)。
- 與特征值的關系:奇異值是 A T A A^TA ATA 或 A A T AA^T AAT 的特征值的平方根。
- 矩陣秩:非零奇異值的個數等于矩陣 A A A 的秩。
3. 計算與示例
計算方法
- SVD分解:通過數值計算工具(如MATLAB的
svd
或 Python的numpy.linalg.svd
)直接求解。 - 特征值分解:先計算 A T A A^TA ATA 的特征值,再取平方根得到奇異值。
示例
若矩陣 A = [ 1 0 1 0 1 0 ] A = \begin{bmatrix}1 & 0 & 1 \\ 0 & 1 & 0\end{bmatrix} A=[10?01?10?],其奇異值分解后 Σ \Sigma Σ 可能為:
Σ = [ 1.732 0 0 0 1 0 ] \Sigma = \begin{bmatrix}1.732 & 0 & 0 \\ 0 & 1 & 0\end{bmatrix} Σ=[1.7320?01?00?]
其中奇異值為 1.732 1.732 1.732 和 1 1 1。
4. 應用場景
- 數據壓縮:保留前 k k k 個奇異值(低秩近似)可減少存儲和計算量(如PCA)。
- 圖像去噪:較小的奇異值通常對應噪聲,截斷后可恢復清晰圖像。
- 推薦系統:通過SVD分解用戶-物品矩陣,提取潛在特征。
5. 幾何意義
奇異值表示矩陣 A A A 在不同方向上的“縮放因子”。例如,在圖像處理中,奇異值越大,對應的特征方向對圖像的貢獻越大。
總結
奇異值矩陣 Σ \Sigma Σ 是SVD的核心,其對角線元素(奇異值)揭示了矩陣的秩、穩定性及主要特征方向。通過控制奇異值的數量,可實現數據降維、去噪等高效操作。
正交矩陣
正交矩陣(Orthogonal Matrix)是線性代數中一類重要的實方陣,其核心特性是轉置矩陣等于逆矩陣,即滿足 Q T Q = Q Q T = I Q^T Q = Q Q^T = I QTQ=QQT=I( I I I 為單位矩陣)。以下是其關鍵內容:
1. 定義與性質
- 定義:若 n × n n \times n n×n 實矩陣 Q Q Q 滿足 Q T = Q ? 1 Q^T = Q^{-1} QT=Q?1,則稱 Q Q Q 為正交矩陣。
- 等價條件:
- 行(或列)向量組是標準正交基(兩兩正交且長度為1)。
- 保持向量內積不變: ( Q x , Q y ) = ( x , y ) (Qx, Qy) = (x, y) (Qx,Qy)=(x,y),即保持幾何長度和夾角。
- 行列式 ∣ Q ∣ = ± 1 |Q| = \pm 1 ∣Q∣=±1( + 1 +1 +1 表示旋轉, ? 1 -1 ?1 表示反射)。
2. 分類與例子
- 第一類正交矩陣: ∣ Q ∣ = 1 |Q| = 1 ∣Q∣=1,對應旋轉變換(如二維旋轉矩陣):
Q = [ cos ? θ ? sin ? θ sin ? θ cos ? θ ] Q = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} Q=[cosθsinθ??sinθcosθ?] - 第二類正交矩陣: ∣ Q ∣ = ? 1 |Q| = -1 ∣Q∣=?1,對應反射變換(如鏡像矩陣)。
3. 應用領域
- 幾何變換:用于旋轉、反射等操作(如計算機圖形學中的坐標變換)。
- 數據科學:主成分分析(PCA)中通過正交矩陣實現降維。
- 信號處理:離散傅里葉變換(DFT)的基函數構成正交矩陣。
- 量子計算:量子門操作對應酉矩陣(復數域的正交矩陣)。
4. 重要定理
- 譜分解定理:實對稱矩陣可通過正交矩陣對角化,即 A = Q Λ Q T A = Q \Lambda Q^T A=QΛQT( Λ \Lambda Λ 為對角矩陣)。
- QR分解:任意矩陣可分解為正交矩陣與上三角矩陣的乘積。
Python示例驗證
import numpy as np
Q = np.array([[1/np.sqrt(2), 1/np.sqrt(2)], [-1/np.sqrt(2), 1/np.sqrt(2)]])
print("Q^T Q = \n", np.dot(Q.T, Q)) # 應輸出單位矩陣
正交矩陣因其計算高效(逆即轉置)和幾何保形性,成為數學與工程領域的基石工具。