Es gibt Hunderte von Erklärungen und Artikeln zu Softmax. Ja! Es erklärt die Konzepte intestine und die Anwendung ist auch großartig!
Aber versuchen wir es zu entmystifizieren, selbst ein absoluter Anfänger kann es verstehen. Hier erhalten Sie die intuitivste Erklärung der Softmax-Funktion, die hauptsächlich in künstlichen neuronalen Netzen verwendet wird.
Stellen Sie sich vor, Sie haben einen Korb voller verschiedener Früchte: Äpfel, Orangen, Bananen, Weintrauben und Erdbeeren. Jetzt möchten Sie wissen, welche Frucht bei Ihren Freunden am beliebtesten ist. Die Softmax-Funktion kann Ihnen dabei helfen!
Die Softmax-Funktion funktioniert, indem sie jeder Frucht eine Punktzahl zuordnet, die angibt, wie sehr Ihre Freunde jede Frucht mögen. Um diese Punkte zu erhalten, bitten Sie jeden Freund, jede Frucht auf einer Skala von 1 bis 10 zu bewerten. Nehmen wir an, Sie haben drei Freunde: Zaid, Amr und Bakr.
Hier sind die Bewertungen, die sie für jede Frucht geben:
Zaid: Äpfel – 7, Orangen – 6, Bananen – 8, Trauben – 9, Erdbeeren – 5
Amr: Äpfel – 9, Orangen – 4, Bananen – 5, Trauben – 7, Erdbeeren – 8
Bakr: Äpfel – 6, Orangen – 8, Bananen – 7, Trauben – 6, Erdbeeren – 9
Jetzt können Sie die Softmax-Funktion verwenden, um diese Bewertungen in Wahrscheinlichkeiten umzuwandeln, die Ihnen die Wahrscheinlichkeit sagen, dass jede Frucht die Favoritin ist.
Dazu nehmen wir die Bewertungen und wenden die Softmax-Formel an:
Wahrscheinlichkeit von Äpfeln = e^(Bewertung von Äpfeln) / (Summe von e^(Bewertungen aller Früchte))
Wahrscheinlichkeit von Orangen = e^(Bewertung von Orangen) / (Summe von e^(Bewertungen aller Früchte))
Wahrscheinlichkeit von Bananen = e^(Bewertung von Bananen) / (Summe von e^(Bewertungen aller Früchte))
Wahrscheinlichkeit von Trauben = e^(Bewertung der Trauben) / (Summe von e^(Bewertungen aller Früchte))
Wahrscheinlichkeit von Erdbeeren = e^(Bewertung von Erdbeeren) / (Summe von e^(Bewertungen aller Früchte))
Nachdem Sie die Berechnungen durchgeführt haben, erhalten Sie die Wahrscheinlichkeiten für jede Frucht. Die Frucht mit der höchsten Wahrscheinlichkeit gilt als die Lieblingsfrucht deiner Freunde.
Nehmen wir zum Beispiel an, die Wahrscheinlichkeiten sind:
Wahrscheinlichkeit von Äpfeln: 0,12
Wahrscheinlichkeit von Orangen: 0,04
Wahrscheinlichkeit von Bananen: 0,06
Wahrscheinlichkeit von Trauben: 0,08
Wahrscheinlichkeit von Erdbeeren: 0,70
Anhand dieser Wahrscheinlichkeiten können wir erkennen, dass Erdbeeren die höchste Wahrscheinlichkeit haben und daher die Lieblingsfrucht unter Ihren Freunden sind.
Mithilfe der Softmax-Funktion können Sie anhand der Bewertungen Ihrer Freunde ermitteln, welche Frucht am beliebtesten ist.
In einem künstlichen neuronalen Netzwerk verfügen wir häufig über eine Reihe von Ausgaben, die die Wahrscheinlichkeiten verschiedener Klassen oder Kategorien darstellen. Die Softmax-Funktion hilft uns, eine Reihe von Zahlen in eine Wahrscheinlichkeitsverteilung umzuwandeln, in der sich die Werte zu 1 summieren.
Die Softmax-Funktion nimmt einen Eingabevektor und berechnet die Potenzierung jedes Parts im Vektor. Anschließend normalisiert es diese potenzierten Werte, indem es sie durch die Summe aller potenzierten Werte dividiert. Die Ausgaben der Softmax-Funktion sind miteinander verknüpft. Die Softmax-Wahrscheinlichkeiten summieren sich konstruktionsbedingt immer zu eins: 0,12 + 0,04 + 0,06 + 0,08 + 0,70 = 1,00. Wenn wir in diesem Fall die Wahrscheinlichkeit einer Klasse erhöhen wollen, muss die andere um den gleichen Betrag sinken.
Hier ist die formale Definition der Softmax-Funktion für einen Vektor x:
softmax(x) = e^(x) / sum(e^(x))
Teilen wir es in einfachere Schritte auf:
Schritt 1: Potenzierung
Für jedes Factor im Eingabevektor XBerechnung e^(x)wobei e die mathematische Konstante ist, die ungefähr gleich ist 2.71828.
Schritt 2: Summierung
Addieren Sie alle potenzierten Werte aus Schritt 1.
Schritt 3: Normalisierung
Teilen Sie jeden potenzierten Wert aus Schritt 1 durch die in Schritt 2 erhaltene Summe.
Die resultierenden Werte nach der Normalisierung stellen die Wahrscheinlichkeiten der verschiedenen Klassen oder Kategorien dar. Je höher der Wert für eine bestimmte Klasse ist, desto höher ist die Wahrscheinlichkeit.
Der Softmax-Funktion wird häufig in der Ausgabeschicht eines neuronalen Netzwerks verwendet, wenn wir eine Wahrscheinlichkeitsverteilung über mehrere Klassen erhalten möchten. Es stellt sicher, dass die Wahrscheinlichkeiten positiv sind und sich zu 1 summieren, was die Interpretation der Vorhersagen des Netzwerks erleichtert.
Mithilfe der Softmax-Funktion kann das neuronale Netzwerk den richtigen Klassen höhere Wahrscheinlichkeiten und den falschen Klassen niedrigere Wahrscheinlichkeiten zuweisen und so den Entscheidungsprozess unterstützen.