Matlab 基于PCA的gabor滤波器组特征约简
使用Matlab,我正在使用Gabor滤波器组,在不同的方向和尺度下,通过使用的滤波器数量,我得到了大量的特征。对于训练数据的总数,我想部署PCA以减少功能数量,但我不知道如何开始以及使用哪个功能,请提供帮助。如果要使用PCA以减少功能数量 更基本一点的版本:Matlab 基于PCA的gabor滤波器组特征约简,matlab,image-processing,pattern-matching,feature-extraction,feature-selection,Matlab,Image Processing,Pattern Matching,Feature Extraction,Feature Selection,使用Matlab,我正在使用Gabor滤波器组,在不同的方向和尺度下,通过使用的滤波器数量,我得到了大量的特征。对于训练数据的总数,我想部署PCA以减少功能数量,但我不知道如何开始以及使用哪个功能,请提供帮助。如果要使用PCA以减少功能数量 更基本一点的版本: %% some data points for 2 features X = [1,1,1, 2,2,2, 3,3,3 ; 1,2,3, 2,3,4, 3,4,5]; numX = size(X,2); %% PCA covX = ze
%% some data points for 2 features
X = [1,1,1, 2,2,2, 3,3,3 ; 1,2,3, 2,3,4, 3,4,5];
numX = size(X,2);
%% PCA
covX = zeros(2,2); % sample covariance
meanX = mean(X,2); % sample mean
for k = 1:numX
covX = covX + (X(:,k) - meanX) * (X(:,k) - meanX)';
end
covX = covX / (numX - 1);
% essential part of PCA:
[V,D] = eig(covX);
现在,PCA特征约简通常意味着将D中对角项对应的最大方差方向解释为最具辨别力的方向。因此,您只需使用几列V就可以将您的特征重新加权为最大变化的较小子集
也许有点偏离你的问题,但在我看来相当重要:部署PCA并不总是减少特征数量的最佳选择,因为方差最大的方向并不总是最具辨别力的方向!此外,您还必须计算所有特征,并减少分类数量,这有望避免过度拟合问题。所以也许你也想考虑其他的方法。可以work@chappjc似乎今晚我们是孤独的;哦我猜有一条规则,注释功能不应该被误用为普通聊天:D