他のハイパーパラメーターと同じように、最適なPCA kパラメーターを見つけようとしても大丈夫ですか?


7

主成分分析(PCA)は、n次元データをk次元データに変換して、機械学習の速度を上げるために使用されます。PCAが適用された後、元のデータセットの分散が結果のデータセットにどれだけ残っているかを確認できます。一般的な目標は、90%と99%の間の差異を維持することです。

私の質問は、kパラメータの異なる値(結果のデータセットの次元のサイズ)を試してから、選択したのと同じ方法で、いくつかの相互検証データセットに対して結果のモデルの結果を確認することをお勧めします。正則化ラムダやしきい値のような他のハイパーパラメーターの良い値は?

回答:


5

選択にトレーニングセットではなく検証セットを使用することに重点を置いている k良い習慣であり、従うべきです。しかし、私たちはさらに良いことができます!

パラメータ kPCA一般的なハイパーパラメータよりも特別です。なぜなら、解決策はPCA(k) にすでに存在します PCA(K)、 ために K>k、最初です k 固有ベクトル(に対応 k 最大の固有値) PCA(K)。したがって、実行する代わりにPCA(1)PCA(4)、...、 PCA(K) 個別にトレーニングデータを使用します。これは、一般的にハイパーパラメータの場合と同様に、 PCA(K) すべての人に解決策を k{1,..,K}

その結果、プロセスは次のようになります。

  1. 走る PCA 許容できる最大の K トレーニングセットで
  2. プロット、または準備(k、分散)検証セット、
  3. を選択 k これにより、許容可能な最小の分散(90%や99%など)が得られます。

また、N分割交差検証は次のようになります。

  1. 走る PCA 許容できる最大の K Nトレーニングフォールドで
  2. プロット、または準備(k、ホールドされたフォールドのN分散の平均)
  3. を選択 k これにより、許容可能な最小平均分散、たとえば90%または99%が得られます。

また、「なぜ説明された最大分散に基づいて主成分を選択するのですか?」と尋ねる関連投稿があります。


K-PCAはこれの正しい名前ですか?それは少し混乱して聞こえますが、PCAの非線形バージョンであるカーネル主成分分析(KPCA)を思い出します
Pedro Henrique Monforte

@PedroHenriqueMonforteありがとう!表記を更新しました。
エスマイリアン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.