Neuronale Aktivierung Funktionen - Unterschied zwischen Logistik / Tanh / etc
Schreibe ich einige grundlegende neuronale Netzwerk-Methoden - insbesondere die Aktivierung der Funktionen - und geht auf die Grenzen meiner Müll Kenntnisse der Mathematik. Ich verstehe die jeweiligen Bereiche (-1/1) (0/1) etc, aber die unterschiedlichen Beschreibungen und Implementierungen haben mich verwirrt.
Speziell Sigma, logistic, bipolaren Sigma, tanh, etc.
Tut Sigma einfach beschreiben die Form der Funktion, unabhängig von der Auswahl? Wenn dem so ist, dann ist tanh a 'sigmoid-Funktion'?
Ich habe gesehen, 'bipolare sigmoid' gegenüber, gegen 'tanh' in einem Papier, aber ich habe gesehen, beide Funktionen implementiert, die in verschiedenen Bibliotheken) mit dem gleichen code:
(( 2/(1 + Exp(-2 * n))) - 1). Sie sind genau die gleiche Sache?
Ebenfalls habe ich gesehen, dass logistic und Sigma Aktivierungen umgesetzt mit dem gleichen code:
( 1/(1 + Exp(-1 * n))). Sind diese auch gleichwertig?
Schließlich ist es auch egal, dass viel in der Praxis? Ich sehe auf wiki ein Handlung sehr ähnlich sigmoid-Funktionen - konnte keine dieser genutzt werden? Einige Aussehen, als könnten Sie deutlich schneller zu berechnen als andere.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Logistische Funktion: ex/ex + ec)
Speziellen ("standard") bei der logistischen Funktion: 1/(1 + e-x)
Bipolar-sigmoid: nie davon gehört.
Tanh: (ex-e-x)/(ex + e-x)
Sigma in der Regel bezieht sich auf die Form (und die Grenzen), also ja, tanh ist eine sigmoid-Funktion. Aber in manchen Kontexten, es bezieht sich speziell auf die standard-Logistische Funktion, so müssen Sie vorsichtig sein. Und ja, Sie können jede sigmoid-Funktion und wahrscheinlich tun einfach nur gut.
(( 2/(1 + Exp(-2 * x))) - 1) ist äquivalent zu tanh(x).
In der Regel die wichtigsten Unterschiede sind
ein. glatte, stetig differenzierbare, wie tanh und Logistische vs Schritt oder abgeschnitten
b. wettbewerbsfähige vs-transfer
c. Sigma vs radial
d.... symmetrisch (-1,+1) vs asymmetrisch (0,1)
In der Regel die differenzierbare Anforderung ist notwendig, für die versteckten Schichten und der tanh wird Häufig empfohlen, mehr als ausgeglichen. Die 0 für tanh ist an der stärksten Stelle (höchste Steigung oder Gewinn) und nicht eine Falle, während für die Logistische 0 ist der tiefste Punkt und eine Falle für alles, was das schieben tiefer in den negativen Bereich. Radial - (basis -) Funktionen sind über die Entfernung von einem typischen Prototyp und gut für konvexe kreisförmige Regionen über ein neuron, während die sigmoid-Funktionen sind über die Trennung Linear und gut die Hälfte Leerzeichen - und es erfordert viele für eine gute approximation an eine konvexe region, mit Runden/kugelförmigen Regionen die schlimmsten für sigmoids und am besten für die radials.
Generell die Empfehlung ist für tanh auf der Zwischenlagen für die +/- Bilanz, und passen Sie die Ausgabe-Schicht, um die Aufgabe (boolean/dichotome Klasse Entscheidung mit threshold -, Logistik-oder Wettbewerbs-Ausgänge (z.B. softmax, ein selbst-Normalisierung multiclass Verallgemeinerung der logistischen); regression Aufgaben können auch linear sein). Die output-Schicht nicht kontinuierlich differenzierbar. Die input-Ebene normalisiert werden sollen, die in irgendeiner Weise, entweder auf [0,1] oder, noch besser, die Standardisierung oder Normalisierung mit Erniedrigung [-1,+1]. Wenn Sie einen dummy-Eingang 1 dann normalisieren, so dass ||x||p = 1 Division durch eine Summe oder der Länge und in dieser Größenordnung Informationen erhalten in der dummy-bias-Eingang, anstatt verloren zu gehen. Wenn Sie normalisieren über Beispiele, das ist technisch stören Ihre test-Daten, wenn man Sie anschaut, oder Sie sich möglicherweise außerhalb der Reichweite, wenn Sie nicht. Aber mit ||2-Normalisierung solcher Abweichungen oder Fehlern sollte der Ansatz der Normalverteilung, wenn Sie die Auswirkungen der natürlichen Verteilung oder Fehler. Dies bedeutet, dass Sie mit hoher Wahrscheinlichkeit, die Sie nicht überschreiten die original-Palette (wahrscheinlich um 2 standard-Abweichungen) von mehr als einen kleinen Faktor (vgl. solche überschreitungen Werte gelten als Ausreißer und nicht signifikant).
Also ich empfehle unvoreingenommene Instanz Normalisierung oder verzerrten Muster Standardisierung oder sowohl auf der input-Ebene (evtl. mit Datenkompression mit SVD), tanh auf die verborgenen Ebenen, und eine Schwellwert-Funktion, die Logistische Funktion oder Wettbewerbs-Funktion auf die Ausgabe für die Einstufung, sondern linear mit denormalisiert Ziele oder vielleicht logsig mit normierten Ziele für die regression.
Das Wort ist (und ich getestet habe), dass in einigen Fällen kann es besser sein, auf die tanh als die logistic seit
Y = 0
auf die logistic mal ein Gewichtw
ergibt sich ein Wert in der Nähe von0
die nicht viel Wirkung auf die oberen Schichten, die es betrifft (obwohl fehlen auch betrifft), aber einen Wert in der Nähe vonY = -1
auf tahn mal ein Gewichtw
könnte eine große Zahl, die mehrere numerische Effekt.1 - y^2
) ergibt Werte, die größer als die logistic (y (1 -y) = y - y^2
). Zum Beispiel, wennz = 0
, die logistic Funktion ergibty = 0.5
undy' = 0.25
für tanhy = 0
abery' = 1
(dies sehen Sie im Allgemeinen nur durch die Betrachtung des Graphen). BEDEUTUNG, dass ein tanh Ebene möglicherweise schneller lernt, als ein logistic Schicht wegen des Ausmaßes des Gradienten.Bipolaren Sigma = (1-e^(-x))/(1 + e^(-x))
Ausführliche Erläuterung finden Sie bei hier