我需要编写一个分类器(高斯混合模型),用于人体动作识别。
我有4个视频数据集。我选择其中3个作为训练集,1个作为测试集。
在将gm模型应用于训练集之前,我会在其上运行PCA。
pca_coeff=princomp(trainig_data);
score = training_data * pca_coeff;
training_data = score(:,1:min(size(score,2),numDimension));
在测试阶段,我应该做什么?是否应该在测试数据上执行新的princomp操作?
new_pca_coeff=princomp(testing_data);
score = testing_data * new_pca_coeff;
testing_data = score(:,1:min(size(score,2),numDimension));
我应该使用我为训练数据计算的pca_coeff吗?
score = testing_data * pca_coeff;
testing_data = score(:,1:min(size(score,2),numDimension));
proportion_of_variance = ...
,Matlab文档将其计算如下:proportion_of_variance = cumsum(eigenvalues)./sum(eigenvalues)
,这样可以避免使用那个k
变量,而是得到一个向量,可以使用find
函数找到达到阈值的位置。 - Unapiedra