私は人間の行動認識に使用する分類子(ガウス混合モデル)を書く必要があります。 私はビデオの4つのデータセットを持っています。トレーニングセットとして3つ、テストセットとして1つを選択します。 gmモデルをトレーニングセットに適用する前に、そのモデルにpcaを実行します。主成分分析
pca_coeff=princomp(trainig_data);
score = training_data * pca_coeff;
training_data = score(:,1:min(size(score,2),numDimension));
どうすればよいですか?私は、テストデータ
new_pca_coeff=princomp(testing_data);
score = testing_data * new_pca_coeff;
testing_data = score(:,1:min(size(score,2),numDimension));
または私はトレーニングデータのための計算pca_coeffを使用する必要があります上に新しいprincompを実行すべきか?
score = testing_data * pca_coeff;
testing_data = score(:,1:min(size(score,2),numDimension));
ありがとうRichante、あなたの答えは明確で有用です。私は別の疑問を抱いている。使用するコンポーネントはいくつありますか?各観測について、私は800個の特徴を計算し、これらは元のデータの次元です。 numDimensionの最良の選択は何ですか?私が使うことができる式があるのか、それとも実験結果によってそれを選ぶべきですか? –
私は元の答えにいくつかの情報を加えて、主成分の数を選ぶ方法を説明しました。簡単な答えは、実際には良い公式はありません。実験で選ぶのはおそらく大丈夫です。 – Richante
最後のコード 'proportion_of_variance = ...'について、Matlab docsは 'proportion_of_variance = cumsum(eigenvalues)。/ sum(eigenvalues)'と計算し、その 'k'変数の必要性を緩和します。ベクトルを使用して、しきい値に達した場所を見つけるための検索を実行できます。 – Unapiedra