アンサンブル学習
アンサンブル学習とは
アンサンブル学習とは、
複数のモデルを組み合わせて、1つのモデルより高い精度や安定性を狙う方法です。
ざっくり言うと、
1人の判断より、複数人の意見を集めた方が当たりやすいよね
という考え方です。
機械学習では、1つのモデルだけだと判断が偏ったり、
たまたま学習データに引っ張られすぎたりします。
そこで、複数のモデルを使って予測を安定させます。
代表的な3つ
アンサンブル学習の代表的な方法には、次の3つがあります。
- バギング
- ブースティング
- スタッキング
1. バギング
バギングとは
バギングは、
複数のモデルを並列に学習させて、多数決や平均で予測する方法です。
イメージはこれです。
同じ試験を、少しずつ違う問題集で勉強した複数人に解かせて、
最後は多数決する
元の学習データからランダムにデータを取り出して、
複数の学習データセットを作ります。
それぞれでモデルを学習させ、最後に結果をまとめます。
代表例は ランダムフォレスト です。
バギングの特徴
| 項目 | 内容 |
|---|---|
| 学習の仕方 | 複数モデルを並列に学習 |
| 結果のまとめ方 | 多数決、平均 |
| 得意なこと | 予測を安定させる |
| 主な目的 | バリアンスを下げる |
| 代表例 | ランダムフォレスト |
バギングは、特に過学習しやすいモデルを安定させるのに向いています。
たとえば決定木は、1本だけだとデータに過剰に反応しやすいです。
でも、たくさんの決定木を作って多数決すれば、個々の木のクセが打ち消されます。
2. ブースティング
ブースティングとは
ブースティングは、
前のモデルが間違えたところを、次のモデルが重点的に学習する方法です。
イメージはこれです。
1回目のテストで間違えた問題を復習して、次の勉強ではそこを重点的にやる
モデルを順番に作ります。
- 1つ目のモデルが予測する
- 間違えたデータに注目する
- 2つ目のモデルは、その間違えた部分を重点的に学習する
- さらに3つ目、4つ目……と改善していく
代表例は、勾配ブースティング木 などです。
ブースティングの特徴
| 項目 | 内容 |
|---|---|
| 学習の仕方 | モデルを順番に学習 |
| 結果のまとめ方 | 各モデルの結果を重み付きで統合 |
| 得意なこと | 精度を高める |
| 主な目的 | バイアスを下げる |
| 代表例 | AdaBoost、XGBoost、LightGBM |
ブースティングは高精度になりやすいですが、
その分、過学習しやすいこともあります。
3. スタッキング
2026/02/25現在
スタッキングはG検定のシラバスに載っていません
スタッキングとは
スタッキングは、
複数のモデルの予測結果を、さらに別のモデルに学習させる方法です。
イメージはこれです。
複数の専門家の意見を集めて、最後に司会者・審査員が総合判断する
たとえば、以下のようにします。
- 決定木の予測
- ロジスティック回帰の予測
- SVMの予測
- ニューラルネットワークの予測
これらの予測結果を集めて、
最後に別のモデルが「どの意見をどれくらい信用するか」を学習します。
この最後のモデルを メタモデル と呼びます。
スタッキングの特徴
| 項目 | 内容 |
|---|---|
| 学習の仕方 | 複数モデルの予測結果を、さらに別モデルで学習 |
| 結果のまとめ方 | メタモデルが判断 |
| 得意なこと | 異なる種類のモデルの強みを活かす |
| 主な目的 | 精度向上 |
| 代表例 | コンペ系の機械学習でよく使われる |
スタッキングは強力ですが、仕組みが少し複雑です。
また、きちんと設計しないと過学習しやすいです。
3つの違いまとめ
| 手法 | 一言でいうと | 学習の流れ | 代表例 |
|---|---|---|---|
| バギング | みんなで多数決 | 並列 | ランダムフォレスト |
| ブースティング | 間違いを順番に改善 | 直列 | AdaBoost、XGBoost、LightGBM |
| スタッキング | 複数モデルの予測をさらに学習 | 二段構え | メタモデルを使う手法 |
めちゃくちゃざっくり覚えるなら
バギング
みんなで別々に考えて、多数決する
安定性アップが目的。
バリアンスを下げる。
ブースティング
間違えたところを次のモデルが重点的に直す
精度アップが目的。
バイアスを下げやすい。
スタッキング
複数の専門家の意見を、最後に別の専門家がまとめる
モデル同士の強みを組み合わせる方法。
G検定向けの覚え方
試験対策なら、まずこの対応で覚えるとよいです。
| 用語 | 覚えるポイント |
|---|---|
| アンサンブル学習 | 複数モデルを組み合わせる |
| バギング | 並列、多数決、ランダムフォレスト |
| ブースティング | 逐次、誤分類を重視、AdaBoost・XGBoost |
| スタッキング | 複数モデルの出力をメタモデルで学習 |
特に重要なのは、
ランダムフォレストはバギングの代表例
です。
これはG検定でもかなり覚えておきたいポイントです。
試験での判断ポイント
「複数のモデルを並列に作る」
→ バギング
「誤分類したデータを重視する」
→ ブースティング
「複数モデルの予測結果を別モデルに入力する」
→ スタッキング
最後に一言でまとめる
アンサンブル学習は、
複数のモデルを組み合わせて、より良い予測をする方法
です。
その中で、
- バギング:並列に学習して多数決
- ブースティング:間違いを順番に改善
- スタッキング:複数モデルの結果をさらに別モデルでまとめる
と覚えると整理しやすいです。