Sigmoid函数
Sigmoid 函数适用于只对一种类别进行分类的场景,本质上是非线性映射,定义域为单个数值,值域为(0,1)。首先设置函数阀值(shrehold),当Sigmoid函数输出值大于阀值,则认为“是”这一类别;否则认为“不是”这一类别
def sigmoid(s):
return 1 / (1 + np.exp(-s))
Softmax函数
Softmax函数是Sigmoid函数的“多类别”版本,可以将输出值对应到多个类别标签改了最高的的一项就是模型预测的标签。本质上是离散概率分布,定义域某个一维向量,值域 [0,1] ,结果之和一定为1
def softmax(s):
return np.exp(s)/np.sum(np.exp(s), axis = 0)
Sigmoid和Softmax函数的主要区别
Sigmoid | Softmax | |
---|---|---|
公式 | ||
本质 | 非线性映射 | 离散概率分布 |
任务 | 二分类 | 多分类 |
定义域 | 单个数值 | 某个一维向量 |
值域 | (0,1) | [0,1] |
结果之和 | 某个正数 | 一定为1 |