softmax函数一般用作神经网络输出层的传递函数,作用是分类(二元分类可以使用logistic函数,多元可以使用softmax函数):
输出总和为1是softmax函数的一个重要性质,可以把softmax函数的输出y解释为“概率”。
python代码为:
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
由于即便使用softmax函数,输出值最大的神经元的位置也不会变,所以常常只在机器学习的“训练”阶段使用,“推理”阶段一般会省略输出层的softmax函数。