0

PCAを正しく適用するかどうかはわかりません。私はp個の特徴とn個の観測値(インスタンス)を持っています。私はこれらをnxp行列Xに入れます。平均正規化を行い、正規化行列Bを求めます.pxp共分散行列C =(1 /(n-1))B * .Bの固有値と固有ベクトルを計算します。*は*コンジュゲート転置。主成分分析(PCA)を使用して検出を高速化する方法は?

降順に順序付けられた固有値に対応する固有ベクトルは、pxp行列Eにあります。私がpからkに属性の数を減らしたいとしましょう。私は方程式X_new = B.E_reducedを使用します。ここでE_reducedはEの最初のk列を選択することによって生成されます。

1)X_new = B.E_reducedまたはX_new = X.E_reducedにする必要がありますか?

2)テストフェーズで上記の計算を繰り返す必要がありますか?テストフェーズがトレーニングフェーズに似ている場合は、テストフェーズで各インスタンスのすべてのp個のフィーチャを計算しなければならず、固有ベクトル計算オーバーヘッドのためにPCAによってアルゴリズムが遅くなるため、スピードアップは得られません。

3)PCAを適用した後、私は精度が低下したことに気付きました。これはカーネルPCAの代わりにリニアPCAを使用しているという事実か、番号k(I set k = p/2)に関連していますか?番号kを選択する最良の方法は何ですか?私は、すべての固有値の総和に対するk個の固有値の総和の比を求め、この比に基づいて決定することができると私は読む。

答えて

0

通常、中央に置かれたデータに乗算を適用するので、投影データも中央に配置されます。

テスト中にPCAを再実行しないでください。。訓練データでのみ使用し、はシフトベクトルと投影行列を保持します。 正確にをトレーニング中と同じ投影を適用する必要があります。新しい投影を再計算しないでください。

パフォーマンスの低下には多くの理由があります。例えば。固有値のルーツを使ってスケーリングを適用しましたか?どのような方法で最初の場所を使いましたか?

+0

投影行列は行列Bです。そうですか?シフトベクトルとは何ですか?だから、私はテストインスタンスの1xpベクトルyを得る。ベクトルyをどのように投影するのですか?私は固有値のルーツでスケーリングを使用しませんでしたが、それを詳しく教えてください。方法によって、あなたは分類方法を意味しますか? – user5388874

+0

通常、スケーリングファクタを組み込んだ、異なる方法で投影行列を構築します。シフトオフセットはセンタリングに使用されるベクトルです。したがって、投影操作としてB(x-mu)を使用します。 –

関連する問題