机器学习分为两种,一种是做分类,一种是做回归。softmax函数就是用来做分类的。
softmax 函数定义:
import numpy as np
a=np.array([0.3,2.9,4.0])
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
print(softmax(a))
np.sum(softmax(a))
运行结果:
[0.01821127 0.24519181 0.73659691]
1.0
softmax函数的输出是0.0 到1.0 之间的实数,,并且softmax 函数的输出值总和为1 。
y=softmax(x) 函数 想x 和y 的大小关系没有变,例如4.0 对应的概率是0.736...
但是一般而言神经网络 只把输出值最大的神经元所对应的类别作为识别的结果,并且使用softmax 函数,最大值得位置不会变,因此一般省掉 softmax 函数