详尽 channel/feature 选择中的降维

Dimensionality reduction in exhaustive channel/feature selection

我的数据包含 16 个通道 x 128 个样本 x 400 个试验。我想在此数据集中执行详尽的频道选择。我应该在哪里应用PCA?

unsortedChannelIndices = [1:16]
sortedChannelIndices = [];

%Option 1
reducedData = PCA(data, classIndeces)

for chIdx = 1:length(unsortedChannelIndices)

   for c=1:length(unsortedChannelIndices)
      thisChannel = unsortedChannelIndices(c)
      thisChannelSet = [sortedChannelIndices, thisChannel];

      %Option 1
      thisData = reducedData(thisChannelSet,:,:);

      %Option 2
      thisData = PCA(data(thisChannelSet, classIndeces)

      thisPerformance(c) = eval_perf(thisData);%crossvalidation
    end
    [performance(chIdx),best] = max(thisPerformance);
    sortedChannelIndices = [sortedChannelIndices,unsortedChannelIndices(best)];
    unsortedChannelIndices(best) =  [];
end

PCA 或任何降维技术应应用于将要分析的数据。如果我们想要评估对应于较少通道(例如1:4)的子集的性能,则应在该数据(PCA(数据([1:4]),:,:)中应用任何降维技术。因此,选项2是正确的选项。