TabPFN das neue XGBoost, einfache Modelle für effizientes, leistungsstarkes maschinelles Lernen | von Abisch Pius | Schreiben in der Welt der künstlichen Intelligenz | Juni 2023

0
28


TabPFN, der neue König des tabellarischen maschinellen Lernens

Vollständiger Hyperlink zur Veröffentlichung: 2207.01848.pdf (arxiv.org)

TDie abulare Datenanalyse ist eine grundlegende Aufgabe im maschinellen Lernen und in der Datenwissenschaft mit zahlreichen Anwendungen in verschiedenen Bereichen. In den letzten Jahren haben Forscher erhebliche Fortschritte bei der Entwicklung von Modellen gemacht, die speziell für Tabellendaten entwickelt wurden. Ein solches Modell ist das TabPFN (Tabular Prior-Information Fitted Community), das neuartige Architekturverbesserungen und einen einzigartigen Prior für tabellarische Daten einführt. In diesem Artikel werden wir uns mit den Particulars des TabPFN und seinen Beiträgen im Vergleich zu bestehenden Methoden befassen.

Die TabPFN-Architektur:

Das TabPFN ist eine modifizierte Model der ursprünglichen PFN-Architektur, die für die effiziente Verarbeitung tabellarischer Daten entwickelt wurde. An der Architektur wurden zwei wesentliche Änderungen vorgenommen. Erstens wurden leichte Anpassungen an den Aufmerksamkeitsmasken vorgenommen, was zu kürzeren Inferenzzeiten führte. Zweitens wurde das TabPFN so ausgestattet, dass es Datensätze mit unterschiedlicher Anzahl von Options durch Zero-Padding verarbeiten kann. Diese architektonischen Verbesserungen, kombiniert mit den Hauptbeiträgen des TabPFN, werden im Anhang ausführlich besprochen.

Coaching des TabPFN

In der Prior-Becoming-Part wird das TabPFN anhand von Stichproben trainiert, die aus einem neuartigen, speziell für Tabellendaten entwickelten Prior generiert wurden. Der Trainingsprozess umfasst die Verwendung eines 12-Schicht-Transformers und synthetischer Datensätze. Das Coaching ist rechenintensiv und erfordert viel Zeit und Rechenressourcen. Es handelt sich jedoch um einen einmaligen Offline-Schritt, der während der Algorithmusentwicklung durchgeführt wird. Das trainierte TabPFN-Modell wird dann für alle nachfolgenden Experimente und Auswertungen verwendet.

Inferenz mit dem TabPFN

Während der Inferenzphase nähert sich die TabPFN der Posterior Predictive Distribution (PPD) für den vorherigen Datensatz an. Es erfasst die marginalen Vorhersagen über verschiedene Räume von strukturellen Kausalmodellen (SCMs) und Bayesian Neural Networks (BNNs) hinweg, wobei der Schwerpunkt auf Einfachheit und kausalen Erklärungen für die Daten liegt. Die Vorhersagen werden durch einen einzelnen Vorwärtsdurchlauf des TabPFN sowie durch ein Ensemble von 32 Vorwärtsdurchgängen für modifizierte Datensätze erhalten. Diese Änderungen umfassen Potenztransformationen und Indexrotationen von Function-Spalten und Klassenbezeichnungen.

Ein Prior für tabellarische Daten

Die Leistung des TabPFN hängt von einem geeigneten Prior ab, der für tabellarische Daten entwickelt wurde. Der Prior berücksichtigt für die meisten Hyperparameter Verteilungen anstelle von Punktschätzungen. Der Gedanke der Einfachheit steht im Mittelpunkt des Priors und steht im Einklang mit Occams Razor und dem Velocity ​​Prior. Der Prior nutzt SCMs und BNNs als grundlegende Mechanismen zur Generierung vielfältiger Daten. SCMs erfassen kausale Beziehungen zwischen Spalten in Tabellendaten, während BNNs Flexibilität bei der Modellierung komplexer Muster bieten. Der Prior berücksichtigt auch Besonderheiten tabellarischer Daten, wie korrelierte und kategoriale Merkmale, exponentiell skalierte Daten und fehlende Werte.

Grundsätzlich probabilistische Modelle

Im Gegensatz zu herkömmlichen Modellen, die auf Punktschätzungen für Hyperparameter basieren, ermöglicht das TabPFN eine vollständige Bayes’sche Behandlung von Hyperparametern. Durch die Definition einer Wahrscheinlichkeitsverteilung über den Hyperparameterraum, einschließlich BNN-Architekturen, integriert der TabPFN über den Raum und die Modellgewichte. Dieser probabilistische Modellierungsansatz erstreckt sich auf eine Mischung aus Hyperparametern und unterschiedlichen Prioritäten und kombiniert sowohl SCMs als auch BNNs.

Mehrklassenvorhersage

Um eine Mehrklassenvorhersage zu generieren, werden die aus den beschriebenen Priors erhaltenen Skalarbezeichnungen in diskrete Klassenbezeichnungen umgewandelt. Diese Transformation erfolgt durch Aufteilen der Werte der Skalarbezeichnungen in Intervalle, die verschiedenen Klassenbezeichnungen entsprechen. Es berücksichtigt automatisch auch mögliche Klassenungleichgewichte.

TabPFN vs. XGBoost Head-to-Head

Tabelle 1: Ergebnisse der 18 numerischen Datensätze in OpenML-CC18 für 60 Minuten angeforderte Zeit professional Datenaufteilung. ±-Werte geben die Standardabweichung einer Metrik an. Sofern verfügbar, optimieren alle Baselines die ROC-AUC. TabPFN ne ist eine schnellere Model unserer Methode ohne Ensemble, während TabPFN + AutoGluon ein Ensemble aus TabPFN und AutoGluon ist.
  • TabPFN erzielt einen besseren Kompromiss zwischen Genauigkeit und Trainingsgeschwindigkeit im Vergleich zu allen anderen Methoden, einschließlich XGBoost und anderen Entscheidungsbaummethoden zur Gradientenverstärkung.
  • TabPFN erstellt Vorhersagen innerhalb von weniger als einer Sekunde auf einer GPU, was mit der Leistung der besten Konkurrenten (AutoML-Systeme) nach einer Stunde Coaching vergleichbar ist.
  • TabPFN übertrifft optimierte GBDT-Methoden und bietet eine bessere Leistung als XGBoost, CatBoost und LightGBM.
  • Die einfachen Baselines (LogReg, KNN) weisen insgesamt eine geringere Leistung auf.
  • TabPFN ist deutlich schneller als Methoden mit vergleichbarer Leistung. Für die Vorhersage sind durchschnittlich 1,30 Sekunden auf einer CPU und 0,05 Sekunden auf einer GPU erforderlich, was im Vergleich zu den Basiswerten zu einer erheblichen Beschleunigung führt.
  • TabPFN schneidet bei rein numerischen Datensätzen außergewöhnlich intestine ab, wie die Ergebnisse des OpenML-CC18-Benchmarks und zusätzlicher Validierungsdatensätze bestätigen.
  • Im OpenML-AutoML-Benchmark übertrifft TabPFN alle Baselines in Bezug auf mittlere Kreuzentropie, Genauigkeit und die OpenML-Metrik.

Es folgt weitgehend der grundlegenden Sklearn-Architektur.

from sklearn.metrics import accuracy_score
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

from tabpfn import TabPFNClassifier

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

# N_ensemble_configurations controls the variety of mannequin predictions which might be ensembled with characteristic and sophistication rotations (See our work for particulars).
# When N_ensemble_configurations > #options * #courses, no additional averaging is utilized.

classifier = TabPFNClassifier(machine='cpu', N_ensemble_configurations=32)

classifier.match(X_train, y_train)
y_eval, p_eval = classifier.predict(X_test, return_winning_probability=True)

print('Accuracy', accuracy_score(y_test, y_eval))



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here