以下均是從吳軍的數學之美當中摘抄的:
現在讓我們來看看奇異值分解是怎麼回事。首先,我們可以用乙個大矩陣a
來描述這一百萬篇文章和五十萬詞的關聯性。這個矩陣中,每一行對應一篇文 章,每一列對應乙個詞。
在上面的圖中,m=1,000,000
,n=500,000
。第 i
行,第
j 列的元素,是字典中第
j 個詞在第
i 篇文章中出現的加權詞頻(比如,
tf/idf)。讀者可能已經注意到了,這個矩陣非常大,有一百萬乘以五十萬,即五千億個元素。
奇異值分解就是把上面這樣乙個大矩陣,分解成三個小矩陣相乘,如下圖所示。比如把上面的例子中的矩陣分解成乙個一百萬乘以一百的矩陣x
,乙個一百乘以一百的矩陣
b,和乙個一百乘以五十萬的矩陣
y。這三個矩陣的元素總數加起來也不過
1.5億,僅僅是原來的三千分之一。相應的儲存量和計算量都會小三個數量級以上。
三個矩陣有非常清楚的物理含義:
第乙個矩陣x
中的每一行表示意思相關的一類詞,其中的每個非零元素表示這類詞中每個詞的重要性(或者說相關性),數值越大越相關。
第三個矩陣
y第二個矩陣b則表示類詞和文章之間的相關性。因此,我們只要對關聯矩陣
a進行一次奇異值分解,
奇異值分解 SVD
最近不小心接觸到了svd,然後認真看下去之後發現這東西真的挺強大的,把乙個推薦問題轉化為純數學矩陣問題,看了一些部落格,把乙個寫個比較具體的博文引入進來,給自己看的,所以把覺得沒必要的就去掉了,博文下面附原始部落格位址。一 基礎知識 1.矩陣的秩 矩陣的秩是矩陣中線性無關的行或列的個數 2.對角矩陣...
SVD奇異值分解
原文出處 今天我們來講講奇異值分解和它的一些有意思的應用。奇異值分解是乙個非常,非常,非常大的話題,它的英文是 singular value decomposition,一般簡稱為 svd。下面先給出它大概的意思 對於任意乙個 m n 的矩陣 m 不妨假設 m n 它可以被分解為 m udv t 其...
奇異值分解(SVD)
svd是singular value decomposition的縮寫,是去除冗餘 資訊提取和資料約簡的強大工具。若a為p q實數矩陣,則存在p階正交矩陣u和q階正交矩陣v,使得 a u v 上式就是奇異值分解,其中p q矩陣 中,i,i 元素 i 0,i 1,2,3,min p,q 其他元素均為0...