PCA與協方差

2021-10-02 20:58:17 字數 1526 閱讀 2640

定義:矩陣x∈r

nx\in \mathbb^

x∈rm×n

,m

mm代表資料或樣本的個數,n

nn代表資料的特徵(屬性)維數,分別計算出每一列的平均值,各列數值分別減去對應列的均值,稱為對資料x

xx進行去均值操作,記去均值之後的資料記為x

~\tilde

x~,則資料x

xx的協方差矩陣為:

c ov

(x)=

1m−1

x~tx

~cov(x)=\frac\tilde^t\tilde

cov(x)

=m−1

1​x~

tx~為什麼是這樣呢?

要去看一篇部落格,這篇部落格是詳細論述pca(主成分分析)原理的,但是這篇部落格中對資料的定義和我們上面的定義正好相反,他的行方向代表資料的特徵方向,列方向代表樣本條目。所以整個過程的推導都要注意這一點他是反著來的。

這篇部落格的重點內容我來說明下:

設原始資料矩陣x

xx對應的協方差矩陣為c

cc,去均值之後的資料矩陣為x

~\tilde

x~,而p

pp是一組基按列組成的矩陣,設y=x

~p

y=\tildep

y=x~

p,則y

yy為x

~\tilde

x~在新的一組基底p

pp下做投影對映得到的資料。設y

yy的協方差矩陣為d

dd,我們推導一下d

dd與c

cc的關係:

d =1

m−1y

ty=1

m−1p

tx~t

x~p=

pt(1

m−1x

~tx~

)p=p

tc

p\begind&=\fracy^ty\\ &=\fracp^t\tilde^t\tildep\\ &=p^t\left(\frac\tilde^t\tilde\right)p\\ &=p^tcp \end

d​=m−1

1​yt

y=m−

11​p

tx~t

x~p=

pt(m

−11​

x~tx

~)p=

ptcp

​由於我們構造的p

pp都是由標準正交基組成的,並且對稱矩陣一定可以對角化或合同化分解,且這種分解除了特徵值特徵向量的排列順序可以變化外是唯一的,所以協方差矩陣d

dd一定是對角陣,而對角線上的元素表示樣本投影到各個基底上之後計算得到的各自基底上投影點的方差,並且是由大到小排列,不同基底的投影點之間的協方差為0,這才是pca資料降維的核心邏輯,而降維後的主特徵其實是一種抽象的對映,並不是簡單的去掉某些特徵列後得到的資料。

其他部分參看原文。pca的數學原理

還有相關的協方差基礎知識,請移步到這裡

方差與協方差

方差是實際值與期望值 均值 之差平方的平均值,衡量的是一組資料對於其期望值的離散程度。d x k 1 xk e x 2pk 其中e x 是x的期望值,p pk,k 1,2 是x的分布律。d x x e x 2 f x dx其中f x 是x的概率密度。由數學期望的性質展開,上面兩式都可得到 d x e...

方差與協方差

方差 variance 是度量一組資料分散的程度。方差是各個樣本與樣本均值的差的平方和的均值 var x ni 1 xi?x 2n?1 numpy裡面有var方法可以直接計算方差,ddof引數是貝塞爾 無偏估計 校正係數 bessel s correction 設定為1,可得樣本方差無偏估計量。pr...

詳解協方差與協方差矩陣

協方差的定義 對於一般的分布,直接代入 e x 之類的就可以計算出來了,但真給你乙個具體數值的分布,要計算協方差矩陣,根據這個公式來計算,還真不容易反應過來。網上值得參考的資料也不多,這裡用乙個例子說明協方差矩陣是怎麼計算出來的吧。記住,x y 是乙個列向量,它表示了每種情況下每個樣本可能出現的數。...