なぜ表形式のデータの予測には、ツリー系モデル(ランダムフォレスト、XGBoostなど)の方が深層学習モデルより優れているのか

  • Why do tree-based models still outperform deep learning on tabular data? - リンク

この10年ほどの間で、深層学習(ディープ・ラーニング)はイメージ、音声、言語のようなデータに対して大きな進化を成し遂げ、今ではこうしたデータに対して予測モデルを作るときの標準となっています。

しかし、私たちが普段手にするビジネスデータは表形式(列と行からなるスプレッドシート、データベースの表など)のデータで、こうしたデータは前述のイメージや音声などのデータとは構造や性質が大きく変わるため、深層学習系のモデルはいい成果を出しにくいというのは前から言われていました。

Exploratoryでも結構前に深層学習系のモデルを試してみたのですが、機械学習または統計学習のアルゴリズムで作った予測モデルに比べると大したことのないモデルしかできず、さらにパフォーマンスがすごく遅いということで、結局製品の方に取り組むことにはならなかったという経験があります。

最近、フランスの研究者たちが深層学習系とツリー系からそれぞれいくつかのアルゴリズムを選び、それらを使って45ほどのデータセットに対して予測モデルを作り、予測精度を比べた結果とそのテスト方法などを論文として公開していました。

まずは結果からですが、全ての予測変数(説明変数)が数値型であるときの、それぞれ分類(カテゴリーを予測、左のチャート)と回帰(数値を予測、右のチャート)の予測精度の比較が以下となっています。

X軸は予測モデルのパラメータ調整の回数で、機械学習のモデル(深層学習とツリー系を含む)は一般的にパラメーターを自動調整していく回数を上げれば上げるほど予測精度は上がっていく傾向があるとされています。

上のチャートを見るとどちらも上位3位を占めるのはツリー系のXGBoost、ランダムフォレスト、Gradient Boosting Treeとなっていて、深層学習系のResnet、FT Transfomerなどはツリー系のモデルと比べ、精度がかなり低いのがわかります。

この傾向は、予測変数(説明変数)が数値型とカテゴリー型の両方を含む場合により顕著になっています。

なぜこうした深層学習系のモデルはツリー系のモデルに比べて予測精度が劣るのかという点について、この論文の著者は以下の点を挙げています。

まず最初に目的変数の値が「スムース」でないと深層学習系のモデルは苦しむ。これは予測の対象となる値に外れ値が含まれていたり、その分布が正規分布など予測しやすいものになっていない、または偏っているといったことですが、こうした場合深層学習系のモデルはトレーニングデータにあるそうした不正規な部分を「過学習」してしまうため、テストデータで予測精度を検証すると成果が出なくなります。

また、表形式のデータの場合、予測に役立たない予測変数(説明変数)が含まれていた場合、深層学習系のモデルはそうした変数を無視するのではなく、逆にしっかりと使ってしまい、これもまた「過学習」してしまうため、テストデータで予測精度を検証すると成果が出なくなります。

この2つの理由は、ビジネスデータにとっては致命的です。というのもビジネスで手にするようなデータは普通、目的変数が「スムース」でなく、さらに予測に役立たない列も当たり前のように入っているからです。

逆に、こうした「スムース」でもなく、「役に立たない変数」が入っているデータでも、それなりの予測精度を出すことができるのが、ツリー系の機械学習モデル(XGBoost、ランダムフォレストなど)だと解説されていました。

深層学習系のモデルは、予測モデルを作るのにより多くの時間を要し、ツリー系や統計系のモデルに比べて、モデルの中がどうなっているのかさっぱりわからないというデメリットがあるため、肝心の予測精度が良くないのであれば、使う理由は今のところまったくないということですね。

もちろん、データサイエンスの世界は進化が速いので、この先いつか表形式のデータでも優れた予測精度を出すことができる深層学習系のモデルが出てくるのかもしれません。(こう言われてすでに何年も経っていますが。。。)


データサイエンス・ブートキャンプ・トレーニング

データサイエンス、統計の手法、データ分析を1から体系的に学ぶことで、ビジネスの現場で使える実践的なスキルを身につけたいという方は、ぜひこの機会に参加をご検討ください!

ビジネスのデータ分析だけでなく、日常生活やキャリア構築にも役立つデータリテラシー、そして「よりよい意思決定」をしていくために必要になるデータをもとにした科学的思考もいっしょに身につけていただけるトレーニングとなっています。

詳細を見る

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio