Web教科書

アンサンブル学習

アンサンブル学習(Ensemble Learning)

1. 解説

アンサンブル学習とは、複数のモデル(学習器)を組み合わせて、単一のモデルよりも高い精度や汎化性能(未知のデータへの対応力)を得ようとする手法のことです。

ことわざの「三人寄れば文殊の知恵」と同じ考え方です。一つ一つのモデルは性能が低くても(弱学習器)、それらの意見を多数決や平均などでまとめることで、より賢く安定した予測が可能になります。

アンサンブル学習の概念図

アンサンブル学習の3大手法

「どうやって複数のモデルを組み合わせるか」によって、主に以下の3つに分類されます。特にバギングとブースティングの違いは最重要です。

手法名 仕組み・イメージ 目的・メリット 代表的なアルゴリズム
バギング
(Bagging)
並列(Parallel)
データを少しずつ変えて、独立したモデルを一斉に学習させ、最後に多数決をとる。
過学習を抑える
(バリアンスを下げる)
ランダムフォレスト
ブースティング
(Boosting)
直列(Sequential)
前のモデルが間違えた問題を、次のモデルが重点的に学習する(バケツリレー形式)。
精度を高める
(バイアスを下げる)
AdaBoost
勾配ブースティング(GBDT)
XGBoost, LightGBM
③ スタッキング
(Stacking)
多段構造
複数の異なるモデルの予測結果を、さらに別のモデル(メタモデル)に入力して最終判断する。
精度を極限まで高める
(コンペなどでよく使われる)
(特定のアルゴリズム名はなく、枠組みの名前)

なぜ「決定木」と相性がいいのか?

アンサンブル学習では、ベースとなるモデルに「決定木」がよく使われます(例:ランダムフォレスト)。
これは、決定木が「学習データが変わると結果が大きく変わりやすい(不安定)」という性質を持っているため、逆に言えば「あえて少しずつ違うデータで学習させれば、多様な意見を持ったモデルが作りやすい」からです。


2. G検定対策

出題ポイント

  • 用語の対応:
    • バギング = 並列 = ランダムフォレスト
    • ブースティング = 直列 = 勾配ブースティング(GBDT)
  • ブートストラップサンプリング:バギングにおいて、元のデータから「復元抽出(重複を許してランダムに選ぶ)」でデータセットを作る手法のこと。
  • 弱学習器(Weak Learner):単体では「ランダムよりマシ」程度の精度しかない単純なモデルのこと。これをたくさん集めて強くするのがアンサンブル学習の本質。

ひっかけ対策・注意点

  • バギングとブースティングの目的の違い:
    • バギングは「過学習を抑えて安定させたい」ときに強い。
    • ブースティングは「とにかく精度を上げたい」ときに強い(ただし学習に時間がかかり、ノイズに弱い場合がある)。
  • ランダムフォレストの特徴:
    バギングの一種ですが、学習データだけでなく「使う特徴量」もランダムに選ぶことで、モデル間の多様性をさらに高めています。
タイトルとURLをコピーしました