ホーム Topics バギング バギングとは
バギングにIBMを活用 登録してクラウドの最新情報を受け取る
コンピューターのモニター、サーバー、雲、ドットの絵文字のコラージュの図
バギングとは

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

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

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

アンサンブル学習

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

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

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

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

バギングとブースティング

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

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

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

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

ハイブリッドクラウドの価値を最大限に実現

貴社のシステムを接続して統合し、AI用のインフラストラクチャーを準備します。

関連コンテンツ

登録してアプリのモダナイゼーションに関するガイドを受け取る

バギングの仕組み

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

  1. ブートストラッピング:バギングではブートストラッピング・サンプリング手法を活用して多様なサンプルを作成します。このリサンプリング手法では、トレーニング・データ・セットのさまざまなサブセットを生成します。その際、データ・ポイントをランダムに選択し、元に戻します。したがって、トレーニング・データ・セットからデータ・ポイントを選択するたびに、同じインスタンスを重複して選択できます。この結果、サンプル内で値やインスタンスが2回(またはそれ以上)繰り返されます。
  2. 並列的トレーニング:これらのブートストラッピング・サンプルは、弱学習器またはベース学習器を用いて、独立して並列的にトレーニングされます。
  3. アグリゲーション:最後に、タスク(回帰または分類)に応じて、予測の平均値または多数決を採用し、より精度の高い推定値を算出します。回帰の場合は、個々の分類器が予測したすべての出力値から平均値を取得します。これはソフト投票とも呼ばれます。分類の場合は、最も多数派の分類を採用します。これはハード投票または多数決投票とも呼ばれます。
バギングのメリットと課題

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

  • 実装が容易:scikit-learn(sklearnとも呼ばれる)などのPythonライブラリーを使用して、ベース学習器や推定器の予測を簡単に組み合わせ、モデルの性能を向上させることができます。scikit-learnのドキュメント(IBM外部へのリンク)には、モデルの最適化に使用できるモジュールについて記載されています。
  • バリアンスの抑制:バギングは学習アルゴリズム内のバリアンスを抑制します。これは高次元のデータに対して特に有用です。高次元のデータの場合、値の欠落が高バリアンスにつながる可能性があり、過学習になりやすく、新しいデータ・セットに対する高精度の汎用化が損なわれます。

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

  • 解釈可能性の低下:バギングは予測の際に平均化を用いるため、ビジネスの洞察をきわめて正確に導き出すことは難しくなります。バギングの出力は個々のデータ・ポイントよりも正確ですが、より精度の高いデータ・セットや完全なデータ・セットの場合には、分類または回帰の単一のモデル内でも、より正確な予測を得られます。
  • 計算負荷が高い:バギングは、反復の回数が増加するほど処理速度が遅くなり、より負荷の高い作業になっていきます。したがって、リアルタイム・アプリケーションには適していません。クラスター化されたシステムや多数のプロセッシング・コアは、大規模なテスト・セットに基づいてバギングのアンサンブルを素早く作成するのに最適です。
  • 柔軟性が低い:バギングの手法は安定性の低いアルゴリズムに対して特に有効です。安定性が高い場合や、バイアスが大きい場合は、モデルのデータ・セット内のバリエーションが少ないため、メリットは小さくなります。『Hands-On Guide to Machine Learning』(IBM外部へのリンク)には、「線形回帰モデルに対するバギングでは、bが十分に大きい場合、実質的に元の予測を返すだけになる」と記載されています。
バギングの用途

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

  • 医療:バギングは医療データの予測に使用されています。例えば、ある研究(ibm.com外部へのリンク)によると、対象となる特定の形質を識別する遺伝子やタンパク質の選択をはじめ、一連のバイオインフォマティクスの問題に対して、アンサンブル学習の手法が用いられています。例えば、こちらの研究(ibm.com外部へのリンク)では、さまざまなリスク予測因子に基づいて糖尿病の発症を予測する用途での利用について、詳しく論じています。
  • IT:バギングは、ネットワーク侵入検知システムなどのITシステムの精度と正確性の向上にも寄与します。また、こちらの研究(ibm.com外部へのリンク)では、バギングによってネットワーク侵入検知の精度がどのように向上し、誤検知の割合が減少するかについて論じています。
  • 環境:バギングなどのアンサンブル学習の手法は、リモート・センシングの分野で利用されています。例えば、こちらの研究(ibm.com外部へのリンク)では、沿岸部の湿地タイプのマッピングにおける利用について論じています。
  • 金融:バギングは金融業界のディープラーニング・モデルでも利用され、不正アクセス検知、信用リスクの評価、オプション価格の設定といった問題をはじめ、重要な業務の自動化に貢献しています。こちらの研究(ibm.com外部へのリンク)では、融資のデフォルト・リスクの評価でバギングなどの機械学習手法がどのように活用されてきたかを論じています。こちらの研究(ibm.com外部へのリンク)では、銀行などの金融機関でクレジット・カード詐欺のリスクを最小限に抑えるうえでバギングがどのように役立つかを論じています。
関連ソリューション
IBM SPSS Modeler

予測分析を使用して、データ・パターンを検出し、予測精度を上げ、意思決定を改善します。

詳細はこちら
IBM Watson Studio

信頼性の高いAIを、あらゆるクラウド上で構築、拡張します。ModelOpsのためのAIライフサイクルを自動化します。

IBM Watson Studioの詳細はこちら
参考情報 バギングとブースティング

IBMのデータサイエンス・コミュニティーで、2つのアンサンブル学習手法の違いについて学びます。

ブースティングとは

ブースティング・アルゴリズムと、それによってデータ・マイニングの取り組みの予測能力がどのように向上するかについて学びます。

次のステップ

IBM SPSS Modelerは、ボトムアップの仮説生成アプローチを通じてデータに隠されたパターンとモデルを明らかにするビジュアル・データサイエンスおよび機械学習(ML)ソリューションです。 世界中の組織がデータの準備と検出、予測分析、モデル管理とデプロイメント、およびデータ資産を収益化するためのMLに使用しています。

詳細はこちら 無料評価版(30日間)