アンサンブル学習

Ensemble Learning

アンサンブル学習(Ensemble Learning)とは、複数のモデル(弱学習器)を組み合わせて、個々のモデルよりも高い予測性能を達成する手法の総称です。「三人寄れば文殊の知恵」の原理で、多様なモデルの予測を集約します。

アンサンブル学習の3つのアプローチ

バギング(ランダムフォレスト)は並列に学習した複数モデルの予測を平均・多数決で集約し、バリアンスを削減します。ブースティング(XGBoost、LightGBM)は逐次的にモデルを構築し前のモデルの誤りを修正することでバイアスを削減します。スタッキングは異なる種類のモデルの予測を別のモデルで統合します。

表:アンサンブル学習の要点まとめ
ひとことで言うと複数のモデルを組み合わせて、単体より高い精度を出す手法の総称。
主な種類バギング(並列に作って平均)、ブースティング(順番に弱点を補う)、スタッキング。
注意点計算コストが増え、判断の理由が追いにくくなる。

なぜ効果があるのか

各モデルが異なる種類のエラーを起こす場合、それらを組み合わせることでエラーが相殺され、全体の精度が向上します。多様性のあるモデルを組み合わせるほど効果が大きくなります。

図:アンサンブル学習の考え方
1複数モデルを作る少しずつ違う学習器
▶
2それぞれ予測得意・不得意が異なる
▶
3結果を集約多数決や平均
▶
4誤りが打ち消し合う単体より安定・高精度