线性代数导论5——SVD分解
SVD分解
SVD分解是LSA的數(shù)學(xué)基礎(chǔ),本文是我的LSA學(xué)習(xí)筆記的一部分,之所以單獨拿出來,是因為SVD可以說是LSA的基礎(chǔ),要理解LSA必須了解SVD,因此將LSA筆記的SVD一節(jié)單獨作為一篇文章。本節(jié)討論SVD分解相關(guān)數(shù)學(xué)問題,一個分為3個部分,第一部分討論線性代數(shù)中的一些基礎(chǔ)知識,第二部分討論SVD矩陣分解,第三部分討論低階近似。本節(jié)討論的矩陣都是實數(shù)矩陣。
基礎(chǔ)知識
1. 矩陣的秩:矩陣的秩是矩陣中線性無關(guān)的行或列的個數(shù)
2. 對角矩陣:對角矩陣是除對角線外所有元素都為零的方陣
3. 單位矩陣:如果對角矩陣中所有對角線上的元素都為零,該矩陣稱為單位矩陣
4. 特征值:對一個M x M矩陣C和向量X,如果存在λ使得下式成立
?
則稱λ為矩陣C的特征值,X稱為矩陣的特征向量。非零特征值的個數(shù)小于等于矩陣的秩。
5. 特征值和矩陣的關(guān)系:考慮以下矩陣
該矩陣特征值λ1 = 30,λ2 = 20,λ3 = 1。對應(yīng)的特征向量
假設(shè)VT=(2,4,6) 計算S x VT
有上面計算結(jié)果可以看出,矩陣與向量相乘的結(jié)果與特征值,特征向量有關(guān)。觀察三個特征值λ1 = 30,λ2 = 20,λ3 = 1,λ3值最小,對計算結(jié)果的影響也最小,如果忽略λ3,那么運算結(jié)果就相當(dāng)于從(60,80,6)轉(zhuǎn)變?yōu)?60,80,0),這兩個向量十分相近。這也表示了數(shù)值小的特征值對矩陣-向量相乘的結(jié)果貢獻小,影響小。這也是后面談到的低階近似的數(shù)學(xué)基礎(chǔ)。
矩陣分解
1. 方陣的分解
1) 設(shè)S是M x M方陣,則存在以下矩陣分解
其中U 的列為S的特征向量,為對角矩陣,其中對角線上的值為S的特征值,按從大到小排列:
2) 設(shè)S是M x M 方陣,并且是對稱矩陣,有M個特征向量。則存在以下分解
其中Q的列為矩陣S的單位正交特征向量,仍表示對角矩陣,其中對角線上的值為S的特征值,按從大到小排列。最后,QT=Q-1,因為正交矩陣的逆等于其轉(zhuǎn)置。
2. 奇異值分解
上面討論了方陣的分解,但是在LSA中,我們是要對Term-Document矩陣進行分解,很顯然這個矩陣不是方陣。這時需要奇異值分解對Term-Document進行分解。奇異值分解的推理使用到了上面所講的方陣的分解。
假設(shè)C是M x N矩陣,U是M x M矩陣,其中U的列為CCT的正交特征向量,V為N x N矩陣,其中V的列為CTC的正交特征向量,再假設(shè)r為C矩陣的秩,則存在奇異值分解:
其中CCT和CTC的特征值相同,為
Σ為M X N,其中,其余位置數(shù)值為0,的值按大小降序排列。以下是Σ的完整數(shù)學(xué)定義:
σi稱為矩陣C的奇異值。
用C乘以其轉(zhuǎn)置矩陣CT得:
上式正是在上節(jié)中討論過的對稱矩陣的分解。
奇異值分解的圖形表示:
從圖中可以看到Σ雖然為M x N矩陣,但從第N+1行到M行全為零,因此可以表示成N x N矩陣,又由于右式為矩陣相乘,因此U可以表示為M x N矩陣,VT可以表示為N x N矩陣
3. 低階近似
LSA潛在語義分析中,低階近似是為了使用低維的矩陣來表示一個高維的矩陣,并使兩者之差盡可能的小。本節(jié)主要討論低階近似和F-范數(shù)。
給定一個M x N矩陣C(其秩為r)和正整數(shù)k,我們希望找到一個M x N矩陣Ck,其秩不大于K。設(shè)X為C與Ck之間的差,X=C – Ck,X的F-范數(shù)為
當(dāng)k遠小于r時,稱Ck為C的低階近似,其中X也就是兩矩陣之差的F范數(shù)要盡可能的小。
SVD可以被用與求低階近似問題,步驟如下:
1. 給定一個矩陣C,對其奇異值分解:
2. 構(gòu)造,它是將的第k+1行至M行設(shè)為零,也就是把的最小的r-k個(the r-k smallest)奇異值設(shè)為零。
3. 計算Ck:
回憶在基礎(chǔ)知識一節(jié)里曾經(jīng)講過,特征值數(shù)值的大小對矩陣-向量相乘影響的大小成正比,而奇異值和特征值也是正比關(guān)系,因此這里選取數(shù)值最小的r-k個特征值設(shè)為零合乎情理,即我們所希望的C-Ck盡可能的小。完整的證明可以在Introduction to Information Retrieval[2]中找到。
我們現(xiàn)在也清楚了LSA的基本思路:LSA希望通過降低傳統(tǒng)向量空間的維度來去除空間中的“噪音”,而降維可以通過SVD實現(xiàn),因此首先對Term-Document矩陣進行SVD分解,然后降維并構(gòu)造語義空間。
總結(jié)
以上是生活随笔為你收集整理的线性代数导论5——SVD分解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SVM(四)KSVM
- 下一篇: KSVD