アンサンブル学習(Ensemble Learning)
1. 解説
アンサンブル学習とは、複数のモデル(学習器)を組み合わせて、単一のモデルよりも高い精度や汎化性能(未知のデータへの対応力)を得ようとする手法のことです。
ことわざの「三人寄れば文殊の知恵」と同じ考え方です。一つ一つのモデルは性能が低くても(弱学習器)、それらの意見を多数決や平均などでまとめることで、より賢く安定した予測が可能になります。

アンサンブル学習の3大手法
「どうやって複数のモデルを組み合わせるか」によって、主に以下の3つに分類されます。特にバギングとブースティングの違いは最重要です。
| 手法名 | 仕組み・イメージ | 目的・メリット | 代表的なアルゴリズム |
|---|---|---|---|
| ① バギング (Bagging) |
並列(Parallel) データを少しずつ変えて、独立したモデルを一斉に学習させ、最後に多数決をとる。 |
過学習を抑える (バリアンスを下げる) |
ランダムフォレスト |
| ② ブースティング (Boosting) |
直列(Sequential) 前のモデルが間違えた問題を、次のモデルが重点的に学習する(バケツリレー形式)。 |
精度を高める (バイアスを下げる) |
AdaBoost 勾配ブースティング(GBDT) XGBoost, LightGBM |
| ③ スタッキング (Stacking) |
多段構造 複数の異なるモデルの予測結果を、さらに別のモデル(メタモデル)に入力して最終判断する。 |
精度を極限まで高める (コンペなどでよく使われる) |
(特定のアルゴリズム名はなく、枠組みの名前) |
なぜ「決定木」と相性がいいのか?
アンサンブル学習では、ベースとなるモデルに「決定木」がよく使われます(例:ランダムフォレスト)。
これは、決定木が「学習データが変わると結果が大きく変わりやすい(不安定)」という性質を持っているため、逆に言えば「あえて少しずつ違うデータで学習させれば、多様な意見を持ったモデルが作りやすい」からです。
2. G検定対策
出題ポイント
- 用語の対応:
- バギング = 並列 = ランダムフォレスト
- ブースティング = 直列 = 勾配ブースティング(GBDT)
- ブートストラップサンプリング:バギングにおいて、元のデータから「復元抽出(重複を許してランダムに選ぶ)」でデータセットを作る手法のこと。
- 弱学習器(Weak Learner):単体では「ランダムよりマシ」程度の精度しかない単純なモデルのこと。これをたくさん集めて強くするのがアンサンブル学習の本質。
ひっかけ対策・注意点
- バギングとブースティングの目的の違い:
- バギングは「過学習を抑えて安定させたい」ときに強い。
- ブースティングは「とにかく精度を上げたい」ときに強い(ただし学習に時間がかかり、ノイズに弱い場合がある)。
- ランダムフォレストの特徴:
バギングの一種ですが、学習データだけでなく「使う特徴量」もランダムに選ぶことで、モデル間の多様性をさらに高めています。
