Wie wählt man die Funktionen für ein neuronales Netzwerk?


16

Ich weiß, dass es keine eindeutige Antwort auf diese Frage gibt, aber nehmen wir an, dass ich ein riesiges neuronales Netzwerk mit vielen Daten habe und eine neue Funktion für die Eingabe hinzufügen möchte. Der "beste" Weg wäre, das Netzwerk mit der neuen Funktion zu testen und die Ergebnisse zu sehen. Gibt es jedoch eine Methode, um zu testen, ob die Funktion UNMÖGLICH hilfreich ist? Wie Korrelationsmaße ( http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf ) usw.?


1
Eine nicht zufällige Korrelation könnte ein Indikator dafür sein , dass das Merkmal ist nützlich. Aber ich bin mir nicht so sicher, welche Tests vor dem Training Ideen ausschließen könnten. Der Artikel, den Sie verlinken, macht deutlich, dass nichtlineare Korrelationen von den verfügbaren Tests nicht gut erkannt werden, aber ein neuronales Netz die Möglichkeit hat, sie zu finden und zu verwenden.
Neil Slater

Antworten:


16

Eine sehr starke Korrelation zwischen dem neuen Feature und einem vorhandenen Feature ist ein ziemlich gutes Zeichen dafür, dass das neue Feature wenig neue Informationen liefert. Eine geringe Korrelation zwischen dem neuen Merkmal und vorhandenen Merkmalen ist wahrscheinlich vorzuziehen.

Eine starke lineare Korrelation zwischen dem neuen Merkmal und der vorhergesagten Variablen ist ein gutes Zeichen dafür, dass ein neues Merkmal wertvoll ist. Das Fehlen einer hohen Korrelation ist jedoch kein Zeichen für ein schlechtes Merkmal, da neuronale Netze nicht auf lineare Kombinationen beschränkt sind von Variablen.

Wenn das neue Feature manuell aus einer Kombination vorhandener Features erstellt wurde, sollten Sie es weglassen. Das Schöne an neuronalen Netzen ist, dass nur wenig Feature-Engineering und Vorverarbeitung erforderlich sind - Features werden stattdessen von Zwischenschichten gelernt. Wenn immer möglich, ziehen Sie Lernfunktionen dem Engineering vor.


Ich habe immer darüber nachgedacht, den vorherzusagenden Wert mit den Merkmalen zu vergleichen. Sie sprechen von der Korrelation zwischen Merkmalen. Gilt Ihre Antwort auch für meinen Fall? theoretisch sollte ich nur neue funktionen hinzufügen, die mit dem vorhersagewert korrelieren, oder?
Marcodena

Das ist auch eine wertvolle Messgröße - ich habe gerade meine Antwort aktualisiert, um auch darauf einzugehen.
Madison

Kurz gesagt, starke Korrelationen mit dem vorherzusagenden Wert sind ein gutes Zeichen, schwache Korrelationen mit dem vorherzusagenden Wert sind jedoch nicht unbedingt ein schlechtes Zeichen.
Madison

Vielen Dank. Ich schreibe einen Bericht und wollte die linearen / nichtlinearen Korrelationen anzeigen, um die Merkmale zu rechtfertigen (noch vor den Ergebnissen). Macht es irgendeinen Sinn? Aus Ihrer Antwort könnte ich eine Matrix von Korrelationen erstellen, aber vielleicht ist es Nosense
Marcodena

1
Ich würde nicht-lineare Korrelationen verwenden, aber ok danke
Marcodena

0

Wenn Sie sklearn verwenden, steht eine gute Funktion namens model.feature_importances_ zur Verfügung. Probieren Sie es mit Ihrem Modell / neuen Feature aus und sehen Sie, ob es hilft. Schauen Sie auch hier und hier nach Beispielen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.