オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【機械学習】アンサンブル学習 / Ensemble Learning #まとめ編

Index

アンサンブル学習 / Ensemble Learning

アンサンブル学習 (Ensemble Learning) は、複数のモデル (学習器) を融合させて1つの学習モデルを生成する機械学習の手法.

コミッティに基づく学習 / Committee-Based Learning もしくは、 多重分類器システムの学習 / Multiple Classifier System とも呼ばれる.



アンサンブル学習は1人で問題を解くより、複数人で意見を出し合って知識を補い合いながら解く方が正答率が上がるのと考え方は同じ.

基本学習器

1 つのアンサンブルは、基本学習器と呼ばれる多くの学習器を含んでいる.

基本学習器は、決定木などのアルゴリズム (基本学習アルゴリズム) を利用する.

1 つの基本学習アルゴリズムを用いて、構築されたアンサンブルを同種アンサンブルといい、 複数の種類の基本アルゴリズムを用いて、構築されたアンサンブルを異種アンサンブルという.

アンサブルの種類

アンサンブル学習は大きく3つの手法に分けることが可能.

  • バギング / Bagging
  • ブースティング / Boosting
  • スタッキング / Stacking

バギング / Bagging

Bootstrap AGGregatING



ブースティング / Boosting

応用手法

ランダムフォレスト / Random Forests

XGBoost / 2014

LightGBM / 2016

NN への応用

AdaNet / 2021

  • AdaNet: A Scalable and Flexible Framework for Automatically Learning Ensembles

  • How to ensemble neural networks using AdaNet?

工夫・テクニック

Model Cascades / 2020

  • Wisdom of Committees: An Overlooked Approach To Faster and More Accurate Models

  • Model Ensembles Are Faster Than You Think

PopulAtion Parameter Averaging / PAPA / 2023

ライブラリ

参考

書籍

  • Python 機械学習プログラミング

    • 7 アンサンブル学習 - 異なるモデルの組み合わせ
      • 7.1 アンサンブルによる学習
      • 7.2 単純な多数決分類器の実装
      • 7.3 アンサンブル分類器の評価とチューニング
      • 7.4 バギング : ブートストラップ標本を使った分類器アンサンブルの構築
      • 7.5 アダブーストによる弱学習器の活用
    • [asin:B01HGIPIAK:detail]

  • アンサンブル法による機械学習