PCA 原理及其在圖像壓縮中的應用

PCA(主成分分析),Principle Component Ananlysis

如果有很多個樣本數據,需要從這些樣本數據中找出“冗餘”的信息,然後剔除這些冗餘信息,PCA就可以完成這個任務。

將所有的樣本數據 xi (列向量)拼成一個矩陣 {x1,x2,...,xi,...,xK }。
第一步是預處理,要保證數據的均值爲0。那麼

μ:=1Ki=1Kxi

xi:=xiμ

求這個矩陣的協方差矩陣:
Σ=1Ki=1K(xi)(xi)T

當然,我們在使用PCA處理數據之前需要進行白化處理,那麼x=0 ,也就是說,此時的協方差矩陣是:

Σ=1Ki=1K(xi)(xi)T

然後求出矩陣Σ 對應的特徵向量和特徵值。將特徵值按從大到小排列{λ1,λ2,...,λK },其對應的特徵向量爲{u1,u2,...,uK }

可以證明,u1 就是所有數據點的主要分佈方向。

那麼,我們就可以據此排除一些次要的分佈方向,保留更重要的分佈方向。

我們保留前k個特徵向量,那麼它們對應的矩陣

Û ={u1,u2,...,uk},k<=K

如果選擇這k個向量作爲新的座標系,那麼數據點xi 的座標是:
{u1xi,u2xi,...,ukxi}T

對數據進行降維:
xi^=Û Û Txi

那麼xi^ 就是將原來的xi 投影在前k個最重要的特徵向量方向上之後,在原始座標系中的座標。

這種投影方式可以保證降維的同時,信息量損失最小。

PCA在圖像壓縮中的應用

在圖像中,選取L列作爲訓練樣本,進行PCA降維,假設原始數據爲N維,降維到M維。
爲了保證算法對於圖像的整體亮度改變具有魯棒性,在使用訓練數據之前,需要對每個數據進行零均值處理。

xi:=xiμi

μi:=1Nj=1Nxi(j)

然後,將降維方法應用到圖像的所有列。
那麼,整張圖像就降爲M維,實現了數據壓縮。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章