
アンサンブル学習は、複数のモデルからの決定を組み合わせることで、より適切な決定を下し、現実の多くの課題を解決するのに役立ちます。
機械学習 (ML) は、金融、医療、アプリ開発、セキュリティなど、複数のセクターや業界でその翼を拡大し続けています。
ML モデルを適切にトレーニングすることは、ビジネスや職務でより大きな成功を収めるのに役立ちます。それを達成するためのさまざまな方法があります。
この記事では、アンサンブル学習、その重要性、ユース ケース、テクニックについて説明します。
乞うご期待!
アンサンブル学習とは
機械学習や統計学では、「アンサンブル」とは、共通の基底学習器を使用しながらさまざまな仮説を生成する方法を指します。
また、アンサンブル学習は、複数のモデル (専門家や分類子など) を戦略的に作成し、計算上の問題を解決したり、より適切な予測を行う目的で組み合わせたりする機械学習アプローチです。
このアプローチは、特定のモデルの予測、関数近似、分類などのパフォーマンスを改善しようとします。 また、多くのモデルの中から質の悪いモデルや価値の低いモデルを選択する可能性を排除するためにも使用されます。 予測性能を向上させるために、いくつかの学習アルゴリズムが使用されます。
ML におけるアンサンブル学習の重要性
機械学習モデルには、エラーの原因となるバイアス、分散、ノイズなどの原因がいくつかあります。 アンサンブル学習は、これらのエラーの原因となるソースを減らし、ML アルゴリズムの安定性と精度を確保するのに役立ちます。
アンサンブル学習がさまざまなシナリオで使用されている理由は次のとおりです。
適切な分類器の選択
アンサンブル学習は、モデルの選択が不十分なために発生する可能性のあるリスクを軽減しながら、より良いモデルまたは分類器を選択するのに役立ちます。
サポート ベクター マシン (SVM)、多層パーセプトロン (MLP)、単純ベイズ分類器、決定木など、さまざまな問題に使用されるさまざまなタイプの分類器があります。さらに、選択する必要がある分類アルゴリズムのさまざまな実現があります。 . 異なるトレーニング データのパフォーマンスも異なる場合があります。
ただし、モデルを 1 つだけ選択するのではなく、これらすべてのモデルのアンサンブルを使用して個々の出力を組み合わせると、より質の低いモデルを選択することを避けることができます。
データ量
多くの ML メソッドとモデルは、不適切なデータや大量のデータをフィードした場合、結果がそれほど効果的ではありません。
一方、アンサンブル学習は、データ量が少なすぎても多すぎても、両方のシナリオで機能します。
- 不十分なデータがある場合は、ブートストラップを使用して、さまざまなブートストラップ データ サンプルを利用してさまざまな分類器をトレーニングできます。
- 単一の分類子のトレーニングを困難にする可能性がある大量のデータがある場合は、データをより小さなサブセットに戦略的に分割できます。
複雑
単一の分類子では、非常に複雑な問題を解決できない場合があります。 さまざまなクラスのデータを分離する決定境界は、非常に複雑な場合があります。 したがって、線形分類器を非線形の複雑な境界に適用すると、それを学習できなくなります。
ただし、適切な線形分類器のアンサンブルを適切に組み合わせると、特定の非線形境界を学習させることができます。 分類器はデータを学習しやすい小さなパーティションに分割し、各分類器はより単純なパーティションを 1 つだけ学習します。 次に、さまざまな分類子を組み合わせて近似を生成します。 決定境界。
信頼度推定
アンサンブル学習では、システムが下した決定に信頼の投票が割り当てられます。 特定の問題についてトレーニングされたさまざまな分類器の集合があるとします。 分類器の大多数が下された決定に同意する場合、その結果は、信頼性の高い決定を伴うアンサンブルと考えることができます。
一方、分類器の半分が下された決定に同意しない場合、それは信頼度の低い決定を持つアンサンブルであると言われます。
ただし、信頼度が低いか高いかは、必ずしも正しい決定ではありません。 しかし、アンサンブルが適切にトレーニングされていれば、信頼性の高い決定が正しい可能性が高くなります。
データ フュージョンによる精度
複数のソースから収集されたデータを戦略的に組み合わせると、分類決定の精度を向上させることができます。 この精度は、単一のデータ ソースを使用して作成した精度よりも高くなります。
アンサンブル学習はどのように機能しますか?
アンサンブル学習では、さまざまな分類器が学習した複数のマッピング関数を使用し、それらを組み合わせて 1 つのマッピング関数を作成します。
アンサンブル学習の仕組みの例を次に示します。
例: エンド ユーザー向けの食品ベースのアプリケーションを作成しています。 高品質のユーザー エクスペリエンスを提供するには、ユーザーが直面している問題、顕著な抜け穴、エラー、バグなどに関するフィードバックを収集する必要があります。
このために、家族、友人、同僚、および頻繁に連絡を取り合っている他の人々に、食べ物の選択やオンラインで食べ物を注文した経験について意見を聞くことができます。 アプリケーションをベータ版でリリースして、バイアスやノイズなしでリアルタイムのフィードバックを収集することもできます。
つまり、ここで実際に行っていることは、さまざまな人々からの複数のアイデアや意見を検討して、ユーザー エクスペリエンスを向上させることです。
アンサンブル学習とそのモデルは同様に機能します。 一連のモデルを使用し、それらを組み合わせて最終出力を生成し、予測の精度とパフォーマンスを向上させます。
基本的なアンサンブル学習テクニック
#1。 モード
「モード」は、データセットに表示される値です。 アンサンブル学習では、ML の専門家は複数のモデルを使用して、すべてのデータ ポイントに関する予測を作成します。 これらの予測は個々の投票と見なされ、ほとんどのモデルが行った予測は最終的な予測と見なされます。 主に分類問題で使用されます。
例: 4 人がアプリケーションを 4 と評価し、そのうちの 1 人が 3 と評価した場合、過半数が 4 に投票したため、モードは 4 になります。
#2。 平均/平均
この手法を使用して、専門家はすべてのモデル予測を考慮し、それらの平均を計算して最終的な予測を導き出します。 主に、回帰問題の予測、分類問題での確率の計算などに使用されます。
例: 上記の例で、4 人がアプリを 4 と評価し、1 人が 3 と評価した場合、平均は (4+4+4+4+3)/5=3.8 になります。
#3。 加重平均
このアンサンブル学習方法では、専門家は予測を行うために異なるモデルに異なる重みを割り当てます。 ここで、割り当てられた重みは、各モデルの関連性を表しています。
例: 5 人の個人があなたのアプリケーションについてフィードバックを提供したとします。 そのうち 3 名はアプリ開発者で、2 名はアプリ開発の経験がありません。 したがって、これら 3 人のフィードバックは残りの 2 人よりも重視されます。
高度なアンサンブル学習テクニック
#1。 袋詰め
バギング (Bootstrap AGGregatING) は、優れたパフォーマンスを備えた非常に直感的でシンプルなアンサンブル学習手法です。 その名の通り、「ブートストラップ」と「アグリゲーション」という2つの用語を組み合わせて作られています。
ブートストラップは、元のデータ セットから取得したいくつかの観測値のサブセットを作成し、置換する必要がある別のサンプリング方法です。 ここで、サブセットのサイズは、元のデータ セットのサイズと同じになります。
出典:バギープログラマー
したがって、バギングでは、サブセットまたはバッグを使用して、完全なセットの分布を理解します。 ただし、サブセットは、バギングの元のデータ セットよりも小さい可能性があります。 この方法には、単一の ML アルゴリズムが含まれます。 異なるモデルの結果を組み合わせる目的は、一般化された結果を得ることです。
バギングの仕組みは次のとおりです。
- 元のセットからいくつかのサブセットが生成され、観測が置換で選択されます。 サブセットは、モデルまたは決定木のトレーニングに使用されます。
- サブセットごとに弱いモデルまたは基本モデルが作成されます。 モデルは互いに独立しており、並行して実行されます。
- 最終的な予測は、平均化、投票などの統計を使用して、すべてのモデルからの各予測を組み合わせることによって行われます。
このアンサンブル手法で使用される一般的なアルゴリズムは次のとおりです。
- ランダムフォレスト
- バギングされた決定木
この方法の利点は、決定木の分散エラーを最小限に抑えるのに役立つことです。
#2。 スタッキング
画像ソース: OpenGenus IQ
スタックまたはスタック一般化では、デシジョン ツリーなどのさまざまなモデルからの予測を使用して、このテスト セットで予測を行うための新しいモデルを作成します。
スタッキングには、バギングと同様に、トレーニング モデル用のデータのブートストラップ サブセットの作成が含まれます。 しかしここでは、モデルの出力は、サンプルの最終予測のためのメタ分類器として知られる別の分類器に供給される入力として取られます。
2 つの分類器レイヤーが使用される理由は、トレーニング データ セットが適切に学習されているかどうかを判断するためです。 2 層のアプローチが一般的ですが、より多くの層を使用することもできます。
たとえば、最初のレイヤーまたはレベル 1 で 3 ~ 5 個のモデルを使用し、レイヤー 2 またはレベル 2 で 1 つのモデルを使用できます。後者は、レベル 1 で取得した予測を組み合わせて、最終的な予測を行います。
さらに、予測の集計には任意の ML 学習モデルを使用できます。 線形回帰、ロジスティック回帰などの線形モデルが一般的です。
スタッキングで使用される一般的な ML アルゴリズムは次のとおりです。
- ブレンディング
- スーパーアンサンブル
- 積み上げモデル
注: ブレンディングでは、トレーニング データセットからの検証またはホールドアウト セットを使用して予測を行います。 スタッキングとは異なり、ブレンディングでは、ホールドアウトのみから予測が行われます。
#3。 ブースティング
ブースティングは、最後または前の分類に応じて特定の観測値の重みを調整する反復的なアンサンブル学習方法です。 これは、後続のすべてのモデルが、前のモデルで見つかったエラーを修正することを目的としていることを意味します。
観測が正しく分類されていない場合、ブースティングによって観測の重みが増加します。
ブースティングでは、専門家が完全なデータセットでブースティング用の最初のアルゴリズムをトレーニングします。 次に、前のブースティング アルゴリズムから抽出された残差を使用して、後続の ML アルゴリズムを構築します。 したがって、以前のモデルによって予測された誤った観測に、より多くの重みが与えられます。
段階的に機能する方法は次のとおりです。
- 元のデータセットからサブセットが生成されます。 すべてのデータ ポイントは、最初は同じ重みを持ちます。
- 基本モデルの作成はサブセットで行われます。
- 予測は完全なデータセットに対して行われます。
- 実際の値と予測値を使用して、誤差が計算されます。
- 誤って予測された観測には、より多くの重みが与えられます
- 新しいモデルが作成され、このデータセットに対して最終的な予測が行われますが、モデルは以前に発生したエラーを修正しようとします。 複数のモデルが同様の方法で作成され、それぞれが前のエラーを修正します
- 最終的な予測は、すべてのモデルの加重平均である最終モデルから行われます。
一般的なブースティング アルゴリズムは次のとおりです。
- キャットブースト
- ライト GBM
- アダブースト
ブースティングの利点は、優れた予測が生成され、バイアスによるエラーが減少することです。
その他のアンサンブルテクニック
エキスパートの混合: 複数の分類子をトレーニングするために使用され、それらの出力は一般的な線形規則でアンサンブルされます。 ここで、組み合わせに与えられる重みは、トレーニング可能なモデルによって決定されます。
多数決: 奇数の分類器を選択し、サンプルごとに予測を計算します。 分類子プールから最大のクラスを受け取ったクラスが、アンサンブルの予測クラスになります。 二項分類などの問題を解決するために使用されます。
最大ルール: 各分類子の確率分布を使用し、予測を行う際に信頼性を採用します。 多クラス分類問題に使用されます。
アンサンブル学習の実際のユースケース
#1。 顔と感情の検出
アンサンブル学習では、独立成分分析 (ICA) などの手法を利用して顔検出を実行します。
また、音声検出による人の感情の検出にはアンサンブル学習が用いられる。 さらに、その機能は、ユーザーが顔の感情を検出するのに役立ちます。
#2。 安全
不正行為の検出: アンサンブル学習は、通常の行動モデリングの能力を強化するのに役立ちます。 これが、クレジット カードや銀行システム、電気通信詐欺、マネー ロンダリングなどの不正行為の検出に効果的であると考えられている理由です。
DDoS: 分散型サービス妨害 (DDoS) は、ISP に対する致命的な攻撃です。 アンサンブル分類子は、エラー検出を減らし、本物のトラフィックから攻撃を区別することもできます。
侵入検知: アンサンブル学習を侵入検知ツールなどの監視システムで使用して、ネットワークやシステムの監視、異常の発見などによって侵入者コードを検出できます。
マルウェアの検出: アンサンブル学習は、機械学習技術を使用して、コンピューター ウイルスやワーム、ランサムウェア、トロイの木馬、スパイウェアなどのマルウェア コードを検出して分類するのに非常に効果的です。
#3。 増分学習
増分学習では、ML アルゴリズムは、以前の学習を保持しながら新しいデータセットから学習しますが、以前に見たデータにはアクセスしません。 アンサンブル システムは、利用可能になるたびにすべてのデータセットで追加された分類子を学習させることにより、増分学習で使用されます。
#4。 薬
アンサンブル分類子は、神経認知障害 (アルツハイマー病など) の検出など、医療診断の分野で役立ちます。 MRI データセットを入力として取得し、子宮頸部細胞診を分類することで検出を実行します。 それとは別に、プロテオミクス (タンパク質の研究)、神経科学、およびその他の分野に適用されます。
#5。 リモートセンシング
変化検出: アンサンブル分類子は、ベイジアン平均や多数決などの方法で変化検出を実行するために使用されます。
土地被覆のマッピング: ブースティング、決定木、カーネル主成分分析 (KPCA) などのアンサンブル学習手法を使用して、土地被覆を効率的に検出してマッピングします。
#6。 ファイナンス
正確性は、計算であろうと予測であろうと、金融の重要な側面です。 それはあなたが下す決定の結果に大きな影響を与えます。 これらは、株式市場データの変化を分析したり、株価の操作を検出したりすることもできます。
追加の学習リソース
#1。 機械学習のためのアンサンブル法
この本は、アンサンブル学習の重要な方法をゼロから学び、実装するのに役立ちます。
#2。 アンサンブル手法: 基礎とアルゴリズム
この本には、アンサンブル学習とそのアルゴリズムの基本が含まれています。 また、実際の世界での使用方法についても概説します。
#3。 アンサンブル学習
ユニファイドアンサンブル法、課題、アプリケーションなどの紹介を提供します。
#4。 Ensemble Machine Learning: メソッドとアプリケーション:
高度なアンサンブル学習手法を幅広くカバーしています。
結論
アンサンブル学習、その方法、ユースケース、およびそれを使用することがユースケースにとって有益である理由について、いくつかのアイデアが得られたことを願っています. セキュリティやアプリ開発の分野から金融、医療など、多くの現実の課題を解決できる可能性があります。 その用途は拡大しているため、近い将来、この概念はさらに改善される可能性があります。
また、機械学習モデルをトレーニングするための合成データ生成用のツールを検討することもできます。