softmax:softmax的计算的是一个比重,是一个针对输出结果归一化的过程,所以很多文献里也称作softmax层。softmax一般用于多分类的结果,一般和one-hot的真实标签值配合使用,大多数用于网络的最后一层;
sigmoid:sigmoid只是对每一个输出值进行非线性化,只是一个非线性激活过程,所以一般称为激活函数。sigmoid是原本一种隐层之间的激活函数,但是因为效果比其他激活函数差,目前一般也只会出现在二分类的输出层中,与0 1真实标签配合使用。
代码解释
import numpy as np
def sigmoid(inputs):
"""
Calculate the sigmoid for the give inputs (array)
:param inputs:
:return:
"""
sigmoid_scores = [1 / float(1 + np.exp(- x)) for x in inputs]
return sigmoid_scores
sigmoid_inputs = [2, 3, 5, 6]
print("Sigmoid Function Output :: {}".format(sigmoid(sigmoid_inputs)))
import numpy as np
def softmax(inputs):
"""
Calculate the softmax for the give inputs (array)
:param inputs:
:return:
"""
return np.exp(inputs) / float(sum(np.exp(inputs)))
softmax_inputs = [2, 3, 5, 6]
print( "Softmax Function Output :: {}".format(softmax(softmax_inputs)))