Warum Sigmoid-Funktion anstelle von irgendetwas anderem?

40

Warum ist die De-facto-Standard-Sigmoid-Funktion in (nicht-tiefen) neuronalen Netzwerken und logistischen Regressionen so beliebt?11+ex

Warum verwenden wir nicht viele der anderen ableitbaren Funktionen mit einer schnelleren Rechenzeit oder einem langsameren Zerfall (so dass der Gradient weniger verschwindet)? In Wikipedia gibt es nur wenige Beispiele für Sigmoidfunktionen . Einer meiner Favoriten mit langsamer Abnahme und schneller Berechnung ist .x1+|x|

BEARBEITEN

Die Frage unterscheidet sich von der umfassenden Liste der Aktivierungsfunktionen in neuronalen Netzen mit Vor- / Nachteilen, da mich nur das Warum und nur das Sigma interessiert.

Mark Horvath
quelle
6
Beachten Sie, dass das logistische Sigmoid ein Sonderfall der Softmax-Funktion ist, und sehen Sie meine Antwort auf diese Frage: stats.stackexchange.com/questions/145272/…
Neil G
10
Es gibt andere Funktionen wie probit oder cloglog, die häufig verwendet werden, siehe: stats.stackexchange.com/questions/20523/…
Tim
4
@ user777 Ich bin nicht sicher, ob es sich um ein Duplikat handelt, da der Thread, auf den Sie verweisen, die Warum- Frage nicht wirklich beantwortet .
Tim
@KarelMacek, sind Sie sicher, dass das Derivat kein Links- / Rechtslimit bei 0 hat? Sieht praktisch so aus, als hätte es einen schönen Tangential auf das verknüpfte Bild von Wikipedia.
Mark Horvath
5
Ich hasse es, mit so vielen angesehenen Community-Mitgliedern nicht einverstanden zu sein, die dafür gestimmt haben, dieses Duplikat als Duplikat zu schließen, aber ich bin überzeugt, dass das scheinbare Duplikat nicht das "Warum" anspricht, und deshalb habe ich dafür gestimmt, diese Frage erneut zu eröffnen.
whuber

Antworten:

24

Ich zitiere mich aus dieser Antwort auf eine andere Frage:

In Abschnitt 4.2 von Mustererkennung und maschinelles Lernen (Springer 2006) zeigt Bishop, dass das Logit natürlich als die Form der posterioren Wahrscheinlichkeitsverteilung in einer Bayes'schen Behandlung der Zwei-Klassen-Klassifikation entsteht. Anschließend zeigt er, dass dies auch für diskret verteilte Features gilt, sowie für eine Teilmenge der Familie der Exponentialverteilungen. Für die Klassifizierung mehrerer Klassen wird das Logit auf die normalisierte Exponential- oder Softmax-Funktion verallgemeinert.

Dies erklärt, warum dieses Sigma in der logistischen Regression verwendet wird.

In Bezug auf neuronale Netze wird in diesem Blogbeitrag erläutert, wie unterschiedliche Nichtlinearitäten, einschließlich des Logits / Softmax und des Probits, die in neuronalen Netzen verwendet werden, statistisch interpretiert und damit motiviert werden können. Die zugrunde liegende Idee ist, dass ein mehrschichtiges neuronales Netzwerk als eine Hierarchie verallgemeinerter linearer Modelle betrachtet werden kann; Aktivierungsfunktionen sind demnach Verknüpfungsfunktionen, die wiederum unterschiedlichen Verteilungsannahmen entsprechen.

A. Donda
quelle
1
Toll! Wenn wir also Sigmoide in einem Netzwerk verwenden, können wir implizit davon ausgehen, dass das Netzwerk Wahrscheinlichkeiten verschiedener Ereignisse (in den internen Schichten oder in der Ausgabe) "modelliert". Dies kann ein sinnvolles Modell innerhalb eines Netzwerks sein, auch für quadratische Fehler (was dem Ausgangsneuron eine andere Aktivierungsfunktion ermöglicht). Ich habe noch nie an diese Intuition gedacht, danke!
Mark Horvath
@ MarkHorvath Ich bin froh, dass ich helfen konnte. :-)
A. Donda
Historisch nicht so. Meine beste Zusammenfassung einer chaotischen Geschichte ist, dass logit in die Statistikwissenschaften eingegangen ist, hauptsächlich, weil funktionale Formen, die zur Vorhersage von Veränderungen über die Zeit verwendet wurden (Populationen, die voraussichtlich logistischen Kurven folgen), bei der Anpassung und Übernahme als Verknüpfungsfunktionen [anachronistische Verwendung!] Für binäre Antworten ungefähr richtig ausgesehen haben ; und sie sind leicht mit einfachen Berechnungen zu manipulieren, was Ausdrücke in absoluten Werten nicht sind. Aber natürlich ist die einfachste logische Rechtfertigung für solche Funktionen interessant und entscheidend, und Ihre Antwort geht darauf ein.
Nick Cox
1
Ich habe die Abschnitte in beiden Büchern des Bischofs (2006 und 1995) durchgelesen und bin immer noch nicht davon überzeugt, dass das Sigmoid hier unverzichtbar ist, obwohl ich die Motivation mit dem Logit auf jeden Fall bekomme. Was ist, wenn ich dieselbe Kreuzentropieverlustfunktion auf der Grundlage der 2-Klassen-Poisson-Annahme aufschreibe, dann aber eine andere Aktivierungsfunktion anstelle von Sigmoid verwende? Zum Beispiel wird dies ähnlich aber nicht ganz so schön stückweise definiert: g (x) = 1 / (2-2x) wenn x <0, 1 - 1 / (2 + 2x) für x> 0, g (0) = 0,5. Jetzt sieht die Max-Likelihood-Gleichung anders aus, aber wenn wir sie minimieren, erhalten wir dann immer noch Wahrscheinlichkeiten als Ausgabe?
Äraoul
wenn Bischop die "natürlich entstehende" Funktionaa=p(x,C1)(1+p(x,C1))p(x,C2) , nicht wahr? a1+a2
Herr Tsjolder,
18

Ein Grund, warum diese Funktion "natürlicher" erscheint als andere, ist, dass es sich zufällig um die Umkehrung des kanonischen Parameters der Bernoulli-Verteilung handelt: (Die Funktion vonpinnerhalb des Exponenten wird als kanonischer Parameter bezeichnet.)

f(y)=py(1p)1y=(1p)exp{ylog(p1p)}.
p

Eine überzeugendere Rechtfertigung könnte die Informationstheorie sein, in der die Sigmoidfunktion als Maximum-Entropie-Modell hergeleitet werden kann . Grob gesagt nimmt die Sigmoidfunktion eine minimale Struktur an und spiegelt unseren allgemeinen Unkenntnisstand über das zugrunde liegende Modell wider.

dsaxton
quelle
Gute Begründung für die logistische Regression. Die lustige Sache, dass wir dies auch für quadratische Fehler verwenden ...
Mark Horvath
11

Ich habe mich diese Frage seit Monaten gestellt. Die Antworten auf CrossValidated und Quora zeigen alle nette Eigenschaften der logistischen Sigmoid-Funktion, aber es scheint, als hätten wir diese Funktion klug erraten. Was ich vermisst habe, war die Rechtfertigung für die Wahl. Ich habe endlich einen in Abschnitt 6.2.2.2 des "Deep Learning" -Buches von Bengio (2016) gefunden . In Meinen Eigenen Worten:

Kurz gesagt, wir möchten, dass der Logarithmus der Modellausgabe für eine gradientenbasierte Optimierung der Log-Wahrscheinlichkeit der Trainingsdaten geeignet ist.

Motivation

  • Wir wollen ein lineares Modell, aber wir können z=wTx+b direkt als z(,+) .
  • Für die Klassifizierung ist es sinnvoll, die Bernoulli-Verteilung anzunehmen und ihren Parameter θ in P(Y=1)=θ modellieren .
  • Also müssen wir z von (,+) auf [0,1] abbilden , um die Klassifizierung durchzuführen.

Warum die logistische Sigmoidfunktion?

Das Abschneiden von z mit P(Y=1|z)=max{0,min{1,z}} ergibt einen Nullgradienten für z außerhalb von [0,1] . Wir brauchen einen starken Gradienten, wenn die Vorhersage des Modells falsch ist, weil wir die logistische Regression mit dem Gradientenabstieg lösen. Für die logistische Regression gibt es keine geschlossene Lösung.

Die logistische Funktion hat die nette Eigenschaft, einen konstanten Gradienten zu asymptotisieren, wenn die Vorhersage des Modells falsch ist, da wir die Maximum-Likelihood-Schätzung verwenden, um das Modell anzupassen. Dies ist unten gezeigt:

Für numerische Vorteile kann die Maximum-Likelihood-Schätzung durchgeführt werden, indem die negative Log-Likelihood der Trainingsdaten minimiert wird. Unsere Kostenfunktion lautet also:

J(w,b)=1mi=1mlogP(Y=yi|xi;w,b)=1mi=1m(yilogP(Y=1|z)+(yi1)logP(Y=0|z))

P(Y=0|z)=1P(Y=1|z)Y=1P(Y=1|z)z=wTx+b

fzP(Y=1|z)

  • zR:f(z)[0,1]
  • f(0)=0.5
  • f(0,0.5)f(x)=1f(x)
  • f

f(z)=11+ezf(z)=0.5+0.5z1+|z|f(z)=11+ez

Y=1

P(Y=1|z)=11+ezY=1m=1

J(z)=log(P(Y=1|z))=log(11+ez)=log(ez1+ez)=z+log(1+ez)

z

  • zY=1log(1+ez)zzz
  • z|z|Y=1log(1+ez)0zzz1zEs findet keine Sättigung statt, die zu verschwindenden Verläufen führen würde.

Y=0

Y=1Y=0

J(z)Y=1

Bildbeschreibung hier eingeben

Y=0

Alternativen

z1+|z|[0,1]P(Y=1|z)=0.5+0.5z1+|z|

Y=1

J(z)=log(0.5+0.5z1+|z|)

was so aussieht:

Bildbeschreibung hier eingeben

z

Kilian Batzner
quelle
Was meinst du, wenn du schreibst "wenn das Modell falsch ist"?
Gabriel Romon
(xi,yi)z=5yi=0
6

Da in der ursprünglichen Frage das Problem des abklingenden Gradienten erwähnt wurde, möchte ich nur hinzufügen, dass für Zwischenebenen (bei denen Sie Aktivierungen nicht als Klassenwahrscheinlichkeiten oder Regressionsausgaben interpretieren müssen) andere Nichtlinearitäten häufig Sigmoidfunktionen vorgezogen werden. Die bekanntesten sind Gleichrichterfunktionen (wie bei ReLUs ), die über den positiven Bereich linear und über den negativen Bereich null sind. Einer ihrer Vorteile besteht darin, dass sie dem Problem des abklingenden Gradienten weniger ausgesetzt sind, da die Ableitung über den positiven Bereich konstant ist. ReLUs sind so populär geworden, dass Sigmoide wahrscheinlich nicht mehr als De-facto-Standard bezeichnet werden können.

Glorot et al. (2011) . Neuronale Netze mit tiefem Gleichrichter

user20160
quelle
2
Ja. Ich denke, der Grund, warum die Logistikfunktion so beliebt war, war ihr Import aus der Statistik. Relu ist heutzutage in vielen Bereichen am beliebtesten.
Ricardo Cruz