本文へ移動

G検定(ジェネラリスト検定)

ばぎんぐ

バギング

Bagging

Bootstrap Aggregating

元の学習データから重複を許して抜き出した学習データを何組も作り、それぞれで学習した予測器の出力について、数値なら平均、クラスなら多数決をとって1つの予測にする手法です。

詳しい説明

バギングとは

バギング(Bagging)は、同じ種類の予測器を何個も作り、それらの予測をまとめて1つの予測を出す手法です。統計学者のブレイマン(Leo Breiman)が1994年にカリフォルニア大学バークレー校統計学科のテクニカルレポート「Bagging Predictors」で示しました。

このレポートの要旨は、バギングを「予測器の複数の版を生成し、それらを使って集約された予測器を得る手法」と説明しています。1つのデータから1つのモデルを作って終わりにするのではなく、少しずつ違う学習データでモデルを何個も作り、その答えを持ち寄るのが基本の考え方です。

名前の由来

バギングという名前は、bootstrap aggregating を縮めた呼び名です。ブレイマンはレポートの本文で、この手順を bootstrap aggregating と呼び、略称として bagging を使うと述べています。

名前の2つの部分が、そのまま手法の2つの段階に対応しています。

  • bootstrap は、ブートストラップ複製と呼ばれる方法で学習データを何組も作る段階です。
  • aggregating は、それぞれの学習データで作った予測器の出力を1つに集約する段階です。

学習データを何組も作る方法

複数の予測器を作るには、互いに少しずつ違う学習データが要ります。バギングでは、手元の学習データ1つだけから、ブートストラップ複製によってそれを作ります。

ブートストラップ複製の作り方は次のとおりです。元の学習データがN件あるとき、そこから1件を無作為に選んで写し、選んだデータは元に戻したうえで、また1件を選びます。これをN件になるまで繰り返します。重複を許して(with replacement)抜き出すので、同じデータが2回以上入ることもあれば、1回も選ばれないデータも出てきます。

たとえば元のデータが A、B、C、D、E の5件なら、1組目は A、A、C、D、E、2組目は B、C、C、E、E のように、件数は元と同じ5件のまま中身が少しずつ異なる学習データができあがります。こうして作ったブートストラップ複製の1つ1つを新しい学習データとして使い、予測器を1つずつ学習させます。

予測をまとめる方法

学習が終わると、ブートストラップ複製の数だけ予測器ができています。新しいデータを予測するときは、すべての予測器に同じ入力を与え、その出力を集約します。集約のしかたは、何を予測するかで変わります。

予測するもの集約のしかた
数値(回帰)各予測器の予測値の平均をとる
クラス(分類)各予測器の予測したクラスで多数決をとり、最も多く票を集めたクラスを答えにする

たとえば10個の予測器で住宅価格を予測するなら、10個の予測値を足して10で割った値がバギングの予測になります。10個の予測器で画像が犬か猫かを判定し、7個が犬、3個が猫と答えたなら、バギングの答えは犬です。

手順の全体

バギングの手順をまとめると、次の3段階になります。

1. 元の学習データN件から、重複を許してN件を無作為に抜き出す操作を繰り返し、ブートストラップ複製を何組も作る。
2. ブートストラップ複製ごとに、同じ種類の予測器を1つずつ学習させる。

3. 予測するときは、すべての予測器の出力について、数値なら平均、クラスなら多数決をとり、1つの予測にまとめる。

新しいデータを集め直さずに、手元の学習データ1つから複数の学習データを作り出せる点が、この手順の要です。複数のモデルを組み合わせて1つの予測を出す考え方はアンサンブル学習と呼ばれ、バギングはその代表的な手法の1つとして扱われます。決定木を予測器に使ってバギングを行う手法を発展させたものに、ランダムフォレストがあります。

試験で問われること

G検定

  • バギングは bootstrap aggregating の略で、ブートストラップ複製で作った複数の学習データそれぞれで予測器を学習し、その予測を集約する手法であることを押さえる。
  • ブートストラップ複製は、元のN件の学習データから重複を許して(復元抽出で)N件を無作為に抜き出して作る。同じデータが複数回入ったり、一度も選ばれないデータが出たりする点を理解する。
  • 集約のしかたは予測の種類で異なり、回帰(数値の予測)では各予測器の予測値の平均、分類(クラスの予測)では多数決をとることを区別できるようにする。
  • バギングは複数のモデルを組み合わせるアンサンブル学習の代表的な手法の1つであり、各予測器は別々の学習データで独立に学習させる点を押さえる。

最終更新日: 2026/09/23