最近xgboostがだいぶ流行っているわけですけど,これはGradient Boosting(勾配ブースティング)の高速なC++実装です.従来使われてたgbtより10倍高速らしいです.そんなxgboostを使うにあたって,はてどういう理屈で動いているものだろうと思っていろいろ文献を読んだのですが,日本語はおろか,英語文献でもそんなに資料がなかったので,ある程度概要を把握するのに結構時間を食いました. そんなわけで,今回は自分の理解の確認も兼ねて,勾配ブースティングについてざっくりと説明してみようかと思います.とはいえ生理解な部分も結構あるので,マサカリが飛んできそう感が大いにしています.腑に落ちる的な理解を優先しているため,数式は一切出てきません. 勾配ブースティングとは 複数の弱学習器を組み合わせるアンサンブル学習には,いくつかの手法がありますが,ブースティングは逐次的に弱学習器を構築し
![勾配ブースティングについてざっくりと説明する - About connecting the dots.](https://cdn-ak-scissors.b.st-hatena.com/image/square/241064c7f2436d5f0d09503b4c68ae7bf7b6829e/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51mq1YEh5PL.jpg)