文章目录
- 一、什么是激活函数?
- 二、激活函数的种类
- 2.1 Sigmoid
- 2.2 tanh(z)
- 2.3 ReLU
- 2.4 Leaky ReLu
- 2.5 ELU
- 三、激活函数、输出函数的比较
- 3.1 sigmoid和tanh激活函数的区别
- 3.2 sigmoid作为网络中间激活层和输出层的区别
- 3.3 sigmoid输出函数和softmax输出函数的区别
一、什么是激活函数?
激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线。
二、激活函数的种类
2.1 Sigmoid
● 公式
● 示意图
● 改变权重w发生的情况
权重w使得sigmoid函数可以调整其倾斜程度,下面这幅图是当权重变化时,sigmoid函数图形的变化情况:
● 改变偏移量b的情况
下面我们改变偏移量b,它不会改变曲线大体形状,但是改变了数值结果:
2.2 tanh(z)
● 公式
● 图形
2.3 ReLU
● 公式
f(x) = max(0, x)
● 图形
2.4 Leaky ReLu
● 公式
f(x) = max(0.1x, x)
● 图形
2.5 ELU
● 公式
● 图形
三、激活函数、输出函数的比较
3.1 sigmoid和tanh激活函数的区别
- 值域不同,sigmoid值域为(0,1),tanh值域是(-1,1)。
- 导数(梯度)不同,sigmoid的导数最大是0.25,(y*( 1-y) ) ,tanh的导数最大是1, ( 1-(y^2)).
- 作为激活而言,提供的非线性能力不同,tanh的非线性能力要强于sigmoid的非线性能力。
- 作为输出函数,代表的意义不同,经过sigmoid输出的是一个概率值 ,而经过tanh输出的是一个带有方向性的分布值。
3.2 sigmoid作为网络中间激活层和输出层的区别
sigmoid作为网络中间层提供模型的非线性能力,提高模型稳定性。而作为输出层的作用是压缩数据,让输出的实数值变成概率值。
3.3 sigmoid输出函数和softmax输出函数的区别
- softmax输出函数的作用是进行多分类,它将输入的多个实数值转化成一组慨率值,将输入最大的实数转化为最大的概率值,而将其他的实数压缩为更小的概率值,这一组概率值的总和为1。所以这一组概率值之间是有关系的。
- sigmoid输出函数的作用是分类,它只输出一个值,表示的是概率。首先sigmoid输入的是一个实数, 然后输出的时候将这个实数转化为一个概率值,如果概率值趋近于0,表示这个类别, 如果概率趋近于1,表示另个类别。
- 如果在sigmoid输出函数中传入多个实数值, 输出的多个概率结果之间是没有任何关系的。当所要处理的问题是二分类的时候softmax和sigmoid二者之间可以替换。