機械学習における主成分分析(PCA)と特徴選択の違いは何ですか? PCAは特徴選択の手段ですか?
PCAは、データセットの分散を最もよく説明するためにどの機能が重要であるかを見つける方法です。これは、大規模なデータセットの次元を削減するために最もよく使用されるため、元のデータが本質的に高次元である機械学習を適用することがより実用的になります(画像認識など)。
ただし、PCAには制限があります。これは、機能要素間の線形関係に依存しており、開始する前に関係が何であるかが不明な場合が多いためです。また、データの分散にほとんど寄与しない特徴要素を「非表示」にするため、機械学習モデルのパフォーマンスに影響を与える、小さいながらも重要な差別化要因を根絶できる場合があります。
PCAで特徴選択を行うことができます。
主成分分析(PCA)は、
「直交変換を使用して、相関している可能性のある変数の観測値のセットを、主成分と呼ばれる無相関変数の値のセットに変換します。」
PCAが基本的に答えるのに役立つ質問は、これです。これらのMパラメーターのどれが、データセット内に含まれるかなりの量の変動を説明しますか? PCAは、基本的に80-20の法則を適用するのに役立ちます。パラメーターの小さなサブセット(たとえば20%)は、データの変動の80%以上を説明できますか?
ただし、いくつかの欠点があります。スケールに敏感であり、桁違いのデータにより多くの重みを与えます。ここで説明するように、データの正規化が常に解決策になるとは限りません。
特徴選択を行う他の方法があります:
特徴選択アルゴリズムは、新しい特徴サブセットを提案するための検索手法と、さまざまな特徴サブセットをスコアリングする評価尺度の組み合わせと見なすことができます。最も単純なアルゴリズムは、機能の可能なサブセットをそれぞれテストして、エラー率を最小化するものを見つけることです。これはスペースの徹底的な検索であり、最小の機能セットを除くすべての機能セットで計算が困難です。評価メトリックの選択はアルゴリズムに大きく影響します。これらの評価メトリックが、特徴選択アルゴリズムの3つの主要なカテゴリであるラッパー、フィルター、埋め込みメソッドを区別します。
一部のフィールドでは、特徴抽出によって特定の目標が提案される場合があります。画像処理では、ブロブ、エッジ、またはリッジの検出を実行できます。
上記の非常に良い答えに追加するだけです。違いは、PCAは、データの1つの特徴が他の特徴(線形依存性)の観点からどのように表現されるかを調査することにより、次元を削減しようとすることです。代わりに、特徴選択はターゲットを考慮に入れます。入力変数は、ターゲット値を予測するのにどれだけ役立つかという観点からランク付けされます。これは、単変量特徴選択に当てはまります。多変量特徴選択は、入力内の特徴の一部を破棄するという意味で、PCAの形式と見なすことができる何かを実行することもできます。しかし、このアナロジーを行き過ぎないでください。
@RogerRowlandによる回答に追加するだけです。教師あり学習(分類、回帰)のコンテキストでは、PCAを機能セレクターではなく「機能トランスフォーマー」と考えるのが好きです。
PCAは、データが最も高い変動性を示す軸を抽出することに基づいています。これは新しい基準でデータを「拡散」し、教師なし学習に大いに役立つ可能性がありますが、新しい軸が教師あり問題の識別機能と一致するという保証はありません。
もっと簡単に言えば、従属変数(クラスラベルなど)の予測に関して、上位主成分が最も有益であるという保証はまったくありません。