Alla ricerca di un gatto nero in una stanza buia a 2000 dimensioni
Ho eseguito uno stress test per algoritmi di machine learning.
La maggior parte dei benchmark è noiosa. Utilizzano dataset semplici come MNIST o Titanic. Volevo spingere i modelli al loro punto di rottura.
Ho messo alla prova 21 algoritmi l'uno contro l'altro. Questi includevano:
- Modelli tradizionali: Linear Regression, k-NN, SVR.
- Tree ensembles: Random Forest, ExtraTrees.
- I pesi massimi del boosting: XGBoost, LightGBM, CatBoost, HistGradientBoosting.
- Reti neurali: Multi-layer perceptrons e TabNet.
- L'outsider: Polyharmonic Cascade.
Il compito sembrava semplice. Ho chiesto ai modelli di apprendere una complessa superficie 3D. Ma poi ho aggiunto due ostacoli enormi:
Rumore dimensionale: Ho fornito 2.000 feature. Solo due erano reali. Le altre 1.998 erano puro rumore. Questo simula i dati del mondo reale come la genomica o le letture dei sensori.
Rotazione delle coordinate: Ho ruotato l'intero spazio delle feature. Ciò significa che il segnale utile non era più allineato con una singola colonna. Era distribuito su tutte le 2.000 dimensioni.
I risultati sono stati scioccanti.
I modelli basati su alberi come XGBoost e LightGBM sono i re dei dati tabulari. Vincono quando i dati sono allineati alle colonne. Ma quando ho ruotato lo spazio, sono crollati. Non riuscivano a trovare il segnale nel rumore.
Le reti neurali sono sopravvissute alla rotazione, ma hanno avuto difficoltà con l'elevata dimensionalità. Sono diventate lente e hanno perso accuratezza all'aumentare del rumore.
Poi c'era il Polyharmonic Cascade.
Questo modello non utilizza la classica discesa del gradiente. Utilizza la matematica pura basata sulla teoria delle funzioni casuali. Mentre i pesi massimi fallivano, il Cascade prosperava. Ha gestito la rotazione e le 2.000 feature con facilità. Ha superato quasi tutti gli altri partecipanti nei round più difficili.
La lezione è chiara: Il machine learning tabulare moderno è spesso dipendente dagli assi. Funziona benissimo finché la geometria dei tuoi dati non cambia. Se lavori con dati complessi, ruotati o molto rumorosi, i tuoi strumenti standard potrebbero tradirti.
Puoi trovare il codice completo e i risultati su GitHub. Ti invito a replicare questo esperimento.
Community di apprendimento opzionale: https://t.me/GyaanSetuAi
