【ばぎんぐ】

バギング とは?

💡 データを「袋詰め」して複数モデルを並列に育てる手法
📌 このページのポイント
バギング(Bootstrap Aggregating) 元のデータセット サンプル1(復元抽出) サンプル2(復元抽出) サンプルN(復元抽出) モデル1 モデル2 モデルN 多数決 / 平均 複数モデルの予測を集約 → 精度向上・過学習抑制
バギングの仕組み:復元抽出→複数モデル→集約
ひよこ ひよこ

バギングってどういうしくみなの?

ペンギン先生 ペンギン先生

まず学習データからランダムにデータを抜き出す(復元抽出なので同じデータが複数回選ばれることもある)。これを何セットも作って、それぞれで独立にモデルを学習させるんだ。最後に全モデルの予測結果を多数決や平均でまとめる。一人の意見より、みんなの意見をまとめた方が安定するよね、という発想だよ。

ひよこ ひよこ

ランダムフォレストとの関係は?

ペンギン先生 ペンギン先生

ランダムフォレストはバギングの考え方をベースにした発展形だよ。バギングでデータをランダムに選ぶだけでなく、各決定木が使う特徴量もランダムに制限するんだ。これによって各木がさらに多様になって、アンサンブル効果が高まるんだよ。

ひよこ ひよこ

ブースティングとどっちがいいの?

ペンギン先生 ペンギン先生

一概には言えないんだけど、バギングは過学習しにくく安定している一方、ブースティングは精度が高くなりやすいけど過学習しやすい。データにノイズが多い場合はバギングの方が安全だし、きれいなデータで最高精度を狙うならブースティング、という使い分けが多いよ。

ひよこ ひよこ

バギングの理論的な根拠ってあるの?

ペンギン先生 ペンギン先生

実はちゃんと数学的に説明できるんだ。統計学で「分散の削減」という考え方があって、独立な予測の平均を取ると分散が1/nに減る。ただし、ここに落とし穴があるんだよね。バギングで作ったモデルは完全に独立ではなくて、同じ学習データから作っているから相関がある。モデル間の相関が高いとバギングの効果は薄れてしまう。ランダムフォレストが特徴量もランダム化するのは、まさにこの相関を下げるためなんだ。「なぜランダムにすると良くなるのか」を厳密に理解しようとすると、バイアス-バリアンス分解という統計学の深い話に入り込むことになって、データサイエンスを長くやっている人でも直感的に理解しにくい部分なんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「バギング」って出てきたら「データをランダムに分けて複数モデルを作り、結果をまとめて精度を上げる手法のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Bagging(Bootstrap Aggregating)」 = ブートストラップ集約
💬 Bootstrap(復元抽出)したデータでモデルを作り、Aggregating(集約)すること。略してBaggingだよ
← 用語集にもどる