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

📄 kernelpca.m

📁 用于matlab环境下的支持向量机svm的工具箱
💻 M
字号:
function [eigvect,eigval,Kt]=kernelpca(x,kernel,kerneloption)

% USAGE
%   [eigvect,eigval]=kernelpca(x,kernel,kerneloption)
%
% Diagonalizing the covariance matrix in feature space 
%
% eigenvalues are sorted in descending order
%
%

tol=1e-15; %tolerance on zeroness of eigenvalue
if nargin <2
    kernel='poly';
    kerneloption=1;
end;

nx=size(x,1);
K=svmkernel(x,kernel,kerneloption);
oneM=ones(nx,nx)./nx;
Kt=K-oneM*K-K*oneM+oneM*K*oneM;
[eigvect,eigval]=eig(Kt/nx); % diagonalizing Kt/nx;
eigval=diag(eigval);
indeigval=(find(abs(eigval)>=tol)); % keeping only eigval higher than tol
eigvect=eigvect(:,indeigval);
eigval=eigval(indeigval);
nbeigval=length(eigval);
for i=1:nbeigval % normalizing eigenvector
    eigvect(:,i)=eigvect(:,i)/sqrt(eigval(i));
end;

[aux,ind]=sort(-eigval);
eigval=eigval(ind);
eigvect=eigvect(:,ind);

⌨️ 快捷键说明

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