バギングとは

公開日 2021年09月23日
A collection of brightly colored blocks arranged in a stacked formation against a split pastel background of pink and blue. The blocks vary in size and shape, featuring vibrant hues such as yellow, pink, blue, and teal. The minimalist composition emphasizes geometric forms and playful design.

バギングとは

バギングは、ノイズの多いデータ・セット内のバリアンスを抑えるために一般的に使用されているアンサンブル学習の手法で、ブートストラップ・アグリゲーションとも呼ばれます。

バギングでは、トレーニング・セット内のランダムなサンプル・データを選択し、元に戻します。つまり、個々のデータ・ポイントは複数回選択可能です。いくつかのデータ・サンプルが生成された後、これらの弱いモデルは独立してトレーニングされます。タスクの種類(例えば回帰や分類など)に応じて、それらの予測の平均値や多数決を基に、より精度の高い推定値を算出します。

なお、ランダム・フォレスト・アルゴリズムはバギング手法を拡張したものと考えられています。バギングと、特徴のランダム性の両方を活用して、複数の決定木を集めた相関性のないフォレストを作成します。

アンサンブル学習

アンサンブル学習は、1人の専門家の判断よりも大人数による意思決定の方が一般に優れていることを示唆する「群衆の叡智」の考え方に基づいています。アンサンブル学習はこの考えに従い、ベースとなる複数の学習器(モデル)を組み合わせたグループ(アンサンブル)を協調させることで、最終的な予測の精度を高めます。

ベース学習器や弱学習器と呼ばれる単一のモデルは、単体では高バリアンスまたは高バイアスとなってうまく機能しない場合があります。しかし、複数の弱学習器を組み合わせると、バイアスやバリアンスが抑えられ、より強力な学習器が得られることから、モデルの性能が向上します。

アンサンブル学習の手法は、説明のために決定木がよく用いられます。決定木が剪定されていない場合には、このアルゴリズムは過剰適合を起こしやすく、高バリアンスかつ低バイアスの傾向を示します。逆に、例えば1レベルの決定木である決定株のように、決定木が非常に小さい場合には、過小適合につながり、低バリアンスかつ高バイアスとなる可能性があります。

トレーニング・セットに対する過学習または学習不足が生じたアルゴリズムは、新しいデータ・セットに対して適切に汎用化できません。この問題に対処し、新しいデータ・セットに対するモデルの汎用化を可能にするために、アンサンブル学習の手法を利用します。決定木は高バリアンスまたは高バイアスとなる場合があります。しかし、バイアスとバリアンスのトレードオフにおける「スイート・スポット」を見つけるためにアンサンブル学習を活用するモデリング手法は、決定木だけではないという点に留意する必要があります。

AI Academy

カスタマー・サービスでAIを活用する

生成AIが、セルフサービス、ヒューマン・エージェント、コンタクト・センターの運用という3つの主要領域で、よりシームレスなエクスペリエンスで顧客を満足させ、組織の生産性を向上させる方法をご覧ください。

バギングとブースティングの違い

バギングとブースティングは、アンサンブル学習の主要な2つの手法です。こちらの研究が示すように、この2つの学習手法の主な違いはトレーニング方法にあります。

バギングでは、弱学習器のトレーニングを並列的に実行します。一方ブースティングでは、直列的に学習を実行します。つまり、一連のモデルを構築する中で、新しいモデルの学習を反復するごとに、前のモデルで誤分類されたデータに重みを加えます。

この重みの再配分は、性能向上の焦点となるパラメーターをアルゴリズムが特定するうえで役立ちます。このタイプの最初のアルゴリズムの1つであるAdaBoostは、最もよく使用されるブースティング・アルゴリズムの1つとなっています。AdaBoostは「アダプティブ・ブースティング・アルゴリズム」の略です。その他のブースティング・アルゴリズムには、XGBoost、GradientBoost、BrownBoostなどがあります。

バギングとブースティングの違いとしては、使用する状況が異なるという点もあります。例えば、バギングの手法は通常、高バリアンスで低バイアスの弱学習器に対して用います。一方ブースティングの手法は、低バリアンスで高バイアスの場合に用います。

バギングの仕組み

バギング・アルゴリズムは1996年にLeo Breiman氏が提唱しました。このアルゴリズムには以下の3つの基本手順があります。

  1. ブートストラッピング:バギングではブートストラッピング・サンプリング手法を活用して多様なサンプルを作成します。このリサンプリング手法では、トレーニング・データ・セットのさまざまなサブセットを生成します。その際、データ・ポイントをランダムに選択し、元に戻します。したがって、トレーニング・データ・セットからデータ・ポイントを選択するたびに、同じインスタンスを重複して選択できます。この結果、サンプル内で値やインスタンスが2回(またはそれ以上)繰り返されます。

  2. 並列的トレーニング:これらのブートストラッピング・サンプルは、弱学習器またはベース学習器を用いて、独立して並列的にトレーニングされます。

  3. アグリゲーション:最後に、タスク(回帰または分類)に応じて、予測の平均値または多数決を採用し、より精度の高い推定値を算出します。回帰の場合は、個々の分類器が予測したすべての出力値から平均値を取得します。これはソフト投票とも呼ばれます。分類の場合は、最も多数派の分類を採用します。これはハード投票または多数決投票とも呼ばれます。

バギングのメリットと課題

分類や回帰の問題にバギングの手法を利用する場合、いくつかの重要なメリットと課題があります。バギングの主要なメリットは次のとおりです。

  • 実装が容易:scikit-learn(sklearnとも呼ばれる)などのPythonライブラリーを使用して、ベース学習器や推定器の予測を簡単に組み合わせ、モデルの性能を向上させることができます。scikit-learnのドキュメントには、モデルの最適化に使用できるモジュールについて記載されています。

  • バリアンスの抑制:バギングは学習アルゴリズム内のバリアンスを抑制します。これは高次元のデータに対して特に有用です。高次元のデータの場合、値の欠落が高バリアンスにつながる可能性があり、過学習になりやすく、新しいデータ・セットに対する高精度の汎用化が損なわれます。

バギングの主な課題は次のとおりです。

  • 解釈可能性の低下:バギングは予測の際に平均化を用いるため、ビジネスの洞察をきわめて正確に導き出すことは難しくなります。アウトプットは個々のデータ・ポイントよりも正確ですが、より精度の高いデータ・セットや完全なデータ・セットの場合には、分類または回帰の単一のモデル内でも、より正確な予測を得られます。

  • 計算負荷が高い:バギングは、反復の回数が増加するほど処理速度が遅くなり、より負荷の高い作業になっていきます。したがって、リアルタイム・アプリケーションには適していません。クラスター化されたシステムや多数のプロセッシング・コアは、大規模なテスト・セットに基づいてバギングのアンサンブルを素早く作成するのに最適です。

  • 柔軟性が低い:バギングの手法は安定性の低いアルゴリズムに対して特に有効です。安定性が高い場合や、バイアスが大きい場合は、モデルのデータ・セット内のバリエーションが少ないため、メリットは小さくなります。『Hands-On Guide to Machine Learning』には、「線形回帰モデルに対するバギングでは、bが十分に大きい場合、実質的に元の予測を返すだけになる」と記載されています。

バギングの用途

バギングの手法はさまざまな業界で利用されており、現実世界での価値という面からも、GRAMMY Debates with Watsonなどの興味深い視点という面からも、洞察が得られます。主なユースケースは次のとおりです。

  • 医療:バギングは医療データの予測に使用されています。例えば、ある研究によると、対象となる特定の形質を識別する遺伝子やタンパク質の選択をはじめ、一連のバイオインフォマティクスの問題に対して、アンサンブル学習の手法が用いられています。例えば、こちらの研究では、さまざまなリスク予測因子に基づいて糖尿病の発症を予測する用途での利用について、詳しく論じています。

  • IT:バギングは、ネットワーク侵入検知システムなどのITシステムの精度と正確性の向上にも寄与します。また、こちらの研究では、バギングによってネットワーク侵入検知の精度がどのように向上し、誤検知の割合が減少するかについて論じています。

  • 環境:バギングなどのアンサンブル学習の手法は、リモート・センシングの分野で利用されています。例えば、こちらの研究では、沿岸部の湿地タイプのマッピングにおける利用について論じています。

  • 金融:バギングは金融業界のディープラーニング・モデルでも利用され、不正アクセス検知、信用リスクの評価、オプション価格の設定といった問題をはじめ、重要な業務の自動化に貢献しています。こちらの研究では、銀行などの金融機関でクレジット・カード詐欺のリスクを最小限に抑えるうえでバギングがどのように役立つかを論じています。こちらの研究では、銀行などの金融機関でクレジット・カード詐欺のリスクを最小限に抑えるうえでバギングがどのように役立つかを論じています。
関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

  1. watsonx.aiの詳細はこちら
  2. デモを予約