機械学習では特徴を選択する必要があり、人生でも同じではないでしょうか? 特徴選択とは、利用可能な多数の特徴からサブセットを選択するプロセスを指します。その目的と期待される効果は、通常、次の 3 つの側面で考慮されます。
一方、特徴選択方法の違いを理解するには、まずトレーニング タスクに対する価値に応じて特徴を分類する必要があります。
実際のアプリケーションでは、特徴選択方法は主に次の 3 つのカテゴリに分けられます。 この記事では、これら 3 つの方法をそれぞれ紹介し、最後に sklearn が提供するデータセットを例にして、簡単なアプリケーションと効果の比較を示します。 01 濾過方法フィルタベースの特徴選択は、最も単純で一般的に使用されている方法です。その最大の利点は、モデルに依存せず、特徴の観点から特徴の価値のみを探索し、それによって特徴のソートと選択を実現することです。実際、フィルタリング方法に基づく特徴選択スキームの核心は、特徴をソートすることです。特徴をその値に従ってソートした後、任意の割合/量の特徴の選択または除去を実現できます。明らかに、特徴の価値を評価してソートを実現する方法がここでの重要なリンクです。 機能の価値を評価するために、評価基準は大きく分けて次の 3 つのカテゴリに分けられます。
もちろん、フィルタリングに基づく特徴選択方法の欠点も非常に明白です。
02 ラッピングフィルタリング方法は、特徴を重要度の観点から並べ替えることで、ターゲット特徴の選択または非効率的な特徴のフィルタリングのプロセスを完了します。前述したように、その最大の欠点の 1 つは、モデルに依存しないため、対応するモデルに最も適した機能システムを具体的に選択できないことです。同時に、隠れた問題もあります。それは、特徴選択をどの程度の割合で保持するかという問題です。実際、これはハイパーパラメータであることが多く、通常は手動での定義やハイパーパラメータの最適化が必要です。 対照的に、ラッピング法は特徴選択をブラックボックス問題として扱います。つまり、目的関数(この目的関数は通常、特定のモデルにおける評価指標です)を指定し、内部実装の問題を気にすることなく、特定の方法でこの目的関数を最大化するだけで済みます。さらに、具体的な実装の観点からは、N 個の特徴を含む特徴選択問題が与えられた場合、目的関数の最適値を達成するために、その中から最適な K 個の特徴サブセットを選択するという抽象化が可能です。ここでの K は 1 から N までの任意の値になる可能性があるので、この問題の検索の複雑さは指数関数的、つまり O(2^N) になります。 もちろん、このような非常に複雑なアルゴリズムの場合、特にこの目的関数が十分に高価であることが多いことを考慮すると(つまり、特定の機能サブセットでのモデルの評価プロセスは一般に時間のかかるプロセスである)、賢い先人たちが直接ブルートフォースを試すことは不可能であるため、一般的に 2 つの具体的な実装方法があります。
画像出典: 特徴選択手法に関する調査
ラッピング方式に基づく特徴選択方式はモデル指向の実装方式であるため、理論的には最も優れた選択効果があります。しかし実際には、上記の実装プロセスでは、保持したい特徴の数を事前に指定することが一般的に必要であり、ハイパーパラメータの問題が関わってきます。さらに、ラッピング法の最大の欠点は、計算量が膨大になることです。順次選択の実装により、アルゴリズムの複雑さは平方オーダーまで軽減されますが、それでもまだ非常に大きな数値です。また、遺伝的アルゴリズムや粒子群アルゴリズムに代表されるヒューリスティック検索スキームは、すべて集団ベースの最適化の実装であるため、当然、大量の計算を伴います。 03 埋め込み方法埋め込み法に基づく特徴選択法の考え方は、選択にモデルに依存するラッピング法の考え方に似ていますが、膨大な量の計算を伴うという点で異なります。埋め込み法に基づく特徴選択スキームは、その名前が示すように、特徴選択プロセスをモデルトレーニングタスク自体に「アタッチ」し、それによって特定のアルゴリズムモデルに依存して特徴選択プロセスを完了します。 私は、「埋め込み」という言葉は機械学習の分野では魔法の言葉だとずっと信じてきました。特徴選択手法に初めて触れたときは、埋め込み手法とラッピング手法を混同してしまい、直感的に理解できませんでした。 実際、この時点で、埋め込み方式に基づく特徴選択方式が登場しようとしています。最も一般的に使用されているのは、ツリーモデルと、ツリーモデルに基づく一連の統合アルゴリズムです。モデルは特徴の重要度に関する重要な情報を提供するため、モデルの価値を自然に実現でき、それによって特徴の重要度に応じて特徴選択またはフィルタリングプロセスが完了します。さらに、決定木シリーズモデルに加えて、LR や SVM などの一般化線形モデルでも、重み係数をフィッティングすることで特徴の重要度を評価することができます。 埋め込み法に基づく特徴選択方式は簡潔かつ効率的であり、一般的にフィルタリング法とラッピング法の両方の利点を統合したものと考えられています。つまり、ラッピング法のモデル指向の特徴選択の利点と、フィルタリング法の低オーバーヘッドと高速性の利点を備えています。しかし、実際には、それにも相応の欠点があります。つまり、相関の高い特徴を識別できないのです。例えば、特徴 A と特徴 B はどちらも特徴重要度係数が高いですが、同時に両者の相関も高い場合や、特徴 A = 特徴 B の場合もあります。このような場合、埋め込み方式に基づく特徴選択方式は無力です。 04 3つの特徴選択方式の実際的な比較このセクションでは、sklearn の乳がんデータセットを例に、3 つの特徴選択スキームの基本的な実装を示し、特徴選択の結果を簡単に比較します。 データセットをロードし、必要なパッケージをインポートします。 sklearn.datasets からload_breast_cancer をインポートします デフォルトのデータセット トレーニング モデルでは、train_test_split で乱数シードを設定することで、後続の分割の一貫性が確保されます。 %% 時間 フィルタリング方法の特徴選択スキームは、sklearn で SelectKBest を呼び出すことによって実装されます。特徴とラベル間の相関関係を測定するために内部のデフォルトの F テストが使用され、特徴次元は 20 に設定されます。 %% 時間 ラッパー メソッドの特徴選択スキームは、sklearn で RFE を呼び出すことによって実装されます。渡される目的関数、つまりアルゴリズム モデルはランダム フォレストであり、特徴選択次元も 20 に設定されています。 %% 時間 埋め込み法の特徴選択スキームは、sklearn で SelectFromModel を呼び出すことによって実装されます。依存アルゴリズム モデルもランダム フォレストに設定され、特徴選択次元は 20 のままです。 %% 時間 上記の簡単な比較実験から、元のフル機能ソリューションと比較して、20 次元の機能のみが保持されている場合、フィルタリング方式ではアルゴリズムのパフォーマンスがある程度低下するのに対し、ラッピング方式と埋め込み方式では同じモデル効果が維持されますが、埋め込み方式では大幅に時間が短縮されることがわかります。 |
<<: 人工知能は投資家に好まれているが、投資家は市場に参入する際には注意する必要がある
>>: ニュースローン賞受賞者 宋 樹蘭: 視覚の観点からロボットの「目」を構築する
現在、世界のビジネスで大きな波を起こしている大きなトレンドが 2 つあります。 1 つ目は、企業が生...
新しいインフラの波の下で、業界のデジタル変革は本格化しています。この過程で、AI音声は近年最も成熟し...
[51CTO.com からのオリジナル記事] 2020 年 5 月 5 日午前 11 時 (東部夏時...
1. デジタル格差が拡大し、高齢者は「デジタル難民」となっている最近、高齢者に関する2つのニュース...
過去数年間、テクノロジー業界は半導体サプライチェーンにおける前例のない混乱の影響を感じてきました。研...
PyTorch から Mxnet まで、これらの Python ディープラーニング フレームワークを...
ディープラーニングは高度に反復的なプロセスです。最適な組み合わせを決定するには、ハイパーパラメータの...
2022年において、アートがテクノロジーから切り離されていることを想像するのは難しいです。 AI、...
導入画像分類は、コンピューター ビジョンの最も重要なアプリケーションの 1 つです。その応用範囲は、...
GenAI は 2024 年の最大のテクノロジー トレンドとなり、新しいツールのレビュー、インフラス...
今日の急速に変化するデジタル世界では、データの使用は進化し続けており、企業は構造化データと非構造化デ...