アンサンブル学習ビジュアライザー (Bagging + 決定木)

「多数のシンプルなモデル」を組み合わせて、「一つの強力なモデル」を作る様子を観察します。

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

操作パネル

点を配置し、「学習実行」を押してください。



個々の「弱い学習器」たち (各モデルは元データの一部だけを見て学習)

このデモの解説

このページは、機械学習のアンサンブル学習の一種であるバギング (Bagging) の動作を視覚的に理解するためのデモです。バギングは、多数の少しずつ異なる学習モデルを組み合わせて、より頑健で精度の高い一つのモデルを構築する手法です。

バギングと決定木の仕組み

このデモでは、個々の学習モデルとして決定木 (Decision Tree) を使用しています。バギング (Bagging) は "Bootstrap Aggregating" の略で、その名の通り以下の2つのステップで構成されます。

  1. ブートストラップ (Bootstrap):

    まず、あなたが配置した元のデータセットから、ランダムにデータを復元抽出(同じデータを何度も選ぶことを許す)します。これにより、元のデータと少しだけ構成が異なる「ミニデータセット(ブートストラップサンプル)」を、モデルの数だけ作成します。

  2. アグリゲーティング (Aggregating):

    次に、作成した各ミニデータセットを使って、それぞれ独立に決定木モデルを学習させます。こうして出来上がったモデルたちは、それぞれ異なるデータで学習したため、少しずつ「個性」の違う予測をします。
    最終的な予測は、これらすべてのモデルの予測結果を多数決で集約(Aggregate)して決定します。一人の専門家の意見よりも、多数の専門家の意見を参考にするのに似ています。

この手法により、個々のモデルが学習データに過剰に適合してしまう「過学習」を抑制し、より安定した汎用性の高いモデルを作ることができます。有名なランダムフォレストも、このバギングにさらにランダム性を加えたアルゴリズムです。

画面の見方

左上の画面
最終的な予測結果です。下のパネルにある全ての「個々のモデル」の予測を多数決で統合した、アンサンブルモデル全体の決定境界を背景色で示しています。個々のモデルよりも滑らかで複雑な境界が形成される様子がわかります。
右上のパネル
操作パネルです。データ点の配置や、学習条件の調整ができます。
  • アンサンブルするモデル数: 作成する決定木の数です。数が多いほど、結果は安定する傾向があります。
  • 各モデルの複雑さ(Max Depth): 個々の決定木の「深さ」の上限です。値が大きいほど、各モデルはより複雑な境界線を描くことができます。
下のパネル
個々の「弱い学習器」たちの予測結果です。
  • 表示されている各ミニキャンバスは、それぞれが独立して学習した一つの決定木モデルを表します。
  • 各モデルは、元のデータの一部(ブートストラップサンプル)のみを見て学習しているため、それぞれ少しずつ異なる決定境界を持っています。
  • これらの多様なモデルたちが集まることで、左上の強力なアンサンブルモデルが構成されます。