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

2022-01-09 22:53:08 字數 2880 閱讀 8522

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

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

對角矩陣(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λ_1 … 0\\… … …\\0 … λ_m \end\right]\)

這裡需要注意只有可對角化矩陣才可以作特徵分解。比如 \(\left[\begin11\\01 \end\right]\)不能被對角化,也就不能特徵分解。

因為a= qλq-1 ,可以看做a被分解為三個矩陣,也就是三個對映。

假如現在有乙個向量x,我們可以得出下面的結論:

\(ax=qλq^x\)

q是正交矩陣,正交陣的逆矩陣等於其轉置,所以\(q^\) = \(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^x=qλ\left[\beginx_1^t\\x_2^t\\…\\…\\x_m^t \end\right](a_1x_1+a_2x_2+a_3x_3+…+a_mx_m)=qλ\left[\begina_1\\a_2\\…\\a_m \end\right]\)

然後,在新的座標系表示下,由中間那個對角矩陣對新的向量座標換,其結果就是將向量往各個軸方向拉伸或壓縮:

\(qλ\left[\begina_1\\a_2\\…\\a_m \end\right]=q\left[\beginλ_1 … 0\\… … …\\0 … λ_m \end\right]\left[\begina_1\\a_2\\…\\a_m \end\right]=q\left[\beginλ_1a_1\\λ_2a_2\\…\\λ_ma_m \end\right]\)

​ 如果a不是滿秩的話,那麼就是說對角陣的對角線上元素存在0,這時候就會導致維度退化,這樣就會使對映後的向量落入m維空間的子空間中。

最後乙個變換就是q對拉伸或壓縮後的向量做變換,由於q和\(q^\)是互為逆矩陣,所以q變換是\(q^\)變換的逆變換。

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

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

之前講了 λ 是對角矩陣,其對角線上的元素為對應的特徵值,也即λii=λi。 也就是\(\left[\beginλ_1 … 0\\… … …\\0 … λ_m \end\right]\)

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

假如a是m * n階矩陣,q=min(m,n),a*a的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

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

奇異值和奇異值分解

理論 假設m是乙個m n階矩陣,其中的元素全部屬於域 k,也就是 實數域或複數域。如此則存在乙個分解使得 m u v 其中u是m m階酉矩陣 是半正定m n階對角矩陣 而v 即v的共軛轉置,是n n階酉矩陣。這樣的分解就稱作m的奇異值分解。對角線上的元素 i,i即為m的奇異值。直觀的解釋 在矩陣m的...

奇異值和奇異值分解

理論 假設m是乙個m n階矩陣,其中的元素全部屬於域 k,也就是 實數域或複數域。如此則存在乙個分解使得 m u v 其中u是m m階酉矩陣 是半正定m n階對角矩陣 而v 即v的共軛轉置,是n n階酉矩陣。這樣的分解就稱作m的奇異值分解。對角線上的元素 i,i即為m的奇異值。直觀的解釋 在矩陣m的...

數學基礎 奇異值分解SVD

之前看到過很多次奇異值分解這個概念,但我確實沒有學過。大學線性代數課教的就是坨屎,我也沒怎麼去上課,後來查了點資料算是搞清楚了,現在寫點東西總結一下。奇異值分解,就是把乙個矩陣拆成一組矩陣之和。在數學裡面,因式分解,泰勒展開,傅利葉展開,特徵值分解,奇異值分解都是這個路數。就是把當前資料表示成一組某...