HOSVD高階奇異值分解


高階奇異值分解(High Order Singular Value  Decomposition,   HOSVD)


奇異值分解SVD(Singular Value Decomposition)是線性代數中一種重要的矩陣分解

奇異值|A|=0
奇異值分解法是 線性代數矩陣論中一種重要的 矩陣分解法,在信號處理、統計學等領域有重要應用。
定義:設A為復數域內m*n階矩陣,
A*表示A的 共軛轉置矩陣,A*A的n個非負特征值的算術平方根叫作矩陣A的奇異值。記為σ i(A)。
如果把A*A的特征值記為λ i(A*A),則σi(A)=sqrt(λ i(A*A))。
同時,需要注意的是,任意矩陣都有奇異值。對於一般的方陣來說,其奇異值與 特征值是沒有關系的。
直觀的解釋 [2]
在矩陣M的奇異值分解中 M = UΣV*
·U的列(columns)組成一套對M的正交"輸入"或"分析"的基向量。這些向量是MM*的特征向量。
·V的列(columns)組成一套對M的正交"輸出"的基向量。這些向量是M*M的特征向量。
·Σ對角線上的元素是奇異值,可視為是在輸入與輸出間進行的標量的"膨脹控制"。這些是M*M及MM*的奇異值,並與U和V的行向量相對應。

SVD分解

SVD分解是LSA的數學基礎,要理解LSA必須了解SVD,因此將LSA筆記的SVD一節單獨作為一篇文章。本節討論SVD分解相關數學問題,一個分為3個部分,第一部分討論線性代數中的一些基礎知識,第二部分討論SVD矩陣分解,第三部分討論低階近似。本節討論的矩陣都是實數矩陣。

基礎知識

1. 矩陣的秩:矩陣的秩是矩陣中線性無關的行或列的個數

2. 對角矩陣:對角矩陣是除對角線外所有元素都為零的方陣

3. 單位矩陣:如果對角矩陣中所有對角線上的元素都為1,該矩陣稱為單位矩陣

4. 特征值:對一個M x M矩陣C和向量X,如果存在λ使得下式成立

2 

則稱λ為矩陣C的特征值,X稱為矩陣的特征向量。非零特征值的個數小於等於矩陣的秩。

5. 特征值和矩陣的關系:考慮以下矩陣

clip_image004

該矩陣特征值λ1 = 30,λ2 = 20,λ3 = 1。對應的特征向量

clip_image006

假設VT=(2,4,6) 計算S x VT

clip_image008

clip_image010

有上面計算結果可以看出,矩陣與向量相乘的結果與特征值,特征向量有關。觀察三個特征值λ1 = 30,λ2 = 20,λ3 = 1,λ3值最小,對計算結果的影響也最小,如果忽略λ3,那么運算結果就相當於從(60,80,6)轉變為(60,80,0),這兩個向量十分相近。這也表示了數值小的特征值對矩陣-向量相乘的結果貢獻小,影響小。這也是后面談到的低階近似的數學基礎。

矩陣分解

1. 方陣的分解

1) 設S是M x M方陣,則存在以下矩陣分解

clip_image012

其中U 的列為S的特征向量,clip_image014為對角矩陣,其中對角線上的值為S的特征值,按從大到小排列:

clip_image016

2) 設S是M x M 方陣,並且是對稱矩陣,有M個特征向量。則存在以下分解

clip_image018

其中Q的列為矩陣S的單位正交特征向量,clip_image014[1]仍表示對角矩陣,其中對角線上的值為S的特征值,按從大到小排列。最后,QT=Q-1,因為正交矩陣的逆等於其轉置。

2. 奇異值分解

上面討論了方陣的分解,但是在LSA中,我們是要對Term-Document矩陣進行分解,很顯然這個矩陣不是方陣。這時需要奇異值分解對Term-Document進行分解。奇異值分解的推理使用到了上面所講的方陣的分解。

假設C是M x N矩陣,U是M x M矩陣,其中U的列為CCT的正交特征向量,V為N x N矩陣,其中V的列為CTC的正交特征向量,再假設r為C矩陣的秩,則存在奇異值分解:

clip_image020

其中CCT和CTC的特征值相同,為clip_image022

Σ為M X N,其中clip_image024clip_image026,其余位置數值為0,clip_image028的值按大小降序排列。以下是Σ的完整數學定義:

clip_image030

σi稱為矩陣C的奇異值。

用C乘以其轉置矩陣CT得:

clip_image032

上式正是在上節中討論過的對稱矩陣的分解。

奇異值分解的圖形表示:

clip_image034

從圖中可以看到Σ雖然為M x N矩陣,但從第N+1行到M行全為零,因此可以表示成N x N矩陣,又由於右式為矩陣相乘,因此U可以表示為M x N矩陣,VT可以表示為N x N矩陣

3. 低階近似

LSA潛在語義分析中,低階近似是為了使用低維的矩陣來表示一個高維的矩陣,並使兩者之差盡可能的小。本節主要討論低階近似和F-范數。

給定一個M x N矩陣C(其秩為r)和正整數k,我們希望找到一個M x N矩陣Ck,其秩不大於K。設X為C與Ck之間的差,X=C – Ck,X的F-范數為

clip_image036

當k遠小於r時,稱Ck為C的低階近似,其中X也就是兩矩陣之差的F范數要盡可能的小。

SVD可以被用與求低階近似問題,步驟如下:

1. 給定一個矩陣C,對其奇異值分解:clip_image038

2. 構造clip_image040,它是將clip_image042的第k+1行至M行設為零,也就是把clip_image042[1]的最小的r-k個(the r-k smallest)奇異值設為零。

3. 計算Ckclip_image044

回憶在基礎知識一節里曾經講過,特征值數值的大小對矩陣-向量相乘影響的大小成正比,而奇異值和特征值也是正比關系,因此這里選取數值最小的r-k個特征值設為零合乎情理,即我們所希望的C-Ck盡可能的小。完整的證明可以在Introduction to Information Retrieval[2]中找到。

我們現在也清楚了LSA的基本思路:LSA希望通過降低傳統向量空間的維度來去除空間中的“噪音”,而降維可以通過SVD實現,因此首先對Term-Document矩陣進行SVD分解,然后降維並構造語義空間。



免責聲明!

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



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