Warum werden abgeleitete Features in neuronalen Netzen verwendet?

13

Zum Beispiel möchte man die Hauspreise vorhersagen und über zwei Eingabemerkmale die Länge und Breite des Hauses verfügen. Manchmal schließt man auch 'abgeleitete' Polynomeingabemerkmale ein, wie zum Beispiel Fläche, die Länge * Breite ist.

1) Worum geht es beim Einbeziehen abgeleiteter Features? Sollte ein neuronales Netz während des Trainings nicht den Zusammenhang zwischen Länge, Breite und Preis lernen? Warum ist das dritte Merkmal, Bereich, nicht redundant?

Außerdem sehe ich manchmal auch, dass Leute genetische Selektionsalgorithmen für die Eingabe-Features ausführen, um ihre Anzahl zu reduzieren.

2) Was bringt es, die Eingabefunktionen zu reduzieren, wenn sie alle nützliche Informationen enthalten? Sollte das neuronale Netz nicht jedem Eingabemerkmal entsprechend seiner Wichtigkeit eine geeignete Gewichtung zuweisen? Was bringt es, genetische Selektionsalgorithmen auszuführen?

siamii
quelle

Antworten:

8

1): Das Einbeziehen abgeleiteter Funktionen ist eine Möglichkeit, Expertenwissen in den Schulungsprozess einzubringen und ihn so zu beschleunigen. Zum Beispiel arbeite ich viel mit Physikern in meiner Forschung. Wenn ich ein Optimierungsmodell erstelle, geben sie mir 3 oder 4 Parameter, aber sie kennen normalerweise auch bestimmte Formen, die in der Gleichung erscheinen sollen. Zum Beispiel könnte ich die Variablen und , aber der Experte weiß, dass wichtig ist. Indem ich es als Feature einbinde, erspare ich dem Modell den zusätzlichen Aufwand, herauszufinden, dass wichtig ist. Zugegeben, manchmal sind Domain-Experten falsch, aber meiner Erfahrung nach wissen sie normalerweise, wovon sie sprechen.nlnlnl

2): Ich kenne zwei Gründe dafür. Erstens können Sie, wenn Sie Tausende von Funktionen bereitstellen (wie dies häufig bei Daten aus der realen Welt der Fall ist) und die CPU-Zeit für das Training knapp ist (auch ein häufiges Vorkommen), eine Reihe verschiedener Algorithmen zur Funktionsauswahl verwenden, um den Funktionsbereich zu verkleinern im Voraus. Die prinzipiellen Ansätze hierfür verwenden häufig informationstheoretische Maßnahmen, um die Merkmale mit der höchsten Vorhersagekraft auszuwählen. Zweitens, selbst wenn Sie es sich leisten können, alle Daten und Funktionen zu trainieren, werden neuronale Netze häufig als Black-Box-Modelle kritisiert. Das Reduzieren des Funktionsbereichs im Voraus kann dazu beitragen, dieses Problem zu beheben. Zum Beispiel kann ein Benutzer, der sich die NN ansieht, nicht leicht erkennen, ob eine Gewichtung von 0,01 "0" bedeutet, aber der Optimierungsprozess hat es nicht ganz geschafft "oder"

John Doucette
quelle
0

1) Die meisten neuronalen Netze können keine Multiplikationen durchführen. Sie können nur Summen berechnen (die dann einzeln über eine Aktivierungsfunktion durchgereicht werden ). Sie müssen diese Multiplikationen stattdessen schätzen, wenn sie wichtig sind, was viele Neuronen erfordert, insbesondere wenn die Faktoren große Bereiche umfassen können.

Wenn sich herausstellen würde, dass das Hausgebiet tatsächlich ein wichtiges Merkmal ist, helfen Sie dem Netzwerk, wenn Sie es mit dem Gebiet versorgen, da es dann die Neuronen verwenden kann, die es benötigt hätte, um die Multiplikation der Breite und der Länge abzuschätzen andere Dinge zu tun.

Daher kann das Einbeziehen von Polynommerkmalen in einigen Fällen für das Netzwerk von Vorteil sein, hat in anderen Fällen jedoch keine signifikante Auswirkung. Darüber hinaus sind Polynommerkmale nur eine Art von abgeleiteten Merkmalen, die für das Netzwerk hilfreich sein können. Eine andere Art von abgeleitetem Merkmal, das sich als hilfreich herausstellen kann, sind beispielsweise die Logarithmen der Eingangsvariablen (die als positiv angesehen werden), die das Netzwerk ebenfalls schätzen muss, um sie zu erhalten.

Eine Idee wäre, dem Netzwerk zu erlauben, mehr Operationen zwischen Zahlen als nur Additionen durchzuführen, um es zu ermöglichen, effizient Dinge wie Polynommerkmale selbst zu berechnen, aber es ist nicht klar, wie das funktionieren würde. Eine Architektur, die ähnlich aussieht, ist das Summenproduktnetzwerk .

2) Abgesehen von den von John erwähnten Berechnungskosten erhöht die Erhöhung der Anzahl der Parameter im Modell, die unvermeidlich ist, wenn Sie mehr Eingaben vornehmen , auch das Risiko einer Überanpassung des Netzwerks , insbesondere wenn Sie nur wenige Trainingsdaten haben.

Dies kann jedoch zu einem viel geringeren Problem gemacht werden, wenn eine gute Regularisierungsmethode verwendet wird. (Dropout scheint dafür sehr gut zu funktionieren) Theoretisch sollte eine Überanpassung mit einer ausreichend guten Regularisierungsmethode überhaupt kein Problem sein. Wie Hinton hervorhebt, hat ein Mensch in der Größenordnung von 10 ^ 14 Synapsen im Gehirn (entsprechend den Verbindungen im neuronalen Netz), lebt aber nur in der Größenordnung von 10 ^ 9 Sekunden, aber wir scheinen immer noch dazu in der Lage zu sein verallgemeinern ganz gut. Es ist also klar, dass es nur von Vorteil ist, wenn mit dem richtigen Algorithmus viele Parameter eingestellt werden können.

Hallo Auf Wiedersehen
quelle