AI數學基礎之:奇異值和奇異值分解


簡介

奇異值是矩陣中的一個非常重要的概念,一般是通過奇異值分解的方法來得到的,奇異值分解是線性代數和矩陣論中一種重要的矩陣分解法,在統計學和信號處理中非常的重要。

在了解奇異值之前,讓我們先來看看特征值的概念。

相似矩陣

在線性代數中,相似矩陣是指存在相似關系的矩陣。設A,B為n階矩陣,如果有n階可逆矩陣P存在,使得P-1AP=B,則稱矩陣A與B相似,記為A~B。

對角矩陣

對角矩陣(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維非零向量。

Λ 是對角矩陣,其對角線上的元素為對應的特征值,也即Λiii。 也就是\(\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}\)變換的逆變換。

特征值的幾何意義

一個矩陣乘以一個列向量相當於矩陣的列向量的線性組合。一個行向量乘以矩陣,相當於矩陣的行向量的線性組合。

所以向量乘以矩陣之后,相當於將這個向量進行了幾何變換。

之前講了 Λ 是對角矩陣,其對角線上的元素為對應的特征值,也即Λiii。 也就是\(\left[\begin{matrix}λ_1 … 0\\… … …\\0 … λ_m \end{matrix}\right]\)

這些特征值表示的是對向量做線性變換時候,各個變換方向的變換幅度。

奇異值 Singular value

假如A是m * n階矩陣,q=min(m,n),A*A的q個非負特征值的算術平方根叫作A的奇異值。

奇異值分解SVD

特征值分解可以方便的提取矩陣的特征,但是前提是這個矩陣是一個方陣。如果是非方陣的情況下,就需要用到奇異值分解了。先看下奇異值分解的定義:

\(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

最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!

歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM