次元数がサンプル数より大きい場合のPCA


21

私は、分類器に渡す必要がある14000個のデータポイント(次元)を含む10人(つまり100個のサンプル)に対して1人あたり10個の信号があるシナリオに遭遇しました。このデータの次元数を減らしたいのですが、PCAがそうするようです。ただし、サンプルの数が次元の数よりも大きいPCAの例を見つけることしかできませんでした。SVDを使用してPCを検出するPCAアプリケーションを使用しています。100x14000データセットを渡すと101個のPCが返されるため、ほとんどのディメンションは明らかに無視されます。プログラムは、最初の6台のPCに90%の分散が含まれることを示しています。

これらの101台のPCには本質的にすべての分散が含まれており、残りの次元は無視できるというのは合理的な仮定ですか?

私が読んだ論文の1つは、自分のデータセットと同様の(わずかに低い品質)データセットを使用して、4500の次元を80に減らして元の情報の96%を保持できたと主張しています。使用されたPCA手法の詳細に関する論文の手振り、3100サンプルのみが利用可能であり、PCAを実際に実行するために使用されたサンプルよりも少ないサンプルを信じる理由があります(分類段階からバイアスを取り除くため)。

私は何かを見逃していますか、これは本当にPCAが高次元で低サンプルサイズのデータ​​セットで使用される方法ですか?フィードバックは大歓迎です。


2
ディメンションよりも多くのデータがない場合、最初の主成分が行うと想定される変動性のほとんどを除去する方向を見つけることは困難です。一般に、次元の呪いがあります。データは、高次元で中心から離れる傾向があります。ベルマンは1960年代にこれについて書きました。
マイケルR.チャーニック

回答:


9

私はわずかに異なる角度から問題を見ていきます:10人の被験者/ 100のサンプルだけでモデルをどれだけ複雑にすることができますか?

そして、私が通常答えるその質問:100台未満のPC。私は異なるタイプのデータ(振動スペクトル)を扱っているため、状況は少し異なる場合があります。私の分野では、O(10)被験者のO(1000)スペクトルから計算された10または25または50台のPCを使用するのが一般的です。

私がやることは次のとおりです。

  • これらの100台のPCでカバーされる差異を見てください。通常、データの分散に実際に寄与するコンポーネントはごくわずかです。

  • PLSはPCAよりも分類のための前処理として非常に好まれます。なぜなら、分類に役立たない大きな変動のある方向を選別するのに非常に良い仕事をするからです(私の場合、焦点変動、サンプルの厚さなど)。 ..)。私の経験では、10個のPLS潜在変数または25〜50個のPCを備えた類似の分類器をよく使用します。

  • 検証サンプルは、トレーニングセットから計算されたPCA回転のみで処理する必要があります。そうでない場合、検証は(そしておそらくあなたのような極端な場合には)過度に楽観的なバイアスを持ちます。
    つまり、ブートストラップまたはクロス検証を実行する場合、PCAまたはPLSの前処理は、トレイン/テストセットの組み合わせごとに個別に計算する必要があります。


非常に有益な投稿をありがとう。生体信号データを扱っています。適切なパフォーマンスで分類を実行するには、100台未満のPCが必要です。25〜50の範囲で十分です。調査する必要があるサンプルの数を減らすためにサンプリングレートを削減することを検討しましたが、解像度のトレードオフがそれだけの価値があると期待しますか? ?PCAはこの分野の他の研究と一致する必要がありますが、間違いなくPLSを二次的なアプローチとして検討します。
ジェームズ

1
@ジェームス:データを知らないとサンプリング率の質問に答えられないのではないかと思う。基本的には、有効なサンプルサイズの問題です。それ以上何も知らなくても、n(人)とn(サンプル)の間のどこかにあるとしか言えません。1人の10個のサンプルすべてが、別の人のサンプルよりも互いにはるかに類似している場合、サンプルが増えてもデータセットに多くの情報が追加されません。すべてのサンプルで1つのモデルを構築し、1人あたり1つのサンプルのみで2番目のモデルを構築し、それらのパフォーマンスを比較することで確認できます。
cbeleitesは、

@James:(パート2)1人のサンプルが互いにかなり似ていると思う場合は、検証とトレーニングセットがpersoneを共有しないように注意する必要があります(つまり、1人のサンプルはすべてトレーニング中またはテストセット)。
cbeleitesは、モニカをサポートします

私に戻ってきてくれてありがとう。私のデータにはかなりのばらつきがあり、ユーザークラス間でサンプルスペースが大幅に重複しています。しかし、申し訳ありませんが、サンプルを減らすのではなく、14000のデータポイントの解像度を下げることを意味しました。したがって、PCAでは2、3、4番目のポイントのみが使用されますが、実際のユーザーサンプル数は同じです。私の寸法がすでにサンプルよりもはるかに大きい場合、このような解像度の低下がPCAの結果にプラス、マイナス、またはまったく影響を与えないと予想されました。
ジェームズ

1
@ジェームス、これは再び依存します。しかし、nポイントごとにのみ使用する代わりに、nポイントごとに平均化/ビニングすることをお勧めします。そうすれば、次元を減らし、 / N比を高めることができます。必要な解像度(データポイントの次元が何であっても、ここでは "スペクトル"を配置します)を見つけることは、問題/データ/分類子の特性評価の1つのポイントです。th
cbeleitesは、モニカをサポートします

9

もしの点の数であり次元数であり、非ゼロ分散を有する主成分の数を超えることができない(生データのPCAを行う場合)または上PCAを行うとき集中データ-通常どおり)。P N P N N - 1npnpnn1


2
換言すれば、 100 PCは、サイズのデータセット(X 1400 100)で全分散を覆います。数学的には、このデータセットにそれ以上の変動はありません。データセットによってサンプリングされる地上人口の分散を見ると、状況は異なる場合があります。
cbeleitesは、モニカをサポートしています

2
@ ttnphns:あなたがここで言うことを述べている引用を知っていますか?
パトリック


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.