Feature Engineering ist ein Vorverarbeitungsschritt im überwachten maschinellen Lernen und in der statistischen Modellierung, der Rohdaten in einen effektiveren Satz von Eingaben transformiert. Jede Eingabe umfasst mehrere Attribute, die als Features bezeichnet werden. Indem Modelle mit relevanten Informationen versorgt werden, verbessert Feature Engineering deren Vorhersagegenauigkeit und Entscheidungsfähigkeit erheblich. Die Prinzipien gehen über maschinelles Lernen hinaus und finden Anwendung in wissenschaftlichen Bereichen wie der Physik, wo dimensionslose Zahlen wie die Reynolds-Zahl in der Strömungsmechanik, die Nusselt-Zahl in der Wärmeübertragung und die Archimedes-Zahl in der Sedimentation konstruiert werden, und analytische Lösungen für die Festigkeitslehre als erste Näherungen entwickelt werden.
Cluster-Anwendungen
Feature Engineering wird häufig für das Clustering von Feature-Objekten oder Stichproben-Objekten in Datensätzen eingesetzt. Methoden, die auf Matrixzerlegung basieren, insbesondere solche mit Nichtnegativitätsbeschränkungen für Feature-Koeffizienten, werden umfassend angewendet. Dazu gehören die Nichtnegative Matrixfaktorisierung (NMF), die Nichtnegative Matrix-Tri-Faktorisierung (NMTF) und die Nichtnegative Tensorzerlegung/Faktorisierung (NTF/NTD). Die Nichtnegativitätsbeschränkungen ergeben teilbasierte Darstellungen, und verschiedene Faktormatrizen weisen natürliche Clustering-Eigenschaften auf. Erweiterungen umfassen orthonormalitätsbeschränkte Faktorisierung für hartes Clustering und Manifold Learning zur Bewältigung inhärenter Algorithmusprobleme.
Andere Ansätze nutzen gemeinsame verborgene Strukturen über mehrere zusammenhängende Datensätze hinweg, um ein konsensuelles Clustering zu erhalten. Multi-View-Klassifikation basierend auf Consensus-Matrix-Zerlegung (MCMD) extrahiert ein gemeinsames Clustering-Schema über Datensätze hinweg, gibt skalenvariante und skaleninvariante Klassenlabels aus, ist robust gegenüber fehlenden Informationen, kann form- und skalenbasierte Ausreißer erkennen und verarbeitet hochdimensionale Daten effektiv. Gekoppelte Matrix- und Tensorzerlegungen sind in der Multi-View-Feature-Engineering beliebt.
Prädiktive Modellierung
Im maschinellen Lernen und in der statistischen Modellierung umfasst Feature Engineering die Auswahl, Erstellung, Transformation und Extraktion von Features. Zu den Schlüsselkomponenten gehören die Feature-Erstellung aus vorhandenen Daten, die Transformation und Imputation fehlender oder ungültiger Features, die Dimensionsreduktion durch Methoden wie Hauptkomponentenanalyse (PCA), Unabhängigkeitskomponentenanalyse (ICA) und Lineare Diskriminanzanalyse (LDA) sowie die Auswahl relevanter Features basierend auf Wichtigkeitswerten und Korrelationsmatrizen.
Features variieren in ihrer Bedeutung; selbst relativ unbedeutende Features können zu einem Modell beitragen. Die Feature-Auswahl kann die Anzahl der Features reduzieren, um Überanpassung zu verhindern. Feature-Explosion tritt auf, wenn die Anzahl der identifizierten Features zu groß für eine effektive Modellschätzung ist, oft verursacht durch Feature-Vorlagen oder Feature-Kombinationen, die nicht durch ein lineares System dargestellt werden können. Sie kann durch Regularisierung, Kernel-Methoden und Feature-Auswahl begrenzt werden.
Feature-Vorlagen
Feature-Vorlagen sind abstrakte Spezifikationen von Features, die verwendet werden, um die Menge der Features automatisch aus jeder Instanz im Trainings- und Testsatz zu befüllen. Sie ermöglichen die automatische Generierung großer Zahlen spezifischer Features und reduzieren den manuellen Codierungsaufwand.
Automatisierung
Die Automatisierung des Feature Engineering ist seit den 1990er Jahren ein Forschungsthema, und kommerzielle Software für maschinelles Lernen, die es integriert, ist seit 2016 verfügbar. Die akademische Literatur unterteilt sich in zwei Haupttypen: Multi-relationales Entscheidungsbaum-Lernen (MRDTL) und Deep Feature Synthesis.
Multi-relationales Entscheidungsbaum-Lernen (MRDTL)
MRDTL erweitert traditionelle Entscheidungsbaummethoden auf relationale Datenbanken und behandelt komplexe Datenbeziehungen über Tabellen hinweg. Es verwendet Selektionsgraphen als Entscheidungsknoten, die systematisch verfeinert werden, bis ein Abbruchkriterium erreicht ist. Die meisten Implementierungen basieren auf relationalen Datenbanken, was zu redundanten Operationen führt, die durch Techniken wie Tuple-ID-Propagation reduziert werden können.
Open-Source-Implementierungen
Mehrere Open-Source-Bibliotheken automatisieren das Feature Engineering für relationale Daten und Zeitreihen:
- featuretools: Python-Bibliothek zur Transformation von Zeitreihen- und relationalen Daten in Feature-Matrizen.
- MCMD: Open-Source-Algorithmus für das gemeinsame Clustering mehrerer Datensätze.
- OneBM (One-Button Machine): Kombiniert Feature-Transformationen und -Auswahl auf relationalen Daten und reduziert die Datenexplorationszeit.
- getML community: C/C++-Werkzeug mit Python-Schnittstelle, mindestens 60-mal schneller als tsflex, tsfresh, tsfel, featuretools oder kats.
- tsfresh: Python-Bibliothek für die Extraktion von Zeitreihen-Features, die die Feature-Qualität durch Hypothesentests bewertet.
- tsflex: Python-Bibliothek für Zeitreihen-Features, schneller und speichereffizienter als tsfresh, seglearn oder tsfel.
- seglearn: Erweiterung für multivariate, sequenzielle Zeitreihendaten für scikit-learn.
- tsfel: Python-Paket für die Extraktion von Zeitreihen-Features.
- kats: Python-Toolkit für Zeitreihenanalyse.
Deep Feature Synthesis
Der Deep-Feature-Synthesis-Algorithmus (DFS) schlug 615 von 906 menschlichen Teams in einem Wettbewerb und demonstrierte damit seine Effektivität.
Feature-Stores
Ein Feature-Store ist ein zentrales Repository, in dem Features für den ausdrücklichen Zweck der Modelltrainierung oder Vorhersage gespeichert und organisiert werden. Er ermöglicht Datenwissenschaftlern, Gruppen von Features zu erstellen oder zu aktualisieren und gewährleistet Konsistenz und Wiederverwendbarkeit über verschiedene Modelle und Anwendungen hinweg.
Siehe auch
- maschinelles Lernen
- künstliche Intelligenz
- Deep Learning
- neuronales Netz
- großes Sprachmodell
- Transformer
- generative KI
- OpenAI
- Anthropic
- Google DeepMind
- Amazon Web Services
- Azure
- Google Cloud
- Oracle Cloud
- CoreWeave
- Cerebras
- Groq
- SambaNova
- Graphcore
- Xerox PARC
- MIT CSAIL
- Stanford AI Lab
- University of Toronto
- Carnegie Mellon University
- Berkeley AI Research
- University of Oxford
- Thomas Dietterich
- Michael Jordan
- Daphne Koller
- Anima Anandkumar
- Samy Bengio
- Joshua Tenenbaum
- Brendan Lake
- Melanie Mitchell
- Aaron Courville
- Aleksander Madry
- Alexei Efros
- Ali Rahimi
- Bernard Widrow
- Chris Bishop
- Christopher Bishop
- Craig Boutilier
- Elaine Rich
- Carlos Guestrin
- Daphne Leon
- David Ha
- David Winger
- Deepak Kumar
- Drew Puckett
- Eilon Reshef
- Freddie Sulit
- Jakob Uszkoreit
- Lukasz Kaiser
- Niki Parmar
- Barret Zoph
- Mark Chen
- Brad Lightcap
- Jacob Steinhardt
- David Kaplan
- Ryan Lowe
- Jack Clark
- Shan Carter
- David Luan
- Chen Wu
- Ashish Kumar
- Karen Simonyan
- Koray Kavukcuoglu
- Alan Perlis
- Andrew Lloyd Brown
- Ani Bhattacharya
- Anna Patterson
- Anna Ritter
- Anubhav Sinha
- Arakawa Ryota
- Arka Dutta
- Arthur Franz
- Ben Goertzel
- Brian Cheung
- Brian Christian
- Brian Lilly White
- Calvo Rafael
- Catherine Flick
- Chad Mirkin
- Chin-Yen Chiu
- Craig Ku
- Dafna Sharon
- David Froitzheim
- David Martin
- Deepak Kumar
- Drew Puckett
- Elaine Rich
- Eilon Reshef