71
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜ深層学習は表形式データでツリーモデルに勝てないのか

71
Posted at

image.png

深層学習がすべてを置き換えると思っていませんか?

画像も、自然言語も、音声も。

あらゆる分野で圧倒的な成果を出してきた深層学習。

だからこそ、ビジネスの予測モデルにおいても、いずれは深層学習が主役になる。

そう考えるのは自然なことです。

しかし現実は、少し違います。

顧客データや売上データといった「表形式データ」では、いまだにXGBoostやLightGBMといったツリーモデルの方が、高い精度を出すケースが多いのです。

なぜこの逆転現象が起きているのでしょうか。

過去10年、AIの進化を牽引してきたのは「深層学習(ディープラーニング)」でした。

ニューラルネットワークは、画像認識、自然言語処理、音声認識といった分野に革命をもたらし、トランスフォーマーやCNNは、ChatGPTから自動運転に至るまで、あらゆる技術の中核となっています。

こうした成功を見ると、あらゆるデータに対して深層学習が最適な手法であるように感じられます。

しかし、表形式データの世界では、その前提は成り立ちません。

この理由は、深層学習が「得意なこと」と「不得意なこと」、そしてデータの「構造」にあります。

これは単なるアルゴリズムの優劣の話ではなく、「データをどう捉えるか」という本質的な問題です。

ほとんどのビジネスデータは表形式データ

ほとんどのビジネスでは、数十億の画像やインターネット規模のテキストデータでAIモデルを自分たちでトレーニングする必要は一般的にありません。

代わりに、ビジネスでは次のような比較的単純なデータを使います。

image.png

各列はそれぞれ異なる概念を表しています。

  • 属性情報(年齢、収入)
  • 行動情報(訪問回数、購入)
  • 地理的情報(国)

そして、画像や言語とは異なり、これらの変数(列)をつなぐ固有の構造は存在しません。

例えば、画像であれば以下のような空間的な構造があります。

image.png

もう少し具体的に言うと、こんなかんじです。

image.png

そして、言語であれば以下のような連続的な構造があります。

image.png

こちらも、もう少し具体的に言うと、こんなかんじです。

image.png

深層学習は、このようなデータに階層的な構造(画像、言語)がある場合に真価を発揮します。

例えば、今日の深層学習とAIにおいて最も重要なアルゴリズムの一つである、「トランスフォーマー」の場合、テキストデータに基づいてモデルを構築する際、テキストの順序や単語、文章間の関係などを考慮に入れ、次の単語を予測します。

しかし、表形式データは異なります。それは単にある現象を説明する変数の集まりに過ぎず、画像やテキストが持つような構造や順序といったものはありません。

表形式データ

image.png

特定の変数における各値は、通常、他の値から独立しています。

そして、この違いこそが、なぜこれまでの機械学習系モデルのほうが深層学習系モデルに比べて優れた結果を出すかの答えを探す際に重要となります。

なぜツリーベースの機械学習モデルはうまく機能するのか

XGBoostLightGBMランダムフォレストなどの機械学習モデルは、ビジネスデータを使って予測モデルを構築するデータサイエンティストやアナリストの間で依然として最もよく使われるアルゴリズムであり、それらは共通のアーキテクチャを共有しています。

それが一般的にはツリー(木)と言われますが、正式には日本語で「決定木(Decision Trees)」と呼ばれるものです。

決定木は、このタイプのデータにとって非常に自然に感じられる方法で問題にアプローチします。

抽象的な表現を学習する代わりに、決定木は「ルール」を学習します。

例えば:

image.png

あるいは:

image.png

このような条件付きルールは、現実世界のデータセットによく現れるものであり、決定木はそれらを発見するのが得意です。

image.png

XGBoostの台頭

2010年代半ば頃に、XGBoostというツリー(決定木)系ファミリーの1つのアルゴリズム登場すると、一気に人気を博しました。

XGBoost は勾配ブースティングを高度に最適化した方法で実装し、表形式データを扱う多くの機械学習を使うデータサイエンティストにとって瞬く間にデフォルトの選択肢となりました。

これはツリーを逐次的に構築し、それぞれのツリーが前のモデルのミスを修正していくというものです。

image.png

しかし、データが大きくなるにつれ、モデルのトレーニングに長い時間がかかるという問題がありました。

そこに出てきたのがLightGBMです。

LightGBM の登場

2017年、マイクロソフトの研究者たちが LightGBM と呼ばれる新しいブースティングフレームワークを発表しました。

その目的は、ブースティングを「軽く(Light)」することでした。

LightGBM の「Light」という言葉は、計算量とメモリ使用量が軽量であることを指しています。

これを実現するために、いくつかのスマートな実装が行われました。例えば、「リーフ単位(leaf-wise)」でツリーを成長させる手法です。これは損失が最も減少する場所でツリーを成長させ、モデルの最も情報量の多い部分に計算を集中させることができます。

レベル単位 (XGBoost)

image.png

リーフ単位 (LightGBM)

image.png

他にも以下のような手法を追加することで、予測精度の品質を落とすことなくモデル構築にかかる時間を劇的に削減することに成功しました。

  • 数値をヒストグラムに変換し、分割の評価回数を減らす
  • 勾配の大きい行を優先する「GOSS」を採用
  • スパース(空きが多い)変数の値を圧縮する EFB(Exclusive Feature Bundling) を採用

多くの変数(特徴量)やハイパーパラメータをチューニングして機械学習モデルの実験を行う人々にとって、このスピードの向上は大きなインパクトを与えるものでした。

LightGBMについては、別の紹介記事で詳しく書いているので、興味のある方はぜひご参照ください。

なぜ深層学習は苦戦することが多いのか?

ところで、ビジネスでよく使われる表形式のデータに対して、深層学習のアルゴリズムを使って予測モデルの精度を上げようとする試みは終わったわけではありません。実際、これまでも多くの研究者がニューラルネットワークを表形式データセットに適用しようと試みてきました。

しかし、非常に多くの場合、XGBoost や LightGBM といったツリー(決定木)ベースのモデルの方が依然として優れたパフォーマンスを示しました。

その理由は驚くほど単純です。

深層学習は、データに豊かな内部構造が含まれている場合に優れています。例えば、画像であれば空間的なパターン、言語であれば文法的なパターンといった具合です

しかし、表形式データには通常、そういったパターンは存在しません。

代わりに、表形式データには以下のようなものが含まれることが多いです。

  • 多様な変数の混在
  • エンジニアリングされた特徴量(元の変数に基づいて人工的に作成された追加変数)
  • 疎なカテゴリ・エンコーディング(ワンホットエンコーディング)
  • 非線形な特徴量間の相互作用

ツリー(決定木)ベースのモデルは、このような種類のパターンを発見するのに、より適しているのです。

ビジネスの現場では

多くの現実世界の機械学習プロジェクトにおいて、ワークフローはしばしば次のようになります。

  1. ベースラインモデルを構築する。
  2. ツリー(決定木)ベースのモデルを試す。
  3. 特徴量エンジニアリングとパラメータチューニングを通じてモデルを改善する。

そして、最終的に最も優れたパフォーマンスを発揮するモデルは、XGBoost や LightGBM などのブースティングアルゴリズムに基づいていることが非常に多いのです。

これらのアルゴリズムは、表形式データに対して予測モデルを作り、実際に予測する際には信頼できるツールとなったのでした。

これらのモデルを自分で試す

Exploratoryを作った理由の一つは、データサイエンスにおけるさまざまなツールを使いやすくすることであり、機械学習モデルによる予測モデルの構築もその一つです。

Exploratory では、以下のようなツリー(決定木)ベースのモデルをトレーニングできます。

  • 決定木
  • ランダムフォレスト
  • XGBoost
  • LightGBM

これらをインタラクティブなインターフェースから直接実行できます。

image.png

LightGBM の使用方法の詳細については、こちらのハウツーノートをご覧ください。

顧客行動、購買履歴、アクセスログ、人事、財務、などといった表形式データに対して精度の良い予測モデルを作たいという場合には、こうしたモデルを試してみることをおすすめします!

👉 Exploratory をダウンロード

https://exploratory.io/download

まだアカウントをお持ちでない場合は、こちらからサインアップして 30日間の無料トライアル を開始してください。

https://exploratory.io/

トライアル期間が終了していても、新機能を試してみたい場合は、最新バージョンを起動して「トライアルを延長(Extend Trial)」オプションを使用してください。

最後に

結局のところ、重要なのは「どのアルゴリズムが最強か」ではありません。

データの種類に応じて、適切なツールを選ぶことです。

深層学習は、画像や自然言語のように構造を持つデータにおいて圧倒的な力を発揮します。

一方で、ビジネスで扱うことの多い表形式データでは、XGBoostやLightGBMのようなツリーモデルが、依然として非常に強力な選択肢であり続けています。

これは単なるアルゴリズムの優劣の話ではなく、「データをどう捉えるか」という視点の違いです。

AIがどれだけ進化しても、データの性質を理解し、それに合った手法を選ぶという本質は変わりません。

むしろ、AIが強力になった今だからこそ、この判断ができるかどうかが、結果を大きく左右します。

もしこれまで「とりあえず深層学習」と考えていたとしたら、一度立ち止まって、自分が扱っているデータの性質を見直してみてください。

その一歩が、モデルの精度だけでなく、分析そのものの質を引き上げるきっかけになるはずです。

最後まで読んでいただき、どうもありがとうございました。

もし、質問やフィードバックがございましたら、お気軽に kan@exploratory.io までご連絡ください。

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

この6月にデータサイエンス・ブートキャンプを東京で開催します!

AI時代に求められるデータサイエンスの4つの力である、

  • 統計学リテラシー(問いを立てる力)
  • 科学的思考(検証する力)
  • 分析手法の理解と結果の解釈(意思決定につなげる力)
  • データ加工のスキル(分析の土台を作る力)

を、1から体系的に学び、ビジネスの現場で使える実践的なスキルとして身につけていただくためのトレーニングです。

ご興味のある方は、ぜひこちらのページより詳細をご確認下さい!

71
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
71
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?