⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kpca.m

📁 马尔可夫随机场去噪的例子及其Kernel PCA
💻 M
字号:
function [K_n,eigvectors,eigvalues]=kpca(trainsamples,var);
% [K_n,eigvectors,eigvalues]=kpca(trainsamples,var)
%trainsamples are the training sample,trainsamples(i,:) is the ith train
%sample.
%var is the gaussian kernel's variance
% we use the Gaussian kernel
% kernel,k(x,y)=exp(-||x-y||^2/var);var 
% eigvectors is the eigvector and eigvalues is the eig values 
%K_n is the kernel matrix.

[h,w]=size(trainsamples);
for i=1:h
    for j=i:h
        K(i,j)=gausskernel(trainsamples(i,:),trainsamples(j,:),var);
        K(j,i)=K(i,j);
    end
end
K_n=K-(ones(h)*K)/h-(K*ones(h))/h+(ones(h)*K*ones(h))/(h^2);
[eigvectors,eigvalues_n]=eig(K_n);
eigvalues=real(diag(eigvalues_n));
for i=1:h
    eigvectors(:,i)=eigvectors(:,i)/sqrt(eigvalues(i));
end
[eigvalues,it]=sort(eigvalues,'descend');
eigvectors=eigvectors(:,it);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -