Feature Engineering ist oft ein wichtiger Bestandteil des maschinellen Lernens (es wurde stark genutzt, um den KDD Cup 2010 zu gewinnen ). Ich finde jedoch, dass die meisten Feature-Engineering-Techniken entweder
- Zerstören Sie jede intuitive Bedeutung der zugrunde liegenden Funktionen oder
- sind sehr spezifisch für eine bestimmte Domäne oder sogar bestimmte Arten von Funktionen.
Ein klassisches Beispiel für erstere wäre die Hauptkomponentenanalyse. Mir scheint, dass jegliches Wissen, das ein Fachexperte über die Merkmale haben würde, zerstört würde, wenn diese Merkmale in Hauptkomponenten umgewandelt würden.
Vergleichen Sie dies mit einer einfachen Technik zum Umwandeln eines Datums in Features für "Tag des Monats" und "Tag der Woche". Die zugrunde liegende Bedeutung bleibt in den neuen Features erhalten, aber diese spezielle Technik gilt natürlich nur für Datumsangaben und nicht für beliebige Features.
Gibt es ein Standardwerk an Feature-Engineering-Techniken, die die Bedeutung der zugrunde liegenden Features nicht zerstören und gleichzeitig auf beliebige Domänen (oder zumindest eine Vielzahl von Domänen) anwendbar sind?
quelle
Antworten:
Mir ist eine Zerlegungsmethode bekannt (aber vielleicht gibt es noch mehr ...), die in Szenarien wie denen, die Sie beschreiben, nützlich sein kann. Es ist wie 2D-PCA - eine Zerlegungsmethode höherer Ordnung, bei der die Zerlegung (dh die Faktoren) eine Bedeutung haben. Sie können Beispiele sehen und darüber lesen hier und hier und versuchen , hier
quelle
Jüngste Deep-Learning-Methoden mit Restricted Boltzmann Machine haben bei verschiedenen Datentypen (Audio, Bilder, Text) nette Funktionen gezeigt.
Da diese Methoden ein generatives Modell erstellen, können Sie aus dem Modell häufig sehr schöne Beispiele generieren.
Lesen Sie die Veröffentlichungen von Hinton. http://www.cs.toronto.edu/~hinton/
Diese Methoden sind nicht ganz allgemein (führen Sie für alle Daten denselben Code aus), aber das zugrunde liegende Modell ist in der Regel ähnlich.
quelle