奇異值分解(Singular Value Decomposition鉴裹,簡(jiǎn)稱為SVD)是機(jī)器學(xué)習(xí)中非尘独螅基礎(chǔ)的算法猖凛,主要用于數(shù)據(jù)降維绪穆,推薦系統(tǒng)以及自然語(yǔ)言處理等方面,本節(jié)內(nèi)容先來(lái)介紹其數(shù)學(xué)原理玖院。
特征值和特征向量
大學(xué)學(xué)過(guò)線性代數(shù),貌似我對(duì)奇異值分解也沒(méi)有什么印象试溯。奇異值究竟是個(gè)什么鬼遇绞,我們還得先從特征值和特征向量說(shuō)起燎窘。
其中是實(shí)對(duì)稱矩陣,為維向量付鹿。實(shí)數(shù) 稱為矩陣蚜迅,而稱為矩陣的特征值對(duì)應(yīng)的特征向量。
求出特征值和特征向量有什么好處呢坐梯?我們就可以對(duì)矩陣進(jìn)行分解了刹帕。假設(shè)矩陣有個(gè)特征值分別是,對(duì)應(yīng)的特征向量為,記.
如果是正交矩陣,也就是說(shuō)其逆矩陣與轉(zhuǎn)置相等践瓷,那么矩陣分解可以寫成下面這樣:
前提是這個(gè)矩陣必須是方陣才能做這樣的分解院喜,如果這個(gè)矩陣不是方陣呢晕翠?那么這個(gè)時(shí)候就需要奇異值分解了。
奇異值分解
假設(shè)是一個(gè)階矩陣硫麻,其中的元素全部屬于實(shí)數(shù)域(不考慮復(fù)數(shù)域)拿愧。如此則存在一個(gè)分解使得
其中是階酉矩陣浇辜;是階非負(fù)實(shí)數(shù)對(duì)角矩陣唾戚;而,即的轉(zhuǎn)置叹坦,是階酉矩陣熊镣。這樣的分解就稱作的奇異值分解。 對(duì)角線上的元素即為M的奇異值募书。常見(jiàn)的做法是將奇異值由大而小排列绪囱。如此便能由M唯一確定了。(雖然U和V仍然不能確定)[1]
接下來(lái)就是計(jì)算這幾個(gè)矩陣了莹捡。我們知道是一個(gè)階矩陣鬼吵,那么就是階矩陣了
對(duì) 進(jìn)行分解,得到的特征值 組成的特征向量.就得到了矩陣, 我們把這個(gè)矩陣每個(gè)向量記做矩陣的右奇異向量。
同樣的操作我們分解這個(gè)矩陣
對(duì) 進(jìn)行分解,得到的特征值 組成的特征向量.就得到了矩陣, 我們把這個(gè)矩陣每個(gè)向量記做矩陣的左奇異向量道盏。
現(xiàn)在就差計(jì)算奇異值了,也就是這個(gè)對(duì)角矩陣而柑。由于那么
將這些奇異值按照大小排列得到的對(duì)角矩陣即為
討論
對(duì)于矩陣, 我們接下來(lái)討論一下它的秩,對(duì)于這種分解稱為緊奇異值分解文捶;如果稱為這種分解為截?cái)嗥娈愔捣纸?/strong>,在應(yīng)用中提到的奇異值分解通常都是截?cái)嗥娈愔捣纸?sup>[2]种远。
對(duì)于數(shù)據(jù)壓縮來(lái)說(shuō)坠敷,緊奇異值分解是一種無(wú)損壓縮,而截?cái)嗥娈愔捣纸馐且环N有損壓縮粥帚,顧名思義芒涡,截?cái)嗥鋵?shí)就是舍棄了部分奇異值费尽,也就損失了部分特征旱幼。
歡迎關(guān)注我的微信公眾號(hào)“數(shù)學(xué)編程”
參考
-
李航.統(tǒng)計(jì)學(xué)習(xí)方法[M].第二版.北京:清華大學(xué)出版社,2019:271-277 ?