2000次元の暗い部屋で黒猫を探す
機械学習アルゴリズムのストレス・テストを実施しました。
ほとんどのベンチマークは退屈です。MNISTやTitanicのような単純なデータセットを使用しているからです。私はモデルを限界まで追い込みたいと考えました。
21種類のアルゴリズムを競わせました。これには以下が含まれます:
- 伝統的なモデル:Linear Regression, k-NN, SVR.
- ツリーアンサンブル:Random Forest, ExtraTrees.
- ブースティングの重量級:XGBoost, LightGBM, CatBoost, HistGradientBoosting.
- ニューラルネットワーク:Multi-layer perceptrons および TabNet.
- 伏兵:Polyharmonic Cascade.
タスク自体は単純に見えました。モデルに複雑な3D曲面を学習させるというものです。しかし、そこに2つの巨大な障害を追加しました。
次元のノイズ:2,000個の特徴量を与えました。そのうち本物はわずか2つだけで、残りの1,998個は純粋なノイズです。これはゲノミクスやセンサーの読み取り値といった、現実世界のデータを模しています。
座標の回転:特徴量空間全体を回転させました。つまり、有用な信号が特定の列に沿っていないことを意味します。信号は2,000次元全体に分散してしまいました。
結果は衝撃的なものでした。
XGBoostやLightGBMのようなツリーベースのモデルは、テーブルデータの王者です。データが列に沿っている場合には勝利します。しかし、空間を回転させると、それらは崩壊しました。ノイズの中から信号を見つけ出すことができなかったのです。
ニューラルネットワークは回転には耐えましたが、高次元化には苦戦しました。ノイズが増えるにつれて、処理速度が低下し、精度も失われていきました。
そして、Polyharmonic Cascadeがありました。
このモデルは標準的な勾配降下法を使用しません。ランダム関数理論に基づいた純粋な数学を使用します。重量級のモデルが失敗する一方で、Cascadeは躍進しました。回転と2,000個の特徴量を容易に処理し、最も困難なラウンドでは、他のほぼすべての参加者に打ち勝ちました。
教訓は明白です。 現代のテーブルデータ向けMLは、多くの場合、軸に依存しています。データの幾何学的構造が変わるまでは非常にうまく機能しますが、複雑、回転、あるいはノイズの多いデータを扱う場合、標準的なツールでは通用しない可能性があります。
完全なコードと結果はGitHubで確認できます。ぜひこの実験を再現してみてください。
Optional learning community: https://t.me/GyaanSetuAi
