最終更新日:2026年8月26日
gk machine_learning ensemble
G検定トップ
> アンサンブル学習とは?バギング・ブースティング・スタッキングの違い【G検定対策】
まず結論
アンサンブル学習は、複数のモデルの予測を組み合わせ、単体モデルより安定した予測や高い性能を目指す考え方です。
G検定では、次の3つをまず切り分けます。
| 手法 | 組み合わせ方 | 判断キーワード |
|---|---|---|
| バギング | 複数モデルを主に独立・並列に学習して平均・多数決 | ブートストラップ、並列 |
| ブースティング | 学習器を逐次追加して全体を改善 | 逐次、前の結果を利用 |
| スタッキング | 複数モデルの予測を別のメタモデルへ入力 | メタモデル |
直感的な説明
- バギング:複数人に別々に解いてもらい、最後に多数決する
- ブースティング:前までの答案を見ながら、次の学習器を追加して改善する
- スタッキング:複数人の答えを、最後に別の判定役がまとめる
重要なのは、アンサンブル学習に使うモデルが必ず「弱学習器」であるわけではないことです。特にスタッキングでは、性質の異なる複数モデルを組み合わせることがあります。
定義・仕組み
バギング
元データからブートストラップ標本を作り、それぞれでモデルを学習します。予測は平均や多数決で統合します。
代表例はランダムフォレストです。予測のばらつき、つまりバリアンスを抑える方向に働くことが期待されます。
ブースティング
複数の学習器を逐次的に追加し、これまでのアンサンブルが十分に表現できていない部分を補っていきます。
ただし、「誤分類サンプルの重みを増やす」はAdaBoostの代表的な仕組みです。すべてのブースティングが同じ方法を使うわけではありません。
- AdaBoost → 誤分類されたサンプルの重みを調整
- Gradient Boosting → 損失の負の勾配に対応する方向を次の学習器で近似
スタッキング
複数のベースモデルの予測を特徴量として、メタモデルが最終予測を学習します。
スタッキングはバギングの応用ではなく、別のアンサンブル戦略として整理するのが安全です。
いつ使う?(得意・不得意)
- 予測のばらつきを抑えたい → バギングを検討
- 逐次的にモデルを追加して性能を高めたい → ブースティングを検討
- 異なるモデルの長所をメタモデルで組み合わせたい → スタッキングを検討
ただし、アンサンブルにすれば必ず性能が上がるわけではありません。似た誤りをするモデルだけを組み合わせても、効果が小さいことがあります。
G検定ひっかけポイント
- ❌「バギングは逐次学習」→ ブースティングとの逆転
- ❌「すべてのブースティングは誤分類データの重みを増やす」→ AdaBoostの説明を一般化しすぎ
- ❌「スタッキングはバギングの一種」→ 別のアンサンブル戦略
- ⭕「ブートストラップ+平均・多数決」→ バギング
- ⭕「逐次的に学習器を追加」→ ブースティング
- ⭕「ベースモデルの予測をメタモデルへ入力」→ スタッキング
まとめ(試験直前用)
- アンサンブル学習=複数モデルの予測を統合
- バギング=並列+平均・多数決
- ブースティング=逐次的に追加
- スタッキング=メタモデルで統合
- 「誤分類サンプルの重み付け」はAdaBoostの代表的特徴であり、Boosting全体の定義ではない