Kaggleでよく使われる「XGBoost」。
私は最近使い始めたのですが、具体的なロジックを知らぬまま使っていました。
そこで、「codexa」の「実践チュートリアル XGBoost」を受講してみましたので、感想を記します。
本コースを受講すれば、
「XGBoost」の根幹である「勾配ブースティング」について直感的にわかるようになります。
有料ですが、¥850と格安なので、「XGBoost」について何も知らない人は受講して損はないです。
前提知識/受講のきっかけ
「codexa」とは
「機械学習 入門コースの決定版!機械学習エンジニアを目指すならcodexa(コデクサ)」
と「codexa」が謳っている通り、機械学習で使われるpythonプログラミングを無料、または安価に学習することができるWebサービスです。
私は今まで無料のコースをいくつか受講してきました。
内容的には他の学習サイトとあまり違いがありませんが、機械学習で使われる必要最低限のpythonプログラムを体系的に学べるので、初学者にはオススメできるWebサービスです。
有料コースもいくつかありますが、全て数百円なので、ためになればラッキーくらいのノリで受講できます。
「XGBoost」とは
この記事を読んでいる人はご存知かと思いますが、
「XGBoost」とは「決定木を用いた勾配ブースティング」のオープンソースのフレームワークです。
オープンソースのフレームワークであり、scikit-learnに搭載されている他の機械学習アルゴリズムと同様の使い方ができるので、「XGBoost」を使うだけなら簡単にできます。
しかし、「決定木を用いた勾配ブースティング」というのが、初心者にはピンと来ません。
私も「codexa」で学習するまではピンと来ませんでした。
アルゴリズムの中身がよくわからないと、「XGBoost」のハイパーパラメータの調整をうまくできません。
この「決定木を用いた勾配ブースティング」を理解するために、「codexa」の「実践チュートリアル XGBoost」を受講することにしました。
「実践チュートリアル XGBoost」を受講してよかったこと
「実践チュートリアル XGBoost」を受講すると、「決定木を用いた勾配ブースティング」をpythonで実装することができます。
つまり、「XGBoost」のアルゴリズムの中身をpythonで実装します。
もちろん「XGBoost」を1から10まで実装するわけではなく、アルゴリズムの核となるロジックのみを実装します。
アルゴリズムを自分の手で実装することで、アルゴリズムの中身がよくわかるようになります。
特に本コースでは、「勾配ブースティング」の各ステップで学習モデルの精度が徐々に向上していくのを可視化して実装するので、「勾配ブースティング」が直感的にわかるようになりました。
これだけでも¥850を払う価値があるかなと思いました。
「実践チュートリアル XGBoost」がイマイチだったこと
個人的には、ハイパーパラメータの種類と各パラメータの説明がもう少し欲しかったという印象です。
「実践チュートリアル XGBoost」では、一部のハイパーパラメータの概要とチューニング方法を学ぶことができます。
しかし、自分で実装した「勾配ブースティング」のロジックとハイパーパラメータがあまりミートしていないため、各パラメータの概要理解が進みませんでした。
「XGBoost」のハイパーパラメータは、「決定木」に関するものと「勾配ブースティング」に関するものに分けることができます。
本コースでは「決定木」の説明は対象外なので、「決定木」に関するハイパーパラメータの意味がわかっていればもう少し理解度が上がったかもしれません。
まとめ
「実践チュートリアル XGBoost」を受講してみた所感を記しました。
¥850なので、正直あまり期待していなかったのですが、「決定木を用いた勾配ブースティング」を直感的に理解するという点では非常に優れたコンテンツかなと思います。
ちなみに、コース終了にかかった時間は約6時間でした。
(勤務時間中にこそこそ進めていたので、もっと早く終わるかもしれません。)
以上!!
コメント