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

📄 afe.m

📁 SVM支持向量机 里面包含一个教程
💻 M
字号:
function [features,eigvec,eigvals] = AFE(Xs,kernel, kernel_pars,X,type,nb,eigvec,eigvals)% Automatic Feature Extraction by Nystr鰉 method%%% >> features = AFE(X, kernel, sig2, Xt)%% Description% Using the Nystr鰉 approximation method, the mapping of data to% the feature space can be evaluated explicitly. This gives the% features that one can use for a linear regression or% classification. The decomposition of the mapping to the feature% space relies on the eigenvalue decomposition of the kernel% matrix. The Matlab ('eigs') or Nystr鰉's ('eign') approximation% using the nb most important eigenvectors/eigenvalues can be% used. The eigenvalue decomposition is not re-calculated if it is% passed as an extra argument. This routine internally calls a cmex file.%% Full syntax% % >> [features, U, lam] = AFE(X, kernel, sig2, Xt) % >> [features, U, lam] = AFE(X, kernel, sig2, Xt, type) % >> [features, U, lam] = AFE(X, kernel, sig2, Xt, type, nb) % >> features          = AFE(X, kernel, sig2, Xt, [],[], U, lam)% % Outputs    %   features : Nt x nb matrix with extracted features%   U(*)     : N x nb matrix with eigenvectors%   lam(*)   : nb x 1 vector with eigenvalues% Inputs    %   X      : N x d matrix with input data%   kernel : Name of the used kernel (e.g. 'RBF_kernel')%   sig2   : parameter of the used kernel%   Xt     : Data from which the features are extracted%   type(*): 'eig'(*), 'eigs' or 'eign'%   nb(*)  : Number of eigenvalues/eigenvectors used in the eigenvalue decomposition approximation%   U(*)   : N x nb matrix with eigenvectors%   lam(*) : nb x 1 vector with eigenvalues% % See also:%   kernel_matrix, RBF_kernel, demo_fixedsize% Copyright (c) 2002,  KULeuven-ESAT-SCD, License & help @ http://www.esat.kuleuven.ac.be/sista/lssvmlab[N,dim] = size(X);[Nc,dim] = size(Xs);eval('type;','type=''eig'';');if ~(strcmp(type,'eig') | strcmp(type,'eigs') | strcmp(type,'eign'))  error('Type needs to be ''eig'', ''eigs'' or ''eign''...');end  % eigenvalue decomposition to do..if nargin<=6,  omega = kernel_matrix(Xs, kernel, kernel_pars);  if strcmp(type,'eig'),    [eigvec,eigvals] = eig(omega+2*eye(size(omega,1))); % + jitter factor    eigvals = diag(eigvals);  elseif strcmp(type,'eigs'),    eval('nb;','nb=min(size(omega,1),10);');    [eigvec,eigvals] = eigs(omega+2*eye(size(omega,1)),nb); % + jitter factor  elseif strcmp(type,'eign'),    eval('nb;','nb=min(size(omega,1),10);');    [eigvec,eigvals] = eign(omega+2*eye(size(omega,1)),nb); % + jitter factor  end  eigvals = (eigvals-2)/Nc;  peff = eigvals>eps;  eigvals = eigvals(peff);  eigvec = eigvec(:,peff);end  % Cmexfeatures = phitures(Xs',X',eigvec,eigvals,kernel, kernel_pars);

⌨️ 快捷键说明

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