Aktivierungsfunktion, die häufig bei Klassifizierungsproblemen usw. verwendet wird.
Weil es die Inferenz mit Wahrscheinlichkeit dem richtigen Antwortetikett zuordnet.
Beispiel)
Softmax für handschriftliche 8 mit Mnist
[0.05, 0.01, 0.04, 0.1, 0.02, 0.05, 0.2, 0.03, 0.4, 0.1]
Entspricht der Vorhersagewahrscheinlichkeit der Zahlen 0, 1, 2, ... 9 aus dem linken Element (prognostiziert 8 mit einer Wahrscheinlichkeit von 40%) Addiere alle Elemente, um 1 zu erhalten.
softmax.py
# coding: UTF-8
import numpy as np
#Softmax-Funktion
def softmax(a):
#Holen Sie sich den größten Wert
c = np.max(a)
#Subtrahieren Sie den größten Wert von jedem Element (Überlauf-Gegenmaßnahmen)
exp_a = np.exp(a - c)
sum_exp_a = np.sum(exp_a)
#Elementwert/Summe aller Elemente
y = exp_a / sum_exp_a
return y
a = [23.0, 0.94, 5.46]
print (softmax(a))
# [ 9.99999976e-01 2.62702205e-10 2.41254141e-08]
Verweise Deep Learning von Grund auf neu
Recommended Posts