Im Wesentlichen ist meine Frage, dass in mehrschichtigen Perzeptronen Perzeptrone mit einer Sigma-Aktivierungsfunktion verwendet werden. So dass in der Aktualisierungsregel y wird wie folgt berechnet
Inwiefern unterscheidet sich dieses "Sigma" -Perceptron von einer logistischen Regression?
Ich würde sagen , dass eine einlagige Perceptron sigmoid auf eine logistische Regression in dem Sinne äquivalent , daß sowohl die Verwendung y = 1 in der Aktualisierungsregel. Auch beiden in der Vorhersage. Bei mehrschichtigen Perzeptronen wird die Sigma-Aktivierungsfunktion jedoch verwendet, um im Gegensatz zur logistischen Regression und einem einschichtigen Perzeptron eine Wahrscheinlichkeit und kein Ein-Aus-Signal zurückzugeben.
Ich denke, die Verwendung des Begriffs "Perceptron" ist etwas mehrdeutig. Lassen Sie mich daher einige Hintergrundinformationen liefern, die auf meinem derzeitigen Verständnis von einschichtigen Perceptrons basieren:
Klassische Perzeptronregel
Erstens das klassische Perzeptron von F. Rosenblatt, bei dem wir eine Stufenfunktion haben:
um die Gewichte zu aktualisieren
So dass y wird wie folgt berechnet
Gradientenabstieg
Mit dem Gradientenabstieg optimieren (minimieren) wir die Kostenfunktion
wo wir "reelle" Zahlen haben, sehe ich dies im Grunde genommen analog zur linearen Regression mit dem Unterschied, dass unsere Klassifizierungsausgabe auf einen Schwellenwert begrenzt ist.
Hier machen wir einen Schritt in die negative Richtung des Verlaufs, wenn wir die Gewichte aktualisieren
Aber hier haben wir y anstelle von y = Vorzeichen ( w T x i )
Außerdem berechnen wir die Summe der quadratischen Fehler für einen vollständigen Durchlauf über den gesamten Trainingsdatensatz (im Batch-Lernmodus) im Gegensatz zur klassischen Perceptron-Regel, die die Gewichte aktualisiert, sobald neue Trainingsmuster eintreffen (analog zum stochastischen Gradientenabstieg - online) Lernen).
Sigmoid-Aktivierungsfunktion
Hier ist meine Frage:
In mehrschichtigen Perzeptronen werden Perzeptrone mit einer Sigma-Aktivierungsfunktion verwendet. So dass in der Aktualisierungsregel y wird wie folgt berechnet
Inwiefern unterscheidet sich dieses "Sigma" -Perceptron von einer logistischen Regression?
Antworten:
Wenn Sie den mittleren quadratischen Fehler minimieren, unterscheidet er sich von der logistischen Regression. Die logistische Regression ist normalerweise mit dem Verlust der Kreuzentropie verbunden. Hier ist eine Einführungsseite aus der scikit-learn-Bibliothek .
(Ich gehe davon aus, dass mehrschichtige Perzeptrone dasselbe sind, das man neuronale Netze nennt.)
Wenn Sie den Cross-Entropy-Verlust (mit Regularisierung) für ein einschichtiges neuronales Netzwerk verwendet haben, ist dies dasselbe Modell (logarithmisches lineares Modell) wie die logistische Regression. Wenn Sie stattdessen ein mehrschichtiges Netzwerk verwenden, kann dies als logistische Regression mit parametrischen nichtlinearen Basisfunktionen betrachtet werden.
Die Ausgabe sowohl der logistischen Regression als auch der neuronalen Netze mit Sigma-Aktivierungsfunktion kann als Wahrscheinlichkeiten interpretiert werden. Da der Kreuzentropieverlust tatsächlich die negative logarithmische Wahrscheinlichkeit ist, die durch die Bernoulli-Verteilung definiert wird.
quelle
Da die Gradientenabnahme jeden Parameter so aktualisiert, dass der Ausgabefehler verringert wird, der für alle Parameter weiterhin gelten muss. Eine schwellenbasierte Aktivierung ist nicht unterscheidbar, weshalb eine Sigmoid- oder Tanh-Aktivierung verwendet wird.
Hier ist ein einschichtiger NN
Hier ist ein Link, der es allgemein erklärt.
Edit: Vielleicht habe ich falsch verstanden, was du mit Perzeptron meinst. Wenn ich mich nicht irre, wird Perceptron als gewogene Summe der Eingaben interpretiert. Wenn Sie das Verständnis mit der Logistikfunktion ändern, wird dies zu einer logistischen Regression. Multi-Layer-NN mit Sigmoid- (logistischen) Aktivierungsfunktionen sind kaskadierte Layer, die aus logistischen Regressionen bestehen.
quelle
Intuitiv stelle ich mir ein mehrschichtiges Perzeptron vor, das eine nichtlineare Transformation meiner Eingabe-Features berechnet und diese transformierten Variablen dann in eine logistische Regression einspeist.
Ich kenne Sie nicht, aber in meinen Modellierungskursen und -recherchen habe ich alle Arten von sinnvollen und dummen Transformationen der Eingabe-Features versucht, um deren Bedeutung und allgemeine Modellvorhersage zu verbessern. Dinge zurechtmachen, Protokolle nehmen, zwei zu einer Rate zusammenfassen usw. Ich schämte mich nicht, aber ich hatte nur begrenzte Geduld.
quelle