Numercially stabil softmax

Gibt es eine numerisch stabile Verfahren zur Berechnung softmax-Funktion unten?
Ich bin immer Werte, wird Nan in Neuronalen Netzwerk-code.

np.exp(x)/np.sum(np.exp(y))
  • Die Antworten hier zeigen, die bessere Möglichkeit zur Berechnung der softmax: stackoverflow.com/questions/34968722/softmax-function-python
  • Die akzeptierten Antworten in diesem link ist eigentlich schlechter Rat. Abhishek, das, was der OP tut, obwohl Sie zuerst nicht scheinen zu verstehen, warum das richtige zu tun. Es gibt keine numerisch schwierige Schritte in die softmax außer überlauf. So verschieben alle Eingänge auf der linken Seite, während mathematisch gleichwertig, entfällt die Möglichkeit der überlauf, also ist numerisch eine Verbesserung.
  • Ja, obwohl der Autor, die akzeptierten Antworten erkennt in den Kommentaren, dass man die maximale nicht vorstellen, ein "notwendiger Begriff" ist aber tatsächlich verbessert die numerische Stabilität (vielleicht, die Antwort sollte bearbeitet werden,...). In jedem Fall, die Frage nach der numerischen Stabilität gerichtet ist, in einigen der anderen Antworten gibt. @AbhishekBhatia: glaubst du, der link beantwortet deine Frage zufriedenstellend, oder würde eine neue Antwort hier von Vorteil sein?
Schreibe einen Kommentar