2013-04-27 9 views

答えて

23

PCAは、データセットの分散を最もよく説明するために、どの機能が重要であるかを調べる方法です。これは、元のデータが本質的に高次元(例えば、画像認識)である機械学習を適用する方がより実用的になるように、大きなデータセットの次元性を低減するために最も頻繁に使用される。

PCAには機能要素間の線形関係に依存しているため、開始前に関係が何か不明なことがよくあるため、制限があります。データの分散にほとんど寄与しない特徴要素も「隠す」ため、機械学習モデルのパフォーマンスに影響を与える、重要ではない重要な差別化要因を根絶することができます。

+1

ここで重要なのは、PCAは監督されていないテクニックですが、通常は(常にではありませんが)機能選択は監督された問題を指しています。 PCAを使用して、データセットを記述することができます(いくつかのPCで高い絶対負荷をかけて重要な変数を明らかにする可能性があります)。またはモデルを実行しやすくするために監督モデルで主成分を投げます。一般的には、PCA自体は機能選択ツールではありません。 –

5

PCAで機能を選択できます。

主成分分析(PCA)は

技術である「主成分と呼ばれる非相関 変数の値のセットに おそらく相関する変数の観測結果のセットを変換する直交変換を使用します。」

PCAが根本的に答えるのに役立つ質問は次のとおりです。これらのMパラメータのうち は、データセット内に含まれるばらつきの量を表していますか ? PCAは本質的には80-20 ルールを適用するのに役立ちます:パラメータの小さなサブセット(例えば20%)がデータの変動の80%以上を説明できますか?

(see here)

しかし、それはいくつかの欠点があります:それは規模に敏感であり、大きさの上位とデータへのより多くの重みを与えます。ここで説明したように、データの正規化は常に、解決することはできません。

http://www.simafore.com/blog/bid/105347/Feature-selection-with-mutual-information-Part-2-PCA-disadvantages

特徴選択を行うために他の方法があります。

特徴選択アルゴリズムは 検索の組み合わせとして見ることができますが、新しいフィーチャサブセットを提案する技法と、異なるフィーチャサブセットを評価する評価尺度 とを含む。 最も単純なアルゴリズムは、エラーレートを最小限に抑える特徴のそれぞれの可能なサブセット をテストすることです。これは、空間の包括的な検索 であり、 を除いて、すべての機能セットで計算的に扱いにくいです。評価メトリックが大きく選択されると がアルゴリズムに影響を及ぼし、 アルゴリズムの3つの主要カテゴリ(ラッパー、フィルタ、埋め込みメソッド)を区別する評価メトリクスです。いくつかの分野で

(see here)

、特徴抽出は、具体的な目標を提案することができます:画像処理では、あなたはブロブ、エッジまたはリッジ検出を実行することがあります。

+0

これは、PCAによる機能選択の問題にどのように対処していますか? PCAは新しいフィーチャを生成しますが、元のフィーチャ空間からフィーチャを選択することはすぐには役に立ちません。あなたの答えの2番目の部分は、監督上の問題における機能の選択です。 OPがこれを探しているかどうかは不明です。 PCAは本質的に監督されていないテクニックであり、私がそれに関連している教師なしのフィーチャ選択への唯一の言及は、プリンシパルフィーチャ分析です:http://venom.cs.utsa.edu/dmz/techrep/2007/CS-TR-2007-011 .pdf私はRでこれを実装する方法をhttp://stackoverflow.com/q/32811659/1840471で尋ねました。 –

1

@Roger Rowlandの回答に追加するだけです。教師あり学習(分類、回帰)の文脈では、私はPCAをフィーチャセレクタではなく「フィーチャトランスフォーマ」と考えるのが好きです。

PCAは、データが最も高い変動性を示す軸の抽出に基づいています。新しい基準でデータを「拡散」し、監督されていない学習に大きな助けになるかもしれませんが、新しい軸が監督上の問題の差別的特徴と一貫しているという保証はありません。

より簡単に言えば、従属変数(クラスラベルなど)を予測する際に、主要な主成分が最も有益であるという保証は一切ありません。

This paperは、有用な情報源です。 関連する別のクロスリンクされたリンクはhereです。

2

上記の非常に良い答えに追加するだけです。違いは、PCAがデータの1つのフィーチャが他のフィーチャ(線形従属)の観点からどのように表現されているかを調べることによって次元を縮小しようとすることです。 機能の選択ではなく、ターゲットを考慮します。目標値をどのように予測するのが有用かという点で、入力変数のランク付けを行います。これは、単変量機能の選択に当てはまります。 多変量機能の選択は、PCAの形式と見なすこともできます。つまり、入力の一部の機能を破棄するという意味です。しかし、このアナロジーをあまりにも遠くに置かないでください。

関連する問題