2012-04-30 7 views
1

LDAを使用して多次元データを2Dマップに投影できますか? Matlabが提供するツールは、このような機能を提供していないようです...Linear Discriminant Analysisを使用してMatLabで投影する方法は?

お返事ありがとうございます。私のデータは今6つのクラスを持っているので、私は6つのクラスを持っているならば、私は5つの次元にしか減らすことができないのですか?または、これは同様の方法で、上位2つの固有値をとり、これらの2つを投影に使用するPCAで行うことができますか?教師なしのアプローチとして私の問題ではPCAがうまく機能しないので、LDAが役立つかどうか疑問に思っています。

答えて

3

厳密に言えば、特にすべてのデータが1つのクラスに属している場合、LDAは次元削減のためのものではありません。これは、2つのクラスの間で最も差別的な1つの線形投影を思い付くことを意味します。したがって、LDAを使用してこれを行う実際の自然な方法はありません。

データがすべて同じクラスに属している場合は、PCA (Principcal Component Analysis)にもっと興味があるかもしれませんが、重要な順番でランク付けされたデータの最も重要な方向が示されます。 like ISOMAP(コメントのEMSに記載されているように)またはself-organizing mapsのような他の方法も存在する。

マルチクラスデータがあることがわかっている場合は、LDAを使用して次元数を減らすことができます。これは、kクラスのデータがある場合は、次元数をk-1次元まで減らすのに役立ちますが、このようなことは言及していません。

EDIT:この回答を明確にするために、@EMSに寄付をします。

+1

一部のトレーニングデータから最適な投影を計算したら、その投影を新しく収集したデータに適用して次元を減らすことができます。私はこれの一般化の特性が何であるか分かりませんが、確かに有効な次元削減スキームです(おそらく不正確かもしれませんが)。 – ely

+0

確かに、その1つの線形コンポーネントはそのような次元の1つになりますが、私は複数のLDAに一般化していることを知らないので、最初の文です。 –

+0

それは驚くべきことです。 [ウィキペディアの記事(http://en.wikipedia.org/wiki/Linear_discriminant_analysis)]は、LDAの最初のアプリケーション間の次元削減を示しており、特に、マルチクラスLDAは[http:// en。 k個の異なるクラスを最良に分離するN次元データ空間を介して(k-1)次元の部分空間を見つけることを含む、請求項1に記載の方法。 LDAは、N次元データ(k ely

関連する問題