在学习机器学习过程中,激活函数是随处可见。下面为常见三种激活函数的笔记:
1. Sigmoid
Sigmoid 是使用范围最广的一类激活函数,具有指数函数形状 。
Sigmoid函数实际上就是把数据映射到一个(0,1)的空间上,也就是说,Sigmoid函数如果用来分类的话,只能进行二分类。正式定义为:
2.Tanh
Tanh函数可以看作是2* sigmoid(2x) -1,所以它的区间是(-1,1)。
Tanh函数相比于Sigmoid函数往往更具有优越性,这主要是因为Sigmoid函数在输入处于(0,1)之间时,函数值变化敏感,一旦接近或者超出区间就失去敏感性,处于饱和状态,影响神经网络预测的精度值。
而tanh的输出和输入能够保持非线性单调上升和下降关系,符合BP网络的梯度求解,容错性好,有界,渐进于0、1,符合人脑神经饱和的规律,但比sigmoid函数延迟了饱和期。Tanh也用于二分类。
3. softmax
通过softmax函数,可以使得P(i)的范围在[0,1]之间。在回归和分类问题中,通常θ是待求参数,通过寻找使得P(i)最大的θi作为最佳参数。
用通信的术语来讲,如果Sigmoid函数是MISO,Softmax就是MIMO的Sigmoid函数。
softmax的应用主要有multiclass regression/softmax regression, 也有神经网络用softmax来当最后一层的激活函数来达到分类的功能(且能模拟出每个类的概率)。
sigmoid将一个real value映射到(0,1)的区间(当然也可以是(-1,1)),这样可以用来做二分类。
而softmax把一个k维的real value向量(a1,a2,a3,a4….)映射成一个(b1,b2,b3,b4….)其中bi是一个0-1的常数,然后可以根据bi的大小来进行多分类的任务,如取权重最大的一维。