Производная функции Softmax - PullRequest
       25

Производная функции Softmax

0 голосов
/ 14 февраля 2019

Я пытаюсь вычислить производную функции softmax.У меня есть 2d массив numpy , и я рассчитываю softmax для массива вдоль оси 1 .Мой код Python для того же:

def softmax(z):

     return np.exp(z) / np.sum(np.exp(z), axis=1, keepdims=True)

Теперь мой код Python для вычисления производной от уравнения softmax:

Кроме того, если мой массивный массив имеет форму (3,3), то какой будет форма массива, возвращаемого производной softmax?Будет ли возвращенная форма массива (9,9)?

1 Ответ

0 голосов
/ 12 марта 2019

Я бы вычел максимальное значение z и сделал бы что-то вроде:

def softmax(z):
     exps = np.exp(z - z.max())
     return exps/np.sum(exps)

, чтобы улучшить стабильность, но в противном случае то, что вы делаете, является правильным.

...