PCA的數學原理Matlab演示

2021-07-04 11:26:14 字數 1594 閱讀 4658

pca(principal component analysis)主成分分析,是svd(singular value decomposition)奇異值分析的一種特殊情況。主要用於資料降維,特徵提取。

這裡生成乙個3∗

3 的小矩陣便於說明。

a =rand(3,3);
a=

⎡⎣⎢2.7694

−1.3499

3.0349

0.7254

−0.0631

0.7147

−0.2050

−0.1241

1.4897⎤⎦

[v,d] =eig(a);
v=

⎡⎣⎢0.3046

0.9445

0.1230

−0.7368

0.1518

0.6588

0.6036

−0.2914

0.7421⎤⎦

⎥ d=

⎡⎣⎢0.065500

01.306000

020⎤⎦

⎥ v是特徵向量,d是特徵向量對應的特徵值。特徵值從小到大依次為20,1.3060,0.0655。最後乙個特徵非常小,因為我們可以捨去。

subspace = v(:,2:end);
su

bspa

ce=⎡

⎣⎢−0.7368

0.1518

0.6588

0.6036

−0.2914

0.7421⎤⎦

⎥ 我們選取最大的兩個特徵值對應的特徵向量,構成我們的子空間。

q =subspace * subspace 』;
q=

⎡⎣⎢0.9072

−0.2877

−0.0375

−0.2877

0.1079

−0.1162

−0.0375

−0.1162

0.9849⎤⎦

b =q'*a ;
b=

⎡⎣⎢2.7871

−1.2953

3.0420

0.6494

−0.2986

0.6841

−0.2061

−0.1276

1.4893⎤⎦

⎥ 可以看出這裡我們使用子空間投影復原的矩陣

b 和原始矩陣

a差異非常小,我們可以使用frobenius範數度量兩個矩陣的差異。

norm(a-b,'fro');
an

s=0.2560

數學好的同學已經看出來了,其實這也就是矩陣的低秩逼近問題。

min||x

−xr|

|2f,

s.t.

rank

(xr)

<=r

完。作者

日期****

風吹夏天

2023年8月10日

[email protected]

PCA的數學原理

pca的數學原理 pca principal component analysis 是一種常用的資料分析方法。pca通過線性變換將原始資料變換為一組各維度線性無關的表示,可用於提取資料的主要特徵分量,常用於高維資料的降維。網上關於pca的文章有很多,但是大多數只描述了pca的分析過程,而沒有講述其中...

PCA的數學原理 詳細

pca principal component analysis 是一種常用的資料分析方法。pca通過線性變換將原始資料變換為一組各維度線性無關的表示,可用於提取資料的主要特徵分量,常用於高維資料的降維。網上關於pca的文章有很多,但是大多數只描述了pca的分析過程,而沒有講述其中的原理。這篇文章的...

PCA數學原理及程式設計實現

一.乙個場景 已知一家超市,銷售a,b,c,d四種產品,現對每種產品的一周之內每天的銷售情況記錄如下 a b c d 周一 2 0 8 9 周二 4 0 11 13 週三 3 1 10 12 周四 2 3 11 10 周五 1 0 12 9 週六10 11 1 2 週日11 12 2 1 我們將a,...