這是我見過最通俗易懂的SVD(奇異值分解)演算法介紹

rainbow70626發表於2024-10-13

線性代數是機器學習領域的基礎,其中一個最重要的概念是奇異值分解(SVD),本文儘可能簡潔的介紹SVD(奇異值分解)演算法的基礎理解,以及它在現實世界中的應用。

SVD是最廣泛使用的無監督學習演算法之一,它在許多推薦系統和降維繫統中居於核心位置,這些系統是全球公司如谷歌、Netflix、Facebook、YouTube等的核心技術。

簡單來說,SVD是將一個任意矩陣分解為三個矩陣。所以如果我們有一個矩陣A,那麼它的SVD可以表示為:

A是矩陣,U是的正交矩陣,是的非負對角矩陣,是的正交矩陣。

U也被稱為左奇異向量,S為奇異值,V為右奇異向量。

帶維度的奇異值分解:

用矩陣表示奇異值分解:

我們通常將具有較大特徵值的向量排列在前,而較小特徵值的向量則排在後面。

特徵值與向量的對應關係:

與特徵值分解相比,奇異值分解可以應用於非方陣。在SVD中,U和 V 對於任何矩陣都是可逆的,並且它們是正交歸一的,這是我們所喜愛的特性。雖然這裡不進行證明,但我們可以告訴你,奇異值位元徵值在數值上更穩定。

為了更好地理解,我們透過一個例子演示SVD。

假設我們有非方陣A:

我們計算矩陣與轉置矩陣的乘積,有:

求解的特徵值和特徵向量:

求解的特徵值和特徵向量:

奇異值是正特徵值的平方根,即5和3。因此非方陣A的SVD分解為:

SVD分解證明

最後一個方程等價於求矩陣的特徵向量,我們只需將所有特徵向量放入一個矩陣中,矩陣S則是包含特徵值的對角矩陣。

SVD的另一種表述

SVD降維

SVD應用

1.影像降維
2.特徵臉
3.降低噪聲

結論

我真的覺得奇異值分解(SVD)被低估了。它是線性代數中一個非常重要的基礎概念,而且它的應用非常酷!相信我,我們看到的只是 SVD 眾多用途中的一小部分。有什麼問題,歡迎討論!

原文連結:這是我見過最通俗易懂的SVD(奇異值分解)演算法介紹

相關文章