バギング ばぎんぐ
バギングブートストラップアグリゲーションアンサンブル学習分散低減ランダムフォレスト
バギングについて教えて
簡単に言うとこんな感じ!
同じデータから「少しずつ違うサブセット」を作り、それぞれで独立したモデルを学習して多数決する手法だよ。1人の天才より100人の普通の人の意見を集めた方が安定するというイメージ。ランダムフォレストはバギングに特徴量のランダム化を加えた発展版なんだ!
バギングとは
バギング(Bagging:Bootstrap Aggregating)は、訓練データをランダムに復元抽出した複数のサブセットで同じアルゴリズムを個別に学習し、最終予測を多数決(回帰は平均)で行うアンサンブル手法です。1994年にLeo Breimanが提案しました。
仕組み
元の訓練データ(n件)
↓
┌───────┬───────┬───────┐
│ サブ1 │ サブ2 │ サブ3 │ ← ブートストラップサンプリング(復元抽出)
│(n件) │(n件) │(n件) │
└───────┴───────┴───────┘
↓ ↓ ↓
モデル1 モデル2 モデル3 ← 独立して学習(並列化可能)
↓ ↓ ↓
予測A 予測B 予測C
↓
多数決 / 平均 → 最終予測
ブートストラップとは
元のデータからランダムに1つ選んで記録し、戻して、また1つ選ぶ「復元抽出」を繰り返す手法です。n件から n件を復元抽出すると、理論上 約63%の異なるサンプルがサブセットに含まれ、残り37%は重複、そして含まれないサンプルも存在します。
バギングの効果
バイアス(予測のズレ):変化なし
分散(予測の不安定さ):大幅に低減
→ 過学習しやすいモデルを安定化させるのに有効
歴史と背景
- 1994年:Breiman が “Bagging Predictors” を発表
- 2001年:Random Forest(バギング + 特徴量ランダム化)が登場
- 現在:バギング単体より、ランダムフォレストとして広く使われる