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