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

📄 dualsparsegeneralfeaturesbound.m.svn-base

📁 a function inside machine learning
💻 SVN-BASE
字号:
function  [newTrainX, newTestX, subspaceInfo] = dualSparseGeneralFeaturesBound(trainX, trainY, testX, params)
%A function to run dualSparseGeneralFeatures3 and then use the bound to
%choose the number of iterations 

%First, extract some features 
params.verboseInfo = 1; 
[newTrainX, newTestX, subspaceInfo] = dualSparseGeneralFeaturesLM3(trainX, trainY, testX, params);

iterations = size(newTrainX, 2); %Might be different from requested iterations 

kernelFunction = char(params.kernelFunctionName); 
kernelParams = params; 

boundParams = params.boundParams; 
boundParams.A = subspaceInfo.A; 
boundParams.kernelFunction = kernelFunction; 
boundParams.kernelParams = params; 

fprintf('Computing covariance bound on resulting features ... '); 
expectationBound = covarianceBound(trainX, trainY, newTrainX, boundParams); 

%Heuristic for selecting cost of each feature - 20 gives 354 features with SMC
featureCost = abs(expectationBound(2) - expectationBound(1))/20;
featureCosts = cumsum(ones(iterations , 1)*featureCost); 
expectationBound = expectationBound - featureCosts;  

[maxCov, maxCovFeatures] = max(expectationBound); 
fprintf(' ... optimal number of features is %d\n', maxCovFeatures); 

newTrainX = newTrainX(:, 1:maxCovFeatures); 
newTestX = newTestX(:, 1:maxCovFeatures); 
subspaceInfo.numFeatures = maxCovFeatures;
subspaceInfo.expectationBound = expectationBound; 

%Clear variables 
subspaceInfo = rmfield(subspaceInfo, 'A'); 
subspaceInfo = rmfield(subspaceInfo, 'tau'); 

⌨️ 快捷键说明

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