Softmax дает странные результаты - PullRequest
1 голос
/ 11 октября 2019

Если я запустил это:

probs = np.array( [683.8336792, 861.69769287, 981.83361816, 834.32391357] )
softs = softmax([probs])[0]
print(softs)

softs всегда сильно искажается до наибольшего числа 981,83 - любая идея, почему?

[3.80426623e-130 6.69315016e-053 1.00000000e+000 8.65663825e-065]

Функция softmax из пакета sklearn

def softmax(X, copy=True):

    if copy:
        X = np.copy(X)
    max_prob = np.max(X, axis=1).reshape((-1, 1))
    X -= max_prob
    np.exp(X, X)
    sum_prob = np.sum(X, axis=1).reshape((-1, 1))
    X /= sum_prob
    return X
...