J'essaie d'appliquer une fonction softmax à un tableau numpy. Mais je n'obtiens pas les résultats souhaités. Voici le code que j'ai essayé :
import numpy as np
x = np.array([[1001,1002],[3,4]])
softmax = np.exp(x - np.max(x))/(np.sum(np.exp(x - np.max(x)))
print softmax
Je pense que le x - np.max(x)
Le code ne soustrait pas le maximum de chaque ligne. Le maximum doit être soustrait de x pour éviter les très grands nombres.
C'est censé produire
np.array([
[0.26894142, 0.73105858],
[0.26894142, 0.73105858]])
Mais j'y arrive :
np.array([
[0.26894142, 0.73105858],
[0, 0]])