アンサンブル学習ビジュアライザー (Bagging vs Boosting)

BaggingとBoosting、2つのアンサンブル学習の違いをアニメーションで比較します。

最終的なアンサンブルモデルの予測

操作パネル




個々の「弱学習器」たち

解説: Bagging vs Boosting

このページは、機械学習のアンサンブル学習の代表的な2つの手法、バギング (Bagging)ブースティング (Boosting) の動作の違いを視覚的に理解するためのデモです。どちらも、多数のシンプルなモデル(弱学習器)を組み合わせて、より強力なモデルを構築する手法ですが、そのアプローチは大きく異なります。

Bagging (Bootstrap Aggregating)

戦略: 「多様なメンバーで多数決」

  1. ブートストラップ: 元のデータセットから、ランダムにデータを選んで新しい「ミニデータセット」を複数作成します(同じデータを何度も選ぶことを許します)。これにより、少しずつ異なるデータセットがモデルの数だけ出来上がります。
  2. 並列学習: 作成した各データセットを使って、それぞれ独立に弱学習器(このデモでは決定株)を学習させます。各モデルは互いの学習結果を知りません。
  3. 集約 (Aggregating): 最終的な予測は、すべての弱学習器の予測結果を「多数決」で決定します。

観察ポイント: 学習を開始すると、右下の「弱学習器たち」が一斉に生成されます。Baggingを選択した場合、各弱学習器のパネルには、その学習に使われたデータ点(ブートストラップサンプル)が薄く表示されます。それぞれ少しずつ違うデータを見ていることがわかります。

Boosting (AdaBoost)

戦略: 「苦手分野を重点的に反復練習」

  1. 初期化: すべてのデータ点に均等な「重み(重要度)」を与えます。
  2. 逐次学習: 1つ目の弱学習器を学習させ、そのモデルが間違えたデータ点の「重み」を大きくします。
  3. 重みを考慮した学習: 2つ目の弱学習器は、重みが大きくなった「間違えやすいデータ」をより重視して学習します。
  4. 繰り返し: この「学習→間違い箇所の重みを更新」というプロセスを指定された回数繰り返し、モデルを段階的に賢くしていきます。

観察ポイント: 学習を開始すると、弱学習器が一つずつ順番に生成されます。Boostingを選択した場合、各弱学習器のパネルには、その時点での重み付けされた全データが表示されます。点の大きさが「重み」を表しており、学習が進むにつれて分類が難しい境界線付近の点のサイズが大きくなっていく様子が確認できます。