資源簡介
本程序利用KPCA來對原始數據進行降維,里面有較為詳細的注解,能夠幫助大家理解,程序比較精簡,是在前人的基礎上進行的修改后的結果,運行絕對無錯誤。
代碼片段和文件信息
%%?------------絕對正確的KPCA降維算法--------
clc
close?all;
clear;
?load(‘C:\MATLAB\數據分解\ORtrain1.mat‘)
X_train=ORtrain1;
patterns=zscore(X_train);?%訓練數據標準化
[train_numDimFS]=size(patterns);%train_num是訓練樣本的個數
cov_size?=?train_num?%cov_size是訓練樣本的個數
%%?計算核矩陣
K=zeros(cov_sizecov_size);
rbf_var=10000;%????
for?i=1:cov_size
for?j=i:cov_size
K(ij)?=?exp(-norm(patterns(i:)-patterns(j:))^2/rbf_var);?%核函數?rbf_var???
K(ji)?=?K(ij);
end
end
unit?=?ones(cov_size?cov_size)/cov_size;%cov_size是樣本的個數?求E
%%?中心化核
- 上一篇:matlab處理來自串口的數據并繪圖
- 下一篇:SIFT算法的matlab實現
評論
共有 條評論