特徵向量、特徵值分解、奇異值分解SVD

寫在前面:

現有的印象是:特徵向量代表向量最堅守的部分,方向不變,只是會伸縮。而特徵分解是沿着最重要的特徵向量方向上的分解,有SVD分解、PCA主城成分分析等。但無法深入講下去了。


特徵值和特徵向量的幾何意義

矩陣乘法其實是對應着一個線性變換,是把任意一個向量變成另一個方向或者長度的新向量。在這個變換中,原向量主要發生旋轉、伸縮的變化。如果某個向量x在矩陣A作用下只發生了伸縮變化,其位置仍停留在原來的直線上,稱這些向量爲矩陣的特徵向量,伸縮的比例就是特徵值

定義:

幾何意義:

對於實對稱矩陣來說,不同特徵值對應的特徵向量必定正交;我們也可以說,一個變換矩陣的所有特徵向量組成了這個變換矩陣的一組基;

在機器學習特徵提取中,意思就是最大特徵值對應的特徵向量方向上包含最多的信息量,如果某幾個特徵值很小,說明這幾個方向信息量很小,可以用來降維,也就是刪除小特徵值對應方向的數據,只保留大特徵值方向對應的數據,這樣做以後數據量減小,但有用信息量變化不大,PCA降維就是基於這種思路。我們通過特徵值分解得到的對應特徵值較大的前N個特徵向量,便表示了這個矩陣最主要的N個變化方向。我們利用這前N個變化方向,就可以近似這個矩陣的變換。

特徵值分解

前提:變換的矩陣必須是方陣

目的:提取矩陣重要的特徵。

特徵值分解可以得到特徵值與特徵向量,特徵值表示的是這個特徵到底有多重要,而特徵向量表示這個特徵是什麼。

正文:

Ax = b表示矩陣可以將一個向量線性變換到另一個向量,這樣一個線性變換的作用可以包含旋轉縮放投影三種類型的效應

奇異值分解將一個矩陣原本混合在一起的三種作用效果,分解出來了。

image

其中Q是這個矩陣A的特徵向量組成的矩陣,正交矩陣是可逆的。Σ = diag(λ1, λ2, ..., λn)是一個對角陣,每一個對角線上的元素就是一個特徵值,由大到小排列。

奇異值分解(SVD)

特徵值分解只適用於方陣。而在現實的世界中,我們看到的大部分矩陣都不是方陣,奇異值分解是一個能適用於任意的矩陣的一種分解的方法

image

image

那麼奇異值和特徵值是怎麼對應起來的呢?首先,我們將一個矩陣A的轉置 AT * A,將會得到 ATA 是一個方陣,我們用這個方陣求特徵值可以得到:

image


參考:

特徵值和特徵向量的幾何意義https://blog.csdn.net/qq_36653505/article/details/82025971

矩陣的各種分解https://blog.csdn.net/ycc18829026593/article/details/80567565

利用特徵值分解理解矩陣特徵值和特徵向量的幾何意義http://www.javashuo.com/article/p-mtqnaqeg-ng.html

SVD(特徵值分解和奇異值分解的區別)https://blog.csdn.net/lyf52010/article/details/79942966

https://www.cnblogs.com/fuleying/p/4466326.html