概要:LDAの前にPCAを実行して、問題を正規化し、過剰適合を回避できます。
LDA投影は、固有分解を介して計算されることを思い出してください。ここで、およびはクラス内およびクラス間の共分散行列です。未満のデータポイントがある場合(は空間の次元、つまりフィーチャ/変数の数)、は特異であるため、反転できません。この場合、LDAを直接実行する方法はありませんが、PCAを最初に適用すれば機能します。@Aaronは、彼の返信に対するコメントの中でこの発言をしましたが、私はそれに同意します(しかし、あなたがこれから見るように、一般的に彼の答えには同意しません)。Σ− 1WΣBΣWΣBNNΣW
ただし、これは問題の一部にすぎません。全体像は、LDAが非常に簡単にデータをオーバーフィットする傾向があるということです。クラス内共分散行列は、LDA計算で反転されることに注意してください。高次元行列の場合、反転は非常に敏感な操作であり、推定が本当に良い場合にのみ確実に実行できます。しかし、高次元で、の正確な見積もり得ることは本当に難しいですし、練習1で頻繁に持っている必要が多くのことをより多く推定値が良好であることを期待して起動するデータポイント。それ以外の場合ΣWN≫ 1ΣWNΣW ほぼ特異になり(つまり、いくつかの固有値が非常に低くなります)、これにより過剰適合、つまり、トレーニングデータでのクラスの分離がほぼ完全になり、テストデータでのチャンスパフォーマンスが得られます。
この問題に取り組むには、問題を正規化する必要があります。それを行う1つの方法は、PCAを使用して最初に次元を減らすことです。他にもおそらく間違いなく良いものがあります。例えば、を使用する正則化LDA(rLDA)メソッドは、代わりに小さな使用し(これは収縮推定量と呼ばれます))、ただし、PCAを最初に実行することは、概念的には最も単純なアプローチであり、多くの場合はうまく機能します。(1 - λ )ΣW+ λのIλΣW
図
これが過剰適合の問題の説明です。10次元、50次元、100次元、150次元の空間の標準ガウス分布(平均ゼロ、単位分散)から3つのクラスのクラスごとに60個のサンプルを生成し、LDAを適用してデータを2Dに投影しました。
次元が大きくなるにつれて、クラスがどんどん良くなり、実際にはクラス間に違いがないことに注意してください。
クラスをわずかに分離した場合、PCAがオーバーフィットを防ぐ方法を確認できます。最初のクラスの最初の座標に1を追加し、2番目のクラスの最初の座標に2を追加し、3番目のクラスの最初の座標に3を追加しました。現在、それらはわずかに分離されています。左上のサブプロットを参照してください。
オーバーフィッティング(一番上の行)はまだ明らかです。しかし、PCAでデータを前処理し、常に10次元(最下行)を維持すると、クラスがほぼ最適に分離されたままで、オーバーフィッティングが消えます。
PS。誤解を防ぐために:私はPCA + LDAが良い正則化戦略であることを主張していないです、私は単にそれがあることを実証しています(逆に、私はrLDAを使用するようにアドバイスします)可能な戦略。
更新。非常によく似たトピックは、@ cbeleitesが提供する興味深く包括的な回答とともに、以下のスレッドで以前に説明されています。
いくつかの良い答えとこの質問も参照してください。
best practice
。PCAとLDAは、次元削減手法として非常に異なります。時々、人々はLDAに先立ってLDAを行いますが、重要な差別的側面を(廃棄されたPCと共に)捨てるリスクがあります。あなたが尋ねる質問は、実際にこのサイトで何回か何らかの形で尋ねられました。「PCA LDA」を検索して、人々がそれに言ったことを読んでください。