1、函数式子以及样例解释
2、Python代码具体实现例子
import numpy as np
a = np.array([0.3, 2.9, 4.0])
exp_a = np.exp(a) # 指数函数
# 指数函数的和
sum_exp_a = np.sum(exp_a)
y = exp_a/sum_exp_a
print(y)
3、写为softmax函数
def softmax(a):
exp_a = np.exp(a)
sum_exp_a = np.sum(exp_a)
y = exp_a / sum_exp_a
return y
但是这样有一定的缺陷,那就是可能会产生溢出。改进如下:
1、函数式
2、Python代码具体实现例子
import numpy as np
a = np.array([1010, 1000, 990])
c = np.max(a) # c = 1010
y = np.exp(c - a) / np.sum(np.exp(c - a))
print(y)
3、写为softmax函数
def softmax(a):
c = np.max(a)
exp_a = np.exp(c - a)
sum_exp_a = np.sum(exp_a)
y = exp_a / sum_exp_a
return y