奇異值是矩陣中的一個很是重要的概念,通常是經過奇異值分解的方法來獲得的,奇異值分解是線性代數和矩陣論中一種重要的矩陣分解法,在統計學和信號處理中很是的重要。教程
在瞭解奇異值以前,讓咱們先來看看特徵值的概念。it
在線性代數中,類似矩陣是指存在類似關係的矩陣。設A,B爲n階矩陣,若是有n階可逆矩陣P存在,使得P-1AP=B,則稱矩陣A與B類似,記爲A~B。io
對角矩陣(diagonal matrix)是一個主對角線以外的元素皆爲0的矩陣,常寫爲diag(a1,a2,...,an) 。對角矩陣能夠認爲是矩陣中最簡單的一種,值得一提的是:對角線上的元素能夠爲 0 或其餘值,對角線上元素相等的對角矩陣稱爲數量矩陣;對角線上元素全爲1的對角矩陣稱爲單位矩陣。對角矩陣的運算包括和、差運算、數乘運算、同階對角陣的乘積運算,且結果仍爲對角陣。技巧
可對角化矩陣是線性代數和矩陣論中重要的一類矩陣。若是一個方塊矩陣 A 類似於對角矩陣,也就是說,若是存在一個可逆矩陣 P 使得 P −1AP 是對角矩陣,則它就被稱爲可對角化的。程序
設A爲n階矩陣,若存在常數λ及n維非零向量x,使得Ax=λx,則稱λ是矩陣A的特徵值,x是A屬於特徵值λ的特徵向量。 方法
一個矩陣的一組特徵向量是一組正交向量。技術
即特徵向量被施以線性變換 A 只會使向量伸長或縮短而其方向不被改變。統計
一個線性變換一般能夠由其特徵值和特徵向量徹底描述。特徵空間是相同特徵值的特徵向量的集合。數據
特徵分解(Eigendecomposition),又稱譜分解(Spectral decomposition)是將矩陣分解爲由其特徵值和特徵向量表示的矩陣之積的方法。須要注意只有對可對角化矩陣才能夠施以特徵分解。集合
令 A 是一個 N×N 的方陣,且有 N 個線性無關的特徵向量 qi(i=1,…,N)。這樣, A 能夠被分解爲: A= QΛQ-1
其中 Q 是N×N方陣,且其第 i列爲 A 的特徵向量 。若是A的全部特徵向量用x1,x2 … xm來表示的話,那麼Q能夠表示爲:$\left[x_1,x_2,…,x_m\right]$, 其中x是n維非零向量。
Λ 是對角矩陣,其對角線上的元素爲對應的特徵值,也即Λii=λi。 也就是$\left[\begin{matrix}λ_1 … 0\\… … …\\0 … λ_m \end{matrix}\right]$
這裏須要注意只有可對角化矩陣才能夠做特徵分解。好比 $\left[\begin{matrix}11\\01 \end{matrix}\right]$不能被對角化,也就不能特徵分解。
由於 A= QΛQ-1 ,能夠看作A被分解爲三個矩陣,也就是三個映射。
假如如今有一個向量x,咱們能夠得出下面的結論:
$Ax=QΛQ^{-1}x$
Q是正交矩陣,正交陣的逆矩陣等於其轉置,因此$Q^{-1}$ = $Q^T$.$Q^T$對x的變換是正交變換,它將x用新的座標系來表示,這個座標系就是A的全部正交的特徵向量構成的座標系。好比將x用A的全部特徵向量表示爲:
$x=a_1x_1+a_2x_2+…+a_mx_m$
則經過第一個變換就能夠把x表示爲$[a_1 a_2 ... a_m]^T$。
$QΛQ^{-1}x=QΛ\left[\begin{matrix}x_1^T\\x_2^T\\…\\…\\x_m^T \end{matrix}\right](a_1x_1+a_2x_2+a_3x_3+…+a_mx_m)=QΛ\left[\begin{matrix}a_1\\a_2\\…\\a_m \end{matrix}\right]$
而後,在新的座標系表示下,由中間那個對角矩陣對新的向量座標換,其結果就是將向量往各個軸方向拉伸或壓縮:
$QΛ\left[\begin{matrix}a_1\\a_2\\…\\a_m \end{matrix}\right]=Q\left[\begin{matrix}λ_1 … 0\\… … …\\0 … λ_m \end{matrix}\right]\left[\begin{matrix}a_1\\a_2\\…\\a_m \end{matrix}\right]=Q\left[\begin{matrix}λ_1a_1\\λ_2a_2\\…\\λ_ma_m \end{matrix}\right]$
若是A不是滿秩的話,那麼就是說對角陣的對角線上元素存在0,這時候就會致使維度退化,這樣就會使映射後的向量落入m維空間的子空間中。
最後一個變換就是Q對拉伸或壓縮後的向量作變換,因爲Q和$Q^{-1}$是互爲逆矩陣,因此Q變換是$Q^{-1}$變換的逆變換。
一個矩陣乘以一個列向量至關於矩陣的列向量的線性組合。一個行向量乘以矩陣,至關於矩陣的行向量的線性組合。
因此向量乘以矩陣以後,至關於將這個向量進行了幾何變換。
以前講了 Λ 是對角矩陣,其對角線上的元素爲對應的特徵值,也即Λii=λi。 也就是$\left[\begin{matrix}λ_1 … 0\\… … …\\0 … λ_m \end{matrix}\right]$
這些特徵值表示的是對向量作線性變換時候,各個變換方向的變換幅度。
假如A是m n階矩陣,q=min(m,n),AA的q個非負特徵值的算術平方根叫做A的奇異值。
特徵值分解能夠方便的提取矩陣的特徵,可是前提是這個矩陣是一個方陣。若是是非方陣的狀況下,就須要用到奇異值分解了。先看下奇異值分解的定義:
$A=UΣV^T$
其中A是目標要分解的m n的矩陣,U是一個 n n的方陣,Σ 是一個n m 的矩陣,其非對角線上的元素都是0。$V^T$是V的轉置,也是一個n n的矩陣。
奇異值跟特徵值相似,在矩陣Σ中也是從大到小排列,並且奇異值的減小特別的快,在不少狀況下,前10%甚至1%的奇異值的和就佔了所有的奇異值之和的99%以上了。也就是說,咱們也能夠用前r大的奇異值來近似描述矩陣。r是一個遠小於m、n的數,這樣就能夠進行壓縮矩陣。
經過奇異值分解,咱們能夠經過更加少許的數據來近似替代原矩陣。
本文已收錄於 www.flydean.com最通俗的解讀,最深入的乾貨,最簡潔的教程,衆多你不知道的小技巧等你來發現!
歡迎關注個人公衆號:「程序那些事」,懂技術,更懂你!