这两个函数想必很多人会有所混淆,这里简单介绍一下,包括二分类、多分类、多标签分类之间的关系以及如何应用softmax和sigmoid。
其实说起来也简单,先来介绍下基本信息。
softmax
softmax 多分类比较常用一些,主要用途是把一些输入映射为0-1之间的实数,并且归一化保证和为1,而多分类的概率之和也刚好为1。
https://blog.csdn.net/bitcarmanlee/article/details/82320853 这里盗的图,哈哈哈
代价函数一般采用交叉熵损失函数来计算,类似于Logistic回归代价函数
sigmoid
Sigmoid函数也称为S型生长曲线,常被用作神经网络的激活函数,将变量映射到0,1之间
优点:
值域在0和1之间,可以用作输出层,输出表示概率
函数具有非常好的对称性
函数对输入超过一定范围就会不敏感
求导容易
扩展: sigmoid函数和tanh函数是研究早期被广泛使用的2种激活函数。两者都为S 型饱和函数。 当sigmoid 函数输入的值趋于正无穷或负无穷时,梯度会趋近零,从而发生梯度弥散现象。sigmoid函数的输出恒为正值,不是以零为中心的,这会导致权值更新时只能朝一个方向更新,从而影响收敛速度。tanh 激活函数是sigmoid 函数的改进版,是以零为中心的对称函数,收敛速度快,不容易出现 loss 值晃动,但是无法解决梯度弥散的问题。2个函数的计算量都是指数级的,计算相对复杂。softsign 函数是 tanh 函数的改进版,为 S 型饱和函数,以零为中心,值域为(−1,1)。
Softmax和Sigmoid,二分类、多分类、多标签分类关系
softmax可以用在多分类,sigmoid可以用来二分类处理, 多标签分类是多个二分类,可以采用多个sigmoid函数实现。
注意:
多分类中,各个类别之间是互斥的,意思是,你要将一个样本分类到n个类别中的其中1个
多标签分类,是将样本分类到n个类别中的多个
二分类就不用说了
参考链接
https://www.zhihu.com/question/23765351
https://blog.csdn.net/bitcarmanlee/article/details/82320853
https://baike.baidu.com/item/softmax%20%E9%80%BB%E8%BE%91%E5%9B%9E%E5%BD%92/22689563?fr=aladdin
https://www.cnblogs.com/zongfa/p/8971213.html
https://baike.baidu.com/item/Sigmoid%E5%87%BD%E6%95%B0/7981407?fr=aladdin
https://www.cnblogs.com/CZiFan/p/9855147.html
https://www.jianshu.com/p/506595ec4b58