Boosting(ブースティング)について調べたのでまとめる:AdaBoost / Gradient Boosting / XGBoostなど
こんにちは。
最近、アンサンブル学習について勉強しているんですが、この記事ではBoostingについて調べたことを書きます。以下がその他のアンサンブル学習とか全般的な話とかについて書いた記事なので、バギングとか知りたい人は以下の記事をどうぞ。
◯Boostingとは
Boostingとは、弱学習器をboostして、そのアルゴリズムよりも強い学習アルゴリズムをつくることです.ブースティングの一般的な考え方は、学習器を連続的に学習させて、より精度が向上するように修正していくことです。
学習した予測器をより良いものにするためには、単純に間違えたものにより注意を払って次の学習を行えばいいと考えられます(以下の図参照)。
引用:Géron, Aurélien. "Hands on Machine Learning with scikit-learn and Tensorflow." (2017).
これが概観ですが、それぞれの手法について見ていくのが良いと思うので、早速見ていこうと思います。ぶっちゃけ、ここでグダグダ外観を説明するよりも、以下の記事を読むほうが良いと思いますので、メモがてら紹介いたします。
○PAC learning(確率的近似学習)
[工事中]
○XGBoost
[工事中]
○LightGBM
LightGBMの詳細な解説記事みたいなのは理解するためにも今書いているんですが、以下の記事が概要をつかむためにはいい感じでした。
簡単に言うと、Microsoftが開発しているGradient Boostingを高速に実行できるようにしたライブラリです。XGBoostよりも数倍高速っていう結果もあるみたいです。
ライブラリの構成とか、特徴とかは後で紹介するXGBoostにとてもよく似ているんですが、アルゴリズムが違うみたいですね。下のDMTKっていうツールの中の1つです。
LightGBMのGithubやドキュメントは以下から見れます。
- Github : GitHub - Microsoft/LightGBM: A fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks. It is under the umbrella of the DMTK(http://github.com/microsoft/dmtk) project of Microsoft.
- Document : Welcome to LightGBM’s documentation! — LightGBM documentation
○DART
[工事中]
○catboost
[工事中]
◯MEBoost
[工事中]