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

📄 svmkp.m

📁 这是一个用于计算最小二乘支持向量机的函数.很有用.
💻 M
字号:
function [en,U,lam] = kentropy(X, A1, A2, A3, A4)% Quadratic Renyi Entropy for a kernel based estimator% % Given the eigenvectors and the eigenvalues of the kernel matrix, the entropy is computed by% % >> H = kentropy(X, U, lam)% % The eigenvalue decomposition can also be computed (or% approximated) implicitly:% % >> H = kentropy(X, kernel, sig2)% %% Full syntax% % >> H = kentropy(X, kernel, kernel_par)% >> H = kentropy(X, kernel, kernel_par, type)% >> H = kentropy(X, kernel, kernel_par, type, nb)% %       Outputs    %         H          : Quadratic Renyi entropy of the kernel matrix%       Inputs    %         X          : N x d matrix with the training data%         kernel     : Kernel type (e.g. 'RBF_kernel')%         kernel_par : Kernel parameter (bandwidth in the case of the 'RBF_kernel')%         type(*)    : 'eig'(*), 'eigs', 'eign'%         nb(*)      : Number of eigenvalues/eigenvectors used in the eigenvalue decomposition approximation% %% >> H = kentropy(X, U, lam)% %       Outputs    %         H   : Quadratic Renyi entropy of the kernel matrix%       Inputs    %         X   : N x d matrix with the training data%         U   : N x nb matrix with principal eigenvectors%         lam : nb x 1 vector with eigenvalues of principal components% % See also:%   kernel_matrix, RBF_kernel, demo_fixedsize% Copyright (c) 2002,  KULeuven-ESAT-SCD, License & help @ http://www.esat.kuleuven.ac.be/sista/lssvmlabn= size(X,1);if isstr(A1), % kernel_matrix  kernel = A1;  kernel_par = A2;  eval('etype = A3;','etype =''eig'';');  if ~(strcmp(etype, 'eig') |strcmp(etype, 'eigs') |strcmp(etype,'eign')),    error('type has to be ''eig'', ''eigs'' or ''eign''...');  end  eval('nb = A4;',' ');    if strcmp(etype,'eign'),    eval('[U,lam] = eign(X,kernel,kernel_par,nb);','[U,lam] = eign(X,kernel,kernel_par);');  else    omega = kernel_matrix(X, kernel, kernel_par);    eval('[U,lam] = feval(etype,omega,nb);','[U,lam] = feval(etype,omega);');    if size(lam,1)==size(lam,2), lam = diag(lam); end    %onen = ones(n,1)./n; en = -log(onen'*omega*onen);  end  else  U = A1;  lam = A2;end  en = -log((sum(U,1)/n).^2 * lam);  

⌨️ 快捷键说明

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