3つの要点 ✔️ 時系列予測の領域で、最近深層学習モデルによる性能向上が急速に進んでいます。しかし、古典的な機械学習モデルはもう必要ないのかということで、この大規模な調査と比較実験が行われました。 ✔️ 古典的学習モデルの代表としてGBRTが使われています。深層学習モデルが実現した系列間の依存性の表現を入力の特徴量エンジニアリングベースのウィンドウ化で代替しました。 ✔️ 前処理により、改良GBRTは単変量、多変量両方のデータセットに対して、数多くの深層学習モデルと同等あるいは大きく上回る性能を示しました。 Do We Really Need Deep Learning Models for Time Series Forecasting? written by Shereen Elsayed, Daniela Thyssens, Ahmed Rashed, Hadi Samer Joma

なぜこの記事を書いたのか? 決定木をベースにしたアルゴリズムのほとんどに特徴量重要度という指標が存在する。データに対する知識が少ない場合はこの指標を見て特徴量に対する洞察深めることができる。KaggleではEDAのときにとりあえず重要度を見てみるなんてこともするようだ。 しかし、この特徴量重要度にはバイアスが存在していて、特定の条件下では信用出来ないことがある。そういった条件を広く知ってほしいということでこの記事を書いた。 この記事では人工データを生成しバイアスを再現してみた。また、こういったバイアスに対処したという論文を見つけたので軽く紹介する。おまけとしてgainベース以外の特徴量重要度についても紹介する。 目次 なぜこの記事を書いたのか? 想定読者と実験の枠組み 想定読者 限定する枠組み 特徴量重要度とは? 特徴量重要度にバイアスが生じる条件 1. 解像度が低い場合 2. 特徴量同士

Gradient Boosting や XGBoostについて調べたことをまとめました. Gradient Descent や Newton法と絡めて説明していきたいと思います. 目次 Boosting Gradient Descent (Steepest Descent) Gradient Boosting Regression Tree Gradient Tree Boosting Learning rate Newton Boosting XGBoost GeneralizationError Conclusion Reference Boosting Boostingとは,ランダムより少し良い程度の”弱い”学習アルゴリズムを使って, そのアルゴリズムよりも”強い”学習アルゴリズムをつくることです. イメージとしては,弱い学習アルゴリズムを”boost”してあげる感じでしょうか.

この記事の目的catboostというライブラリがあります。GBDT(Gradient Boosting Decesion Tree )という決定木をアンサンブルする方式の識別モデルを学習するものです。同様のライブラリは他にはXGBoostやLightGBMなどが有名です。 GBDTって何やっているの?というのは以下のXGBoostのドキュメントの画像がわかりやすいです。要は、複数の決定木が存在していて、その結果をあわせて結果を決定(アンサンブル)しているわけです。学習に応じて徐々に木を追加していくのですが、どうやって新しい木を追加していくかのやり方に、「Gradient Boosting」という手法を使っている、というイメージです。catboostは、カテゴリカル変数の扱いに新しい手法を導入していて、論文にもなっています。catboostの"cat"はcatgoryの"cat"なのですね(

Kaggleなどのデータ分析コンペでテーブルデータを扱う場合、最近は取りあえずLightGBMを利用する場合が多いです。本記事では、初手の機械学習アルゴリズムとして「LightGBM」*1を採用する理由を紹介します。あくまで2019年10月末時点での個人の主観なので、ご参考までにご覧いただければと思います。 1. 欠損値をそのまま扱える 2. カテゴリ変数の指定ができる 3. 特徴量のスケーリングが不要 4. feature importanceが確認できる 5. 精度が出やすく最終的なモデルとして残る可能性が高い 6. 比較的大きいデータも高速に扱える 7. 過去の経験からハイパーパラメータの勘所がある おわりに 初手としては、手の混んだ特徴量を作らずに、まずは何かしらの予測結果を生成したい場合も多いです。LightGBMは既存のデータセットを極力加工せずに利用するという観点で、特徴量

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 勾配ブーストを用いた決定木(GBDT)によるクラス分類や回帰はデータ分析コンペでも非常によく使われています。 その中でも2016年に出されたXGBoostはLightGBMと並びよく使われている手法です。 性能が良いことで有名なXGBoost,LightGBMですが、モデル内部でどのような処理が行われているかよくわかっていなかったので論文を読んでみました。 式変形の省略が多く、またイメージしづらい箇所もあり、読みづらかったのですが 一度イメージできれば割とあっさり理解できます。 その体験を踏まえて、イメージ図を多く取り入れな

最近xgboostがだいぶ流行っているわけですけど,これはGradient Boosting(勾配ブースティング)の高速なC++実装です.従来使われてたgbtより10倍高速らしいです.そんなxgboostを使うにあたって,はてどういう理屈で動いているものだろうと思っていろいろ文献を読んだのですが,日本語はおろか,英語文献でもそんなに資料がなかったので,ある程度概要を把握するのに結構時間を食いました. そんなわけで,今回は自分の理解の確認も兼ねて,勾配ブースティングについてざっくりと説明してみようかと思います.とはいえ生理解な部分も結構あるので,マサカリが飛んできそう感が大いにしています.腑に落ちる的な理解を優先しているため,数式は一切出てきません. 勾配ブースティングとは 複数の弱学習器を組み合わせるアンサンブル学習には,いくつかの手法がありますが,ブースティングは逐次的に弱学習器を構築し

Gradient Boosting Decision Tree(GBDT)を勉強したので、その概要とRでのパッケージの簡単な使い方を乗っけておきます。 1. そもそもGBDTってなんだよっていう話。 単純に言えば、複数の決定木を作成して、集団で学習させる方法の事です。 1本決定木を作り、上手くモデルで説明が出来なかったobservationに対して重みを付け、重みのついた状態で次の木を作り、また重みを付けて・・・ というステップを指定した本数分だけ繰り返します。 誤差に対して学習しなおしてくれるので、決定木よりもっと良いモデルが出来上がります。 理論の詳細はこちらの本を参考にしていただければと。英語版は著者サイトで無料公開されています。英語大丈夫な人はこちらを参照するとよいかと。 http://statweb.stanford.edu/~tibs/ElemStatLearn/ あとこのイ

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く