機械学習で77の回帰モデルを83のデータセットに適用して性能を比較

「モデルの種類多すぎてなに使えばいいのかわからない」問題は機械学習応用であるあるの問題だと思います。
よくある方針は
・どんなデータセットにも万能なモデルは存在しない
・線形、非線形、スパース、ニューラル、アンサンブル、、、などの異なる特徴を持つアルゴリズムをいくつか用意して、全部試してみる
・日々新しいアルゴリズムが出ているとは言っても同じ特徴を持つアルゴリズム内ではそこまで劇的には性能が変わらないので、それぞれ基本的なものを試しておく
みたいな感じだと思いますが、そうはいっても目安が欲しい。以下の論文ではそのようなニーズに応えるため、77の回帰モデルを83のデータセットに適用して、それらの各モデル性能を比較してくれています。

www.sciencedirect.com


このグループは判別モデルに関しても似たような研究を2014年にしていて、179の判別モデルを121のデータセットに適用しています。そこでの結論はランダムフォレストとガウシアンカーネルSVMがわりと万能というもの。既に1000以上も引用されていてすごい。
http://jmlr.org/papers/volume15/delgado14a/delgado14a.pdfDo we Need Hundreds of Classifiers to Solve Real World Classification Problems?

前回の判別論文に比べると、今回の回帰論文ではデータセットをsmall-difficult, small-easy, large-difficult, large-easyと"データサイズ"と"難易度"の軸を用いて4分類し、それぞれで有効なアルゴリズムを書いてくれているのが良い点。各アルゴリズムでモデル推定に必要な時間も書いてくれているので、そこも実務上は助かります。

以下簡単に結果をまとめます。R-squaredとRMSE、MAEの3種類の評価尺度で評価していますが、基本的には異なる指標の結果は相関しているみたいです。

全体を通じて強かったモデル

「論文の中で使われてる略称(論文内での説明)」という記載形式でトップから並べました。

  • cubist(M5 rule-based model with corrections based on nearest neighbors)
  • gbm(the gradient boosted machine)
  • bstTree (the boosting ensemble of regression trees)
  • m5(M5 regression tree)

ブースティング、決定木系が強いのがうかがえます。以下のモデルも健闘したみたいですが、速度が遅く、またデータセットによってはミスが大きい。

  • avNNet(committee of neural networks)
  • extraTrees(extremely randomized regression trees)
  • rf(random forest)
  • svr(support vector regression)

データセットの種類で分けた時は異なる傾向

penalized(L1&L2正則化付き線形回帰。L1とL2のトレードオフはない。)が平均的に強く、ExtraTreeが多くのデータセットで一番。LassoやRidgeといった他のシンプルなモデルがもう少し健闘してもいいかと思いましたが、全然ダメみたいです。

  • small-easy

cubistがどんな指標でみても一番で、次点にavNNnet。

  • large-difficult

M5とExtraTree、GBM、bstTreeといった決定木・ブースティング系が強い。

  • large-easy

M5、cibost、ExtraTree、RandomForest、GBM、あたりが強く、large-difficultと似た傾向。

全体的な印象

全体的にみると決定木・ブースティング系のモデルが強いなという印象で、上にあげた判別器の比較論文と同じ傾向ですね。

自分が普段対象とするデータセットは明らかにsmall-difficultなので、その他の種類のデータセットと少し傾向が異なるのは興味深かったです。小サンプル&高難易度のデータセットシンプルなモデルが強い傾向が出るのは納得感がありますが、LassoやRidgeがあまり健闘せずExtraTreeがかなり強いという結果なのは、へーといった感じ。

一点だけ、各アルゴリズムのハイパーパラメータ探索はグリッドサーチで、ベイズ最適化等を使った場合にどうなるかは気になりました。