tft每日頭條

 > 圖文

 > 廣義奇異值分解

廣義奇異值分解

圖文 更新时间:2025-02-03 20:26:57

特征分解和奇異值分解在機器學習的應用中經常出現,在學習線性代數的時候也學習過。線性代數學完之後,之後去按照步驟去求解特征值和特征向量,也沒搞明白特征值和特征向量究竟有什麼作用。這篇文章的主要内容包括:

1、什麼是特征分解

2、什麼是奇異值分解

3、如何求解特征值和特征向量

4、特征值和特征向量有什麼意義

廣義奇異值分解(特征分解和奇異值分解的真正意義)1

一、特征分解

特征分解(eigendecomposition):是使用最廣的矩陣分解之一,通過特征分解可以将矩陣分解成一組特征值和特征向量。方陣A的特征向量(eigenvector)是指與A相乘後相當于對該向量進行縮放的非零向量v

廣義奇異值分解(特征分解和奇異值分解的真正意義)2

其中v就是方陣A的特征向量,λ就是A的特征值。如果v是A的特征向量,那麼任何縮放後的向量s*v(s為任意實數,且不為0)也是A的特征向量。同時sv和v具有相同的特征值。所以,通常情況下我們都隻考慮單位特征向量。通過将矩陣分解成為特征值和特征向量,來幫助我們分析矩陣。

二、奇異值分解

奇異值分解(singular value decomposition,SVD):是将矩陣分解成為特征值和特征向量的另一種方法,通過奇異值分解,可以将矩陣分解為奇異向量(singular vector)和奇異值(singular value)。通過奇異值分解,我們可以得到一些與特征分解相同類型的信息。而且,奇異值分解的應用非常廣泛,如推薦系統、圖片壓縮等。每一個實數矩陣都有一個奇異值分解,但不一定有特征分解。非方陣的矩陣沒有特征分解,此時我們隻能使用奇異值分解。

假設A是一個m×n的矩陣,那麼U是一個m×m的矩陣,D是一個m×n的矩陣,V是一個n×n的矩陣。其中,矩陣U和V都是正交矩陣,而矩陣D是對角矩陣。矩陣D不一定是方陣。

對角矩陣D對角線上的元素就是矩陣A的奇異值(singular value)。矩陣U的列向量是左奇異向量(left singular vector),矩陣V的列向量是右奇異向量(right singular vector)。

我們可以通過特征分解來解釋奇異值分解,A的左奇異向量是A乘A的轉置的特征向量,A的右奇異向量是A的轉置乘A的特征向量。A的非零奇異值是A的轉置乘A特征值的平方根,也是A乘A的轉置特征值的平方根。

三、特征值和特征向量的求解

在線性代數中,有介紹過通過矩陣的運算來求解矩陣的特征值和特征向量,下面通過一個例子來介紹一下整個運算過程

廣義奇異值分解(特征分解和奇異值分解的真正意義)3

廣義奇異值分解(特征分解和奇異值分解的真正意義)4

下面我們通過numpy來對求解矩陣A的特征值和特征向量

廣義奇異值分解(特征分解和奇異值分解的真正意義)5

廣義奇異值分解(特征分解和奇異值分解的真正意義)6

通過對比可以發現,使用numpy求出來的特征向量好像與我們所求的有些不一樣,那是因為numpy将特征向量進行了歸一化。

四、特征值和特征向量的含義

其實在将矩陣分解成為特征值和特征向量的時候,在PCA和LDA中都有應用。我們将矩陣分解之後,按照特征值的大小對對應的特征向量進行排序,然後根據我們需要将原始矩陣降低到指定的維度,取前k個特征向量,組合成為一個映射矩陣,然後通過映射矩陣将原始矩陣映射到降維後的空間中。

其實,我們可以将矩陣的分解過程理解為一個力的分解,其中特征向量代表了分解力的方向,特征值代表分解的力在這個方向上的大小,我們也可以通過分解的力來得到合成力(矩陣)。在使用奇異值壓縮圖片的時候,正是使用了這一思想。在下一篇文章中,将介紹如何通過奇異值分解來設計推薦系統和實現圖片的壓縮。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved