是一種資料降維方法。保留具有代表性的主成分,捨棄比重較小的成分。
###演算法步驟
###matlab**實現
clear all;
close all;
clc;
load data.mat
[m,n] = size(x);
%%step1:預處理資料。均值標準化(零均值),特徵縮放;
x = x - repmat(mean(x),50,1);
s = std(x,0,1);
x = x./repmat(s,50,1);
axis([-3 3 -3 3]);
hold on
plot(x(:, 1), x(:, 2), 'bo');
%%step2:計算協方差矩陣;
sigma = (x'*x)/m;
%%step3:對協方差矩陣進行特徵值分解,求解特徵值和特徵向量;
[u,s,v] = svd(sigma);%採用奇異值分解,可以對任意陣進行求解,而且在s的對角線上,非負且按降序排列,便於提取主成分.
%%step4:資料降維;
k = 1;
u = u(:,1:k);%提取主特徵向量
dr = x*u; %投影
%%step5:還原近似資料.
x_r = dr*u';%重構
plot(x_r(:, 1), x_r(:, 2), 'ro');
###效果圖
pca主成分分析 PCA主成分分析(中)
矩陣 matrix,很容易讓人們想到那部著名的科幻電影 駭客帝國 事實上,我們又何嘗不是真的生活在matrix中。機器學習處理的大多數資料,都是以 矩陣 形式儲存的。矩陣是向量的組合,而乙個向量代表一組資料,資料又是多維度的。比如每個人的都具有身高 體重 長相 性情等多個維度的資訊資料,而這些多維度...
MATLAB實現主成分分析 PCA
function ds,com num,pv,new score,new score s pca dr a,t pca dr 主成分降維及分析函式 輸入變數 a 原始資料 未標準化處理 t 設定累積貢獻率的閾值 輸出變數 ds 特徵值及貢獻率 com num 閾值t對應的主成分數 pv 閾值t對應的...
主成分分析PCA
主要參考這篇文章 個人總結 pca是一種對取樣資料提取主要成分,從而達到降維的目的。相比於上篇文章介紹到的svd降維不同,svd降維是指減少資料的儲存空間,資料的實際資訊沒有缺少。個人感覺pca更類似與svd的去噪的過程。pca求解過程中,涉及到了svd的使用。針對資料集d 假設di 的維度為 w ...