概述
pca(principal components analysis)即主成分分析技術,又稱為主分量分析,旨在利用降維的思想,把多個指標轉換為少數的幾個綜合指標。
主成分分析是一種簡化資料集的技術,它是乙個線性變換。這個線性變化把資料變換到乙個新的座標系統中,使得任何資料投影的第一大方差在第乙個座標上(稱為第一主成分),第二個大的方差在第二個座標上(稱為第二主成分),以此類推。主成分分析經常用於減少資料集的維數,同時保持資料集的對方差貢獻最大的特徵。這是通過保留低階主成分,忽略高階主成分做到的。這樣低階成分往往能夠保留住資料的最重要方面。
pca的原理就是將原來的樣本資料投影到乙個新的空間中。其中就是將原來的樣本資料空間經過座標變換矩陣變到新空間座標下,新空間座標由其原資料樣本中不同維度之間的協方差矩陣中幾個最大特徵值對應的前幾個特徵向量組成。較小的特徵值向量作為非主要成分去掉,從而可以達到提取主要成分代表原始資料的特徵,降低資料複雜度的目的。
演算法步驟
將n次取樣的m維資料組織成矩陣形式\(x\in r^x\in r^\)。具體形式如下所示:
\[\left(\begin\beginx_&x_\\x_&x_\\\end&\begin\cdots&x_\\\cdots&x_\\\end\\\begin\vdots&\vdots\\x_&x_\\\end&\begin\ddots&\vdots\\\cdots&x_\\\end\\\end\right)
將樣本矩陣\(xx\)的每一列零均值化得新矩陣 \(x^x^\)。
\[\boldsymbol_ \leftarrow \boldsymbol_-\frac \sum_^ \boldsymbol_
\[cov=\fracx^\prime^t
計算協方差矩陣\(cc\)的特徵值及其對應的特徵向量,並特徵值按照從大到小排列。
\[\left(\lambda_1,\lambda_2,\cdots,\lambda_t\right)=\left(\begin\beginp_&p_\\p_&p_\\\end&\begin\cdots&p_\\\cdots&p_\\\end\\\begin\vdots&\vdots\\p_&p_\\\end&\begin\ddots&\vdots\\\cdots&p_\\\end\\\end\right)=\left(\boldsymbol_, \boldsymbol_, \ldots, \boldsymbol_\right)\ ,\ (其中\lambda_1>\lambda_2>\cdots>\lambda_t)
根據降維要求,比如此處降到\(kk\)維,取其前個\(kk\)向量組成降維矩陣\(pp\),如下所示:
\[p=\left(\boldsymbol_, \boldsymbol_, \ldots, \boldsymbol_\right)^t ,\ p\in r^
通過變換矩陣p對原樣本資料\(xx\)進行座標變換,從而達到資料降維與主成分提取的目的。
\[y=x\bullet p\ ,\ y\in r^
重建誤差的計算
在投影完成之後,需要對投影的誤差進行重建,從而計算資料降維之後資訊的損失,一般來說通過以下公式來計算。
\[_2=\frac\sum_^}||^2
其中:\(mm\)個樣本表示為\((x^,x^,\cdots,x^)(x^,x^,\cdots,x^)\)
則其比率\(\eta\eta\)為
\[\eta=\frac_1}_2}
通過\(\eta\eta\)來衡量資料降維之後資訊的損失。
演算法描述
進而我們總結出演算法描述如下:
輸入: 樣本集\(d=\left\_, \boldsymbol_, \ldots, \boldsymbol_\right\}d=\left\_, \boldsymbol_, \ldots, \boldsymbol_\right\}\);
低維空間維數
\(kk\)
過程:對所有樣本進行零均值化:\(\boldsymbol_ \leftarrow \boldsymbol_-\frac \sum_^ \boldsymbol_\boldsymbol_ \leftarrow \boldsymbol_-\frac \sum_^ \boldsymbol_\);
計算樣本的協方差矩陣\(\mathbf^}\mathbf^}\);
對協方差矩陣\(\mathbf^}\mathbf^}\)做特徵值分解;
取最大的\(kk\)個特徵值所對應的特徵向量\(\left(\boldsymbol_, \boldsymbol_, \ldots, \boldsymbol_\right)\left(\boldsymbol_, \boldsymbol_, \ldots, \boldsymbol_\right)\);
進行矩陣變換\(y=p\bullet x\ ,\ y\in r^y=p\bullet x\ ,\ y\in r^\)
輸出: 變換後的矩陣\(y=x\bullet p\ ,\ y\in r^y=x\bullet p\ ,\ y\in r^\)
演算法實現
選用的資料集
使用資料集為:imported analog emg – voltage下的emg1、emg2、…、emg8部分的資料
實驗**展示
filename = 'c:\users\administrator\desktop\機器學習作業\pca\pcadata1.csv';
x = csvread(filename);
m = size(x,1);
meanline = mean(x,2);
r = size(x ,2);
%對原始資料做均值化處理,每一列都減去均值
a = ;
for i = 1:r
temp = x(:,i) - meanline;
a = [a temp];
end%求其協方差矩陣
c = a'*a/r;
%求協方差矩陣的特徵值及其特徵向量
[u,s,v] = svd(c);
%設定降維的維度數k,從1維計算到r-1維
k=8;
%計算投影後的樣本資料y
p=;for x = 1:k
p = [p u(:,x)];
endy = x*p;
%計算資料重建誤差以及比率
err1 = 0;
%獲取樣本x重建後的矩陣xr
xr= y * pinv(p);
for i = 1:m
err1 = norm(x(i,:)-xr(i,:))+err1;
end%計算資料方差
err2 = 0;
for i=1:m
err2 = norm(x(i,:))+err2;
endeta = err1/err2
結果展示與分析
通過計算我們發現對應的特徵值以及其對應的投影方向如下:
\(\lambda_1\lambda_1\)=1.8493對應的投影方向為\((-0.0164,0.0300,-0.2376,0.4247,-0.6717,0.2356,-0.2196,0.4551)(-0.0164,0.0300,-0.2376,0.4247,-0.6717,0.2356,-0.2196,0.4551)\)
\(\lambda_2\lambda_2\)=1.3836對應的投影方向為\((0.0910,0.1724,-0.0097,-0.8267,-0.1464,0.3599,0.0025,0.3570)(0.0910,0.1724,-0.0097,-0.8267,-0.1464,0.3599,0.0025,0.3570)\)
\(\lambda_3\lambda_3\)=0.5480對應的投影方向為\((-0.1396,-0.4457,-0.1668,0.0870,0.2812,0.7696,-0.1742,-0.2115)(-0.1396,-0.4457,-0.1668,0.0870,0.2812,0.7696,-0.1742,-0.2115)\)
\(\lambda_4\lambda_4\)=0.4135對應的投影方向為\((0.0622,0.1782,0.3136,-0.0080,-0.5387,0.2841,0.3300,-0.6214)(0.0622,0.1782,0.3136,-0.0080,-0.5387,0.2841,0.3300,-0.6214)\)
\(\lambda_5\lambda_5\)=0.3218對應的投影方向為\((0.2126,-0.7813,0.3136,-0.0080,-0.5387,0.2841,0.3300,-0.6214)(0.2126,-0.7813,0.3136,-0.0080,-0.5387,0.2841,0.3300,-0.6214)\)
\(\lambda_6\lambda_6\)=0.1322對應的投影方向為\((-0.0959,0.0340,-0.6943,0.0068,0.0269,0.0042,0.7119,0.0064)(-0.0959,0.0340,-0.6943,0.0068,0.0269,0.0042,0.7119,0.0064)\)
\(\lambda_7\lambda_7\)=0.0620對應的投影方向為\((0.8881,-0.0497,-0.3407,-0.0198,-0.0103,-0.0424,-0.2075,-0.2176)(0.8881,-0.0497,-0.3407,-0.0198,-0.0103,-0.0424,-0.2075,-0.2176)\)
\(\lambda_8=9.5959\times 10^\lambda_8=9.5959\times 10^\)對應的投影方向為\((0.3536,0.3536,0.3536,0.3536,0.3536,0.3536,0.3536,0.3536)(0.3536,0.3536,0.3536,0.3536,0.3536,0.3536,0.3536,0.3536)\)
k取不同值時對應的誤差比率如下所示:
k的取值
資料重建誤差eat
0.8265
0.7105
0.6499
0.5940
0.5521
0.5294
0.5162
參考imported analog emg – voltage下的emg1、emg2、…、emg8部分進行pca/nmf降維
pca降維的基本思想 大資料培訓 PCA降維
pca principal component analysis,主成分分析 在高維向量空間中,隨著維度的增加,資料呈現出越來越稀疏的分布特點,增加後續演算法的複雜度,而很多時候雖然資料維度較高,但是很多維度之間存在相關性,他們表達的資訊有重疊。pca的思想是將n維特徵對映到k維上 k這k維特徵稱為...
pca降維的基本思想 你還知道哪些降維方法?
當然pca是眾所周知的降維方法,svd也是一種,除此之外,還有如lda lle以及le。1 pca pca也就是主成份分析,principal component analysis pca 是現如今最流行的無監督線性降維方法之一了,其主要思想是資料經過某種投影,或者說乘以乙個矩陣之後,得到的新的矩陣...
PCA降維演算法
文章由兩部分構成,第一部分主要講解pca演算法的步驟,第二部分講解pca演算法的原理。那麼首先進入第一部分 pca演算法的步驟 樣本矩陣x的構成 假設待觀察變數有m個,其實相當於乙個資料在m維各維度上的座標,我們的目標是在保證比較資料之間相似性不失真的前提下,將描述資料的維度盡量減小至l維 l樣本矩...