現在、Kaggleにてよく使われる手法の一つにGBDT(Gradient Boosting Decision Tree)があります。さらにその種類の1つXGBoostはKagglerによりその効果を検証され非常に人気の高いアルゴリズム・実装です。このブログでは、XGBoostの論文からアルゴリズムを理解するための主要な部分、
-
- TREE BOOSTING IN A NUTSHELL
- 2.1 Regularized Learning Objective
- 2.2 Gradient Tree Boosting
を丁寧に解説することを目的に書いています。
また、ここで解説した理論、アルゴリズムについてはLightGBMにおいてもほぼ同じと思いますので、合わせて参考になるかと思います。
おことわり
しかしながら、最初におことわりをさせていただくのですが、markdownやtexでキレイにまとめる余裕がなかったため、iPadで書いた手書きのメモを暫定的に公開し、markdown化が済んだらまた更新する形とさせていただきます。(Qiita前代未聞の手書き記事?)
PDF版の方が画像が鮮明なので、細かいところを見たい方はこちらPDF版をご参照ください。
いかがでしたか?少しでもXGBoostやGBDTのお気持ちがわかってもらえたら幸いです。この記事を読んで少しでもためになったと思われた方は「いいね」ボタンやRetweetをお願いします!
Reference
- PDF版: URL
- XGBoost: A Scalable Tree Boosting System https://arxiv.org/pdf/1603.02754.pdf
- XGBoost githubリポジトリ https://github.com/dmlc/xgboost
- ともにゃん的データ分析ブログ XGBoostの概要 http://kefism.hatenablog.com/entry/2017/06/11/182959