【ばぎんぐ】
バギング とは?
💡 データを「袋詰め」して複数モデルを並列に育てる手法
📌 このページのポイント
バギングってどういうしくみなの?
まず学習データからランダムにデータを抜き出す(復元抽出なので同じデータが複数回選ばれることもある)。これを何セットも作って、それぞれで独立にモデルを学習させるんだ。最後に全モデルの予測結果を多数決や平均でまとめる。一人の意見より、みんなの意見をまとめた方が安定するよね、という発想だよ。
ランダムフォレストとの関係は?
ブースティングとどっちがいいの?
バギングの理論的な根拠ってあるの?
実はちゃんと数学的に説明できるんだ。統計学で「分散の削減」という考え方があって、独立な予測の平均を取ると分散が1/nに減る。ただし、ここに落とし穴があるんだよね。バギングで作ったモデルは完全に独立ではなくて、同じ学習データから作っているから相関がある。モデル間の相関が高いとバギングの効果は薄れてしまう。ランダムフォレストが特徴量もランダム化するのは、まさにこの相関を下げるためなんだ。「なぜランダムにすると良くなるのか」を厳密に理解しようとすると、バイアス-バリアンス分解という統計学の深い話に入り込むことになって、データサイエンスを長くやっている人でも直感的に理解しにくい部分なんだよ。
まとめ:ざっくりこれだけ覚えればOK!
「バギング」って出てきたら「データをランダムに分けて複数モデルを作り、結果をまとめて精度を上げる手法のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Bagging(Bootstrap Aggregating)」 = ブートストラップ集約
💬 Bootstrap(復元抽出)したデータでモデルを作り、Aggregating(集約)すること。略してBaggingだよ