资源简介
本程序利用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实现
评论
共有 条评论