標籤:

複習:PCA有關

對於PCA這種有點抽象的東西,我自問自答了幾個問題:

1、什麼是特徵值和特徵向量:

大一的時候上線代是這樣說的,有矩陣A,滿足式子 Avec{x}=λvec{x} 的實數lambda稱為矩陣A的特徵值,向量x稱為矩陣A的特徵向量。所以特徵值和特徵向量都是矩陣的一種屬性。直觀上看就是矩陣的特徵向量在進行矩陣對應的線性變換時,其方向並沒有發生改變,只發生了長度上的改變。矩陣乘法對應的線性變換主要是旋轉和拉伸,所以對特徵向量來說,在線性變換下並沒有發生旋轉,只發生了拉伸。

我們假設kxk的矩陣A有k個特徵值 λ_1,λ_2,...,λ_k ,並且它們各不相同(A是滿秩的),對應的特徵向量 vec{x}_1,vec{x}_2,...,vec{x}_k ,那麼這k個特徵向量其實是原始空間里的一組基(如果A是實對稱矩陣得到的就是正交基,也可以對這一組基進行施密特正交化得到標準正交基),原始空間中的任何向量都可以由這一組基表示為 vec{x}=a_1vec{x_1}+a_2vec{x_2}+...+a_kvec{x_k} ,由A矩陣引起的線性變換則可以表示為 Avec{x}=λ_1a_1vec{x_1}+λ_2a_2vec{x_2}+...+λ_ka_kvec{x_k} ,也就是說,由A矩陣引起的對向量x的線性線性變換,完全可以由矩陣A的特徵值和矩陣A的特徵向量來表示。特徵向量就是擁有對線性變換的方向不變性質的向量。

所以用最直白的話來說特徵向量和特徵值是什麼,線性變換中,總會有某些方向上的向量會被保持原方向,這些方向保持不變的向量就是特徵向量,對應線性變換拉伸特徵向量的尺度稱為特徵值,它一定程度上代表了特徵對線性空間的影響權重,特徵值的大小用來表示對應特徵向量的代表性,如果某一個特徵值很大,而其他都很小,那麼該線性變換就可以用特徵值和對應特徵向量來近似表示。

2、PCA的步驟:

1)、對所有樣本進行中心化(方便求協方差);

2)、計算樣本的協方差矩陣;

3)、對協方差矩陣進行特徵分解;

4)、取最大的d個特徵值所對應的特徵向量組成投影矩陣

5)、對原樣本進行投影。

3、協方差矩陣的特徵向量和特徵值代表什麼?如何與PCA聯繫起來?

協方差矩陣衡量的是兩個隨機變數的相關程度,它是實對稱矩陣,大小與樣本的維度相關,對角線上的元素是該維度上的方差,在(i,j)處的元素表示維度i與維度j的相關係數。

由於協方差矩陣是實對稱的,則對協方差矩陣進行特徵分解得到的特徵向量其實是特徵空間的一組正交基。

那對協方差矩陣進行特徵分解,得到的特徵值代表啥?按照前面的思路,特徵值越大,代表著在特徵向量方向上的變化越劇烈,如果將原樣本投影到最大特徵值對應的特徵向量方向上,得到的投影樣本方差將會是最大的,方差最大的樣本具有最強的區分性。我們使用PCA正是為了提取出樣本的主要特徵,使得樣本變得更加可分。

這樣一來,我們將特徵值按從大到小排列,取出d個 λ_1,λ_2,...,λ_d ,再把他們對應的特徵向量組合成投影矩陣 W=[vec{x_1},vec{x_2},...,vec{x_d}] ,那投射則可以表示為 Z=W^TX ,得到樣本在新特徵空間中的表示。

推薦閱讀:

深度森林(deep forest)
機器學習基礎與實踐(一)----數據清洗
機器學習入門之泰坦尼克號案例
實現屬於自己的TensorFlow(三) - 反向傳播與梯度下降實現
Learning Explanatory Rules from Noisy Data 閱讀筆記1

TAG:機器學習 |