對PCA降維的理解

2021-08-08 07:28:07 字數 1444 閱讀 5337

這幾天要參加數學建模了,突然想起在建模中可能會遇到從大量的特徵指標中選出關鍵特徵的這個工作,有可能會用到pca降維的知識,所以在比賽前又對這個知識點做一番整理。

這篇部落格的首要目的是說明pca的降維原理。示例方面的話在之後有時間就進行補充。我的敘述會以以下順序進行。

1. 向量空間

2. 線性對映

3. 減少緯度間的相關性

4. 求得特徵值與特徵向量

5. 獲得線性對映空間

向量空間是由向量組成的空間。向量空間存在的前提是有一組基向量。在這個空間中的向量都可以由這組向量表示。我們常見的二維空間就是由兩個相互正交的向量為基向量的向量空間:

[1,2]*[x,0]

t=[x,0] && [1,2]*[0,y]=[0,2y]              (1)

這裡的[1,2]是這個二維空間中的乙個向量,[x,0],[0,y]是這個空間的一組基向量。而[1,2]在這兩維上的投影是x與2y,為了方便起見,我們的x與y一般都取到單位「1」。

由一組基向量組成的線性空間我們已經生成好了,那麼我們如何把乙個向量對映到這個空間中來呢?–》線性對映

已知a=[a1,a2,a3,a4,a5]t是由5個n(n>5)維行向量組成的矩陣。有個n維向量b:

a*b — 由矩陣相乘規則是乙個5維的向量,這個時候我們可以認為b向由a矩陣表示的向量空間(a1,a2,a3,a4,a5)做了對映,結果維度從原來自己的n維降到了5維。這裡我們從原來的n維空間到5維是做了一次線性對映。

此處需要作圖:

既然如此,將高維對映到低維如此簡單,那麼我們的思考的重點應該放在如何選取這個重要的基座標上。在這個問題上,我們又得分為三部分講述,但是我不分了,真取用最少的篇幅講完:

我們首先從巨集觀的視角看待這個問題。在高維對映到低維的過程中,資料資訊的損失在所難免,但是如何選取較少的維度,表示足夠多的資訊呢?(1)這裡我們需要引入統計學中的乙個概念,叫做方差。方差越大表示資料波動越大,包含的資訊量越大。反之也不難理解。(2)另外我們需要考慮的一點是,在低維空間中,不同維度之間應該盡可能的線性無關,也即樣本不同維度的協方差應該為0,維度的使用率盡可能的高,我們如果兩個維度相關的話,會有一部分內容重複,導致資訊的表達不充分。由此我們可以有如此做法:

b=[b1,b2,b3,b4,b5]  c = btb.

這裡b是樣本組成的矩陣,c的對角線是樣本值b的方差,非對角線上的元素是協方差值。於是乎我們現在得到了一組由樣本方差與協方差組成的矩陣c。我們接下來的目標就是把c中的協方差最小化為0。我們可以如下做。使用特徵值與特徵變數將該矩陣化為乙個對角線上元素不全為0,而非對角線的元素全是0。

由於c為乙個nxn的對稱矩陣,所以一定存在正交基p,與對角矩陣v滿足以下公式: 

c = p

tvp這裡的v是由特徵值組成的對角矩陣。p是由特徵向量組成的基向量。亦即我們所求的特徵空間。

最後我們所需要做的線性對映是d=ptb;

PCA降維深入理解

網上資料非常多,大部分都是講先求協方差,協方差怎麼求的,但是沒有講為什麼要求協方差,為什麼要選特徵值最大的特徵,特徵值最大到底代表了什麼含義。簡單回憶 計算協方差到底是選行還是選列呢,記住協方差矩陣是計算不同維度間的協方差,不是兩個樣本間的,所以我們求協方差的目的就是計算不同緯度之間的相關性,並選出...

PCA降維演算法

文章由兩部分構成,第一部分主要講解pca演算法的步驟,第二部分講解pca演算法的原理。那麼首先進入第一部分 pca演算法的步驟 樣本矩陣x的構成 假設待觀察變數有m個,其實相當於乙個資料在m維各維度上的座標,我們的目標是在保證比較資料之間相似性不失真的前提下,將描述資料的維度盡量減小至l維 l樣本矩...

PCA降維原理

在之前的介紹中,一幅影象只能表示乙個物件。那麼對於w x h的灰度影象,只能表示為w x h位的向量,那麼乙個有100 100的影象就需要10000維的向量空間。對於一幅人臉而言,是否所有維的資料都是有用的呢?在矩陣論當中我們知道,矩陣可以近似的表示為乙個特徵值與特徵向量的乘積。根據這個原理,如果我...