Articles

Sigmoidfunktion

Was ist die Sigmoidfunktion?

Eine Sigmoidfunktion ist eine mathematische Funktion, die eine charakteristische S-förmige Kurve aufweist. Es gibt eine Reihe gängiger Sigmoidfunktionen, wie die logistische Funktion, den hyperbolischen Tangens und den Arkustangens

. Im maschinellen Lernen wird der Begriff Sigmoidfunktion normalerweise verwendet, um sich speziell auf die logistische Funktion zu beziehen, die auch als logistische Sigmoidfunktion bezeichnet wird. Alle Sigmoidfunktionen haben die Eigenschaft, dass sie die gesamte Zahlenlinie in einen kleinen Bereich wie zwischen 0 und 1 oder -1 und 1 abbilden, so dass eine Verwendung einer Sigmoidfunktion darin besteht, einen reellen Wert in einen Wert umzuwandeln, der als Wahrscheinlichkeit interpretiert werden kann.

Eine der am weitesten verbreiteten Sigmoidfunktionen ist die logistische Funktion, die jeden realen Wert dem Bereich (0, 1) zuordnet. Beachten Sie die charakteristische S-Form, die Sigmoidfunktionen ihren Namen gab (vom griechischen Buchstaben Sigma).Sigmoidfunktionen sind im Deep Learning populär geworden, weil sie als Aktivierungsfunktion in einem künstlichen neuronalen Netzwerk verwendet werden können. Sie wurden vom Aktivierungspotential in biologischen neuronalen Netzen inspiriert.Sigmoidfunktionen sind auch für viele Anwendungen des maschinellen Lernens nützlich, bei denen eine reelle Zahl in eine Wahrscheinlichkeit umgewandelt werden muss. Eine Sigmoidfunktion, die als letzte Schicht eines maschinellen Lernmodells platziert wird, kann dazu dienen, die Ausgabe des Modells in eine Wahrscheinlichkeitsbewertung umzuwandeln, die einfacher zu bearbeiten und zu interpretieren ist.

Sigmoidfunktionen sind ein wichtiger Bestandteil eines logistischen Regressionsmodells. Die logistische Regression ist eine Modifikation der linearen Regression für die Zwei-Klassen-Klassifikation und wandelt eine oder mehrere realwertige Eingaben in eine Wahrscheinlichkeit um, z. B. die Wahrscheinlichkeit, dass ein Kunde ein Produkt kauft. Die letzte Stufe eines logistischen Regressionsmodells wird häufig auf die logistische Funktion festgelegt, die es dem Modell ermöglicht, eine Wahrscheinlichkeit auszugeben.

Sigmoidfunktionsformel

Alle Sigmoidfunktionen sind monoton und haben eine glockenförmige erste Ableitung. Es gibt mehrere Sigmoidfunktionen und einige der bekanntesten sind unten dargestellt.

Drei der häufigsten Sigmoidfunktionen: die logistische Funktion, der hyperbolische Tangens und der Arkustangens. Alle haben die gleiche grundlegende S-Form.

Logistische Sigmoidfunktion Formel

Eine der häufigsten Sigmoidfunktionen ist die logistische Sigmoidfunktion. Dies wird im Bereich des maschinellen Lernens oft als Sigmoidfunktion bezeichnet. Die logistische Sigmoidfunktion ist wie folgt definiert:

Mathematische Definition der logistischen Sigmoidfunktion, einer gemeinsamen Sigmoidfunktion

Die logistische Funktion nimmt jede reelle Eingabe an und gibt einen Wert zwischen Null und Eins aus.

Hyperbolische Tangentenfunktionsformel

Eine weitere häufige Sigmoidfunktion ist die hyperbolische Funktion. Dies ordnet jede reelle Eingabe dem Bereich zwischen -1 und 1 zu.

Mathematische Definition der hyperbolischen Tangente

Arkustangens-Funktionsformel

Eine dritte alternative Sigmoidfunktion ist der Arkustangens, der die Umkehrung der Tangentenfunktion darstellt.

Die Arkustangensfunktion

Die Arkustangensfunktion ordnet jede reelle Eingabe dem Bereich -π/2 bis π/2 zu.

In den folgenden Diagrammen sehen wir sowohl die Tangentenkurve, eine bekannte trigonometrische Funktion, als auch den Arkustangens, seine Umkehrung:

Berechnung der Sigmoidfunktion

Beispielberechnung der logistischen Sigmoidfunktion

Anhand der logistischen Sigmoidfunktion können wir den Wert der Funktion an mehreren wichtigen Punkten auswerten, um die Form der Funktion zu verstehen.

Bei x = 0 ergibt die logistische Sigmoidfunktion:

Dies ist nützlich für die Interpretation des Sigmoids als Wahrscheinlichkeit in einem logistischen Regressionsmodell, da es zeigt, dass eine Eingabe von Null zu einer Ausgabe von 0,5 führt, was gleiche Wahrscheinlichkeiten beider Klassen anzeigt.

Bei x = 1 finden wir einen etwas größeren Wert:

und bei x = 5 wird der Wert der Sigmoidfunktion sehr nahe an 1.

Tatsächlich konvergiert die Sigmoidfunktion in der gegen unendlich gerichteten Grenze von x zu 1 und bei negativer Unendlichkeit zu -1, aber die Ableitung der Funktion erreicht niemals Null. Dies sind sehr nützliche Eigenschaften der Sigmoidfunktion, da sie zu einer Grenze tendiert, aber immer einen Gradienten ungleich Null hat.

Beispielberechnung der hyperbolischen Tangentenfunktion

In ähnlicher Weise können wir den Wert der Tanh-Funktion an diesen Schlüsselpunkten berechnen. Anstatt um 0,5 zentriert zu sein, ist die tanh-Funktion bei 0 zentriert.

Bei 1 ist die Tanh-Funktion relativ viel schneller gestiegen als die logistische Funktion:

Und schließlich ist die Tanh-Funktion um 5 innerhalb von 5 Dezimalstellen viel enger auf 1 konvergiert:

Tatsächlich konvergieren sowohl die hyperbolische Tangente als auch die Arkustangensfunktion viel schneller als die logistische Sigmoidfunktion.

Beispielberechnung der Arkustangensfunktion

Wir können die Arkustangensfunktion an denselben Punkten auswerten, um zu sehen, wo sie konvergiert:

Beachten Sie, dass der Arkustangens im Gegensatz zu den beiden anderen oben gezeigten Sigmoidfunktionen eher zu π/ 2 als zu 1 konvergiert. Darüber hinaus konvergiert der Arkustangens langsamer, da er bei x = 5 nicht einmal nahe an seinem Endwert liegt. Nur durch recht große Zahlen wie x = 5000 kommt der Arkustangens π / 2 sehr nahe.

Zusammenfassung der drei Sigmoidfunktionen

Wir können die wichtigsten Eigenschaften der drei oben gezeigten Sigmoidfunktionen in einer Tabelle vergleichen:

Sigmoid function Logistic function tanh arctan
Value in the limit x →-∞ 0 -1 -π/2
Value at x = 0 0.5 0 0
Value in the limit x →∞ 1 1 π/2
Converges Fast Very fast Very slow

Sigmoid Function vs. ReLU

In modernen künstlichen neuronalen Netzen ist es üblich, anstelle der Sigmoidfunktion den Gleichrichter, auch gleichgerichtete Lineareinheit oder ReLU genannt, als Aktivierungsfunktion zu sehen. Die ReLU ist definiert als:

Definition der Gleichrichteraktivierungsfunktion

Diagramm der ReLU-Funktion

Die ReLU-Funktion hat mehrere Hauptvorteile gegenüber einer Sigmoidfunktion in einem neuronalen Netzwerk. Der Hauptvorteil ist, dass die ReLU-Funktion sehr schnell zu berechnen ist. Darüber hinaus ändert sich ein Aktivierungspotential in einem biologischen neuronalen Netzwerk für negative Eingaben nicht weiter, sodass die ReLU der biologischen Realität näher zu sein scheint, wenn das Ziel darin besteht, biologische Systeme nachzuahmen.

Zusätzlich weist die ReLU-Funktion für positives x

einen konstanten Gradienten von 1 auf, während eine Sigmoidfunktion einen Gradienten aufweist, der schnell in Richtung 0 konvergiert. Diese Eigenschaft macht neuronale Netze mit sigmoiden Aktivierungsfunktionen langsam zu trainieren. Dieses Phänomen ist als das Problem des verschwindenden Gradienten bekannt. Die Wahl von ReLU als Aktivierungsfunktion mildert dieses Problem, da der Gradient der ReLU immer 1 für positive

x ist und somit der Lernprozess nicht dadurch verlangsamt wird, dass der Gradient klein wird.Der Nullgradient für negatives x kann jedoch ein ähnliches Problem darstellen, das als Nullgradientenproblem bekannt ist, aber es ist möglich, dies zu kompensieren, indem ein kleiner linearer Term in x hinzugefügt wird, um der ReLU-Funktion an allen Punkten eine Steigung ungleich Null zu geben.

Anwendungen der Sigmoidfunktion

Logistische Sigmoidfunktion in der logistischen Regression

Ein Schlüsselbereich des maschinellen Lernens, in dem die Sigmoidfunktion wesentlich ist, ist ein logistisches Regressionsmodell. Ein logistisches Regressionsmodell wird verwendet, um die Wahrscheinlichkeit eines binären Ereignisses abzuschätzen, z. B. tot gegen lebendig, krank gegen gut, betrügerische gegen ehrliche Transaktion usw. Es wird ein Wahrscheinlichkeitswert zwischen 0 und 1 ausgegeben.

In der logistischen Regression wird eine logistische Sigmoidfunktion an einen Datensatz angepasst, wobei die unabhängigen Variablen einen beliebigen reellen Wert annehmen können und die abhängige Variable entweder 0 oder 1 ist.

Stellen wir uns zum Beispiel einen Datensatz mit Tumormessungen und -diagnosen vor. Unser Ziel ist es, die Wahrscheinlichkeit der Ausbreitung eines Tumors angesichts seiner Größe in Zentimetern vorherzusagen.

Einige Messungen der Tumordimensionen und -ergebnisse

Wenn wir den gesamten Datensatz plotten, haben wir einen allgemeinen Trend, dass sich der Tumor umso wahrscheinlicher ausgebreitet hat, je größer er ist, obwohl es eine deutliche Überlappung beider Klassen im Bereich von 2,5 cm bis 3,5 cm gibt:

Ein Diagramm der Tumorergebnisse im Vergleich zu Tumordimensionen

Mithilfe der logistischen Regression können wir den Tumorstatus y (0 oder 1) als Funktion der Tumorgröße x mithilfe der logistischen Sigmoidformel modellieren:

Hier müssen wir die optimalen Werte m und b finden, mit denen wir die Sigmoidkurve verschieben und dehnen können, um sie an die Daten anzupassen.

In diesem Fall ergibt die Anpassung der Sigmoidkurve die folgenden Werte:

Wir können diese Werte wieder in die Sigmoidformel einfügen und die Kurve zeichnen:

Dies bedeutet, dass zum Beispiel bei einem Tumor der Größe 3cm unsere logistische Regression das Modell würde die Wahrscheinlichkeit vorhersagen, dass sich dieser Tumor ausbreitet:

Intuitiv macht das Sinn. In den Originaldaten können wir sehen, dass die Tumoren um 3 cm mehr oder weniger gleichmäßig auf beide Klassen verteilt sind.

Betrachten wir einen Tumor der Größe 6 cm. Alle Tumoren im ursprünglichen Datensatz mit einer Größe von 4 cm oder mehr hatten sich ausgebreitet, so dass wir erwarten würden, dass unser Modell eine hohe Wahrscheinlichkeit der Tumorausbreitung zurückgeben würde:

Das Modell hat eine Wahrscheinlichkeit sehr nahe bei 1 zurückgegeben, was auf die nahe Sicherheit hinweist, dass y = 1 .

Dies zeigt, wie Sigmoidfunktionen und insbesondere die logistische Funktion für die Wahrscheinlichkeitsmodellierung extrem leistungsfähig sind.

Warum wird die logistische Funktion in der logistischen Regression verwendet und keine andere Sigmoidfunktion?

Der Grund, warum die logistische Funktion in der logistischen Regression und keiner der anderen Sigmoidvarianten verwendet wird, liegt nicht nur daran, dass sie bequem Werte zwischen 0 und 1 zurückgibt. Die logistische Regression wird von der Annahme abgeleitet, dass Daten in beiden Klassen normalverteilt sind.

Stellen wir uns vor, dass sich nicht ausbreitende Tumoren und sich ausbreitende Tumoren jeweils einer Normalverteilung folgen. Die sich nicht ausbreitenden Tumoren sind normalverteilt mit durchschnittlich 1,84 cm und einer Standardabweichung von 1 cm, und die sich ausbreitenden Tumoren sind normalverteilt mit durchschnittlich 4,3 cm, ebenfalls mit einer Standardabweichung von 1 cm. Wir können sowohl die Wahrscheinlichkeitsdichtefunktion dieser beiden Normalverteilungen darstellen:

An jedem Punkt können wir das Odds Ratio der beiden Verteilungen berechnen, dh die Wahrscheinlichkeitsdichtefunktion der ausgebreiteten Tumoren dividiert durch die Summe beider Wahrscheinlichkeitsdichtefunktionen (nicht ausbreitende + ausgebreitete Tumoren):

Wenn wir das Odds Ratio als Funktion von x zeichnen, können wir sehen das Ergebnis ist die ursprüngliche logistische Sigmoidkurve.

Der Grund, warum die logistische Funktion für die logistische Regression gewählt wird, liegt in der Annahme, dass wir zwei Klassen modellieren, die beide normalverteilt sind, und die logistische Funktion ergibt sich natürlich aus dem Verhältnis der normalen Wahrscheinlichkeitsdichtefunktionen.

Sigmoidfunktion als Aktivierungsfunktion in künstlichen neuronalen Netzen

Ein künstliches neuronales Netz besteht aus mehreren Schichten von Funktionen, die übereinander geschichtet sind:

Ein Feedforward-neuronales Netzwerk mit zwei versteckten Schichten

Jede Schicht enthält typischerweise einige Gewichtungen und Verzerrungen und funktioniert wie eine kleine lineare Regression. Ein entscheidender Teil der Schichten ist auch die Aktivierungsfunktion.

Formel für die erste versteckte Schicht eines Feedforward-neuronalen Netzwerks mit Gewichten, die mit W und Verzerrungen mit b bezeichnet sind, und Aktivierungsfunktion g.Wenn jedoch jede Schicht im neuronalen Netzwerk nur Gewichte und Verzerrungen, aber keine Aktivierungsfunktion enthalten würde, wäre das gesamte Netzwerk äquivalent zu einer einzigen linearen Kombination von Gewichten und Verzerrungen. Mit anderen Worten, die Formel für das neuronale Netzwerk könnte faktorisiert und zu einem einfachen linearen Regressionsmodell vereinfacht werden. Ein solches Modell wäre in der Lage, sehr einfache lineare Abhängigkeiten aufzunehmen, aber nicht in der Lage, die beeindruckenden Aufgaben zu erfüllen, für die neuronale Netze bekannt sind, wie z. B. Bild- und Spracherkennung.

Aktivierungsfunktionen wurden zwischen Schichten in neuronalen Netzen eingeführt, um eine Nichtlinearität einzuführen. Ursprünglich wurden Sigmoidfunktionen wie die logistische Funktion, der Arkustangens und der hyperbolische Tangens verwendet, und heute sind ReLU und seine Varianten sehr beliebt. Alle Aktivierungsfunktionen dienen dem gleichen Zweck: eine Nichtlinearität in das Netzwerk einzuführen. Sigmoidfunktionen wurden aufgrund ihrer wahrgenommenen Ähnlichkeit mit dem Aktivierungspotential in biologischen neuronalen Netzen als einige der ersten Aktivierungsfunktionen ausgewählt.Dank der Verwendung einer Sigmoidfunktion an verschiedenen Punkten innerhalb eines mehrschichtigen neuronalen Netzwerks können neuronale Netze so aufgebaut werden, dass aufeinanderfolgende Schichten immer komplexere Merkmale eines Eingabebeispiels aufnehmen.

Sigmoid Function History

1798 veröffentlichte der englische Kleriker und Ökonom Thomas Robert Malthus unter einem Pseudonym ein Buch mit dem Titel An Essay on the Principle of Population, in dem er behauptete, dass die Bevölkerung in geometrischer Progression zunahm (Verdoppelung alle 25 Jahre), während die Nahrungsmittelversorgung arithmetisch zunahm, und dass der Unterschied zwischen den beiden auf eine weit verbreitete Hungersnot zurückzuführen sei.In den späten 1830er Jahren experimentierte der belgische Mathematiker Pierre François Verhulst mit verschiedenen Methoden zur Modellierung des Bevölkerungswachstums und wollte der Tatsache Rechnung tragen, dass das Wachstum einer Bevölkerung letztendlich selbstlimitierend ist und nicht für immer exponentiell zunimmt. Verhulst wählte die logistische Funktion als logische Anpassung an das einfache Exponentialmodell, um die Verlangsamung des Bevölkerungswachstums zu modellieren, die auftritt, wenn eine Bevölkerung beginnt, ihre Ressourcen zu erschöpfen.Im Laufe des nächsten Jahrhunderts begannen Biologen und andere Wissenschaftler, die Sigmoidfunktion als Standardwerkzeug für die Modellierung des Bevölkerungswachstums von Bakterienkolonien bis zu menschlichen Zivilisationen zu verwenden.Im Jahr 1943 entwickelten Warren McCulloch und Walter Pitts ein künstliches neuronales Netzwerkmodell, das einen harten Cutoff als Aktivierungsfunktion verwendet, wobei ein Neuron 1 oder 0 ausgibt, je nachdem, ob seine Eingabe über oder unter einem Schwellenwert liegt.1972 versuchten die Biologen Hugh Wilson und Jack Cowan von der University of Chicago, biologische Neuronen rechnerisch zu modellieren, und veröffentlichten das Wilson-Cowan-Modell, bei dem ein Neuron ein Signal an ein anderes Neuron sendet, wenn es ein Signal empfängt größer als ein Aktivierungspotential. Wilson und Cowan wählten die logistische Sigmoidfunktion, um die Aktivierung eines Neurons als Funktion eines Stimulus zu modellieren.Ab den 1970er und 1980er Jahren begannen eine Reihe von Forschern, Sigmoidfunktionen in Formulierungen künstlicher neuronaler Netze zu verwenden, wobei sie sich von biologischen neuronalen Netzen inspirieren ließen. 1998 wählte Yann LeCun die hyperbolische Tangente als Aktivierungsfunktion in seinem bahnbrechenden faltungsneuralen Netzwerk LeNet, das als erstes in der Lage war, handgeschriebene Ziffern mit praktischer Genauigkeit zu erkennen.

In den letzten Jahren haben sich künstliche neuronale Netze von Sigmoidfunktionen zugunsten der ReLU-Funktion entfernt, da alle Varianten der Sigmoidfunktion rechenintensiv zu berechnen sind und die ReLU die notwendige Nichtlinearität bietet, um die Tiefe des Netzwerks zu nutzen, und gleichzeitig sehr schnell zu berechnen ist.