3.5 输出层的设计
3.5.2 softmax函数
import numpy as np
a = np.array([0.3, 2.9, 4.0])
a
array([0.3, 2.9, 4. ])
exp_a = np.exp(a)
exp_a
array([ 1.34985881, 18.17414537, 54.59815003])
sum_exp_a = np.sum(exp_a)
sum_exp_a
74.1221542101633
y = exp_a / sum_exp_a
y
array([0.01821127, 0.24519181, 0.73659691])
def softmax1(a):
exp_a = np.exp(a)
sum_exp_a = np.sum(exp_a)
y = exp_a / sum_exp_a
return y
def softmax(a):
c = np.max(a)
exp_a = np.exp(a - c)
sum_exp_a = np.sum(exp_a)
y = exp_a / sum_exp_a
return y
y = softmax(a)
y
array([0.01821127, 0.24519181, 0.73659691])
np.sum(y)
1.0