前言
深度学习是机器学习的一个子集,区别在于是否包含特征工程.由输入层,输出层,隐藏层三部分构成.
一、激活函数是什么?
激活函数用于对每层的输出数据进行变换,进而为整个网络注入了非线性因素.此时,神经网络就可以拟合各种曲线.
二、常见的激活函数
1.sigmoid激活函数
1.激活函数公式:
2 激活函数求导公式:
3.激活函数图像
4.特点
sigmoid函数可以将任意的输入和输出映射到0,1之间,当输入的值大致在<-6或者>6时,意味着输入任何值得到的激活值都是差不多的,会丢失信息. 例如:100和10000的激活活值都是1,但输入之间差100倍的信息就丢失了.
在[-3,3 ]区间才会比较有效果.
其导数范围是0-0.25 ,当小于-6或者大于6时,激活函数图像的导数接近为0,此时网络更新即为缓慢.或者无法更新.
在五层之内会产生梯度消失的线性,而且,激活函数并不是以0为中心的,所以一般只用于是否的二分类问题.
2.tanh激活函数
特点:
tanh函数将值映射到(-1,1)之间,图像以0为中心,在0点对称,当输入大概小于-3或者大于3的时候被映射为-1或者1
其导数范围是0,1
当输入大概是在小于-3或者大于3的时候导数为0
一般在隐藏层使用.
3.relu激活函数
特点:
relu激活函数将小于0的映射为0,大于0的保持不变,更加重视正信号,而忽略负信号,运算简单,能提高模型训练效率.
当小于0时,导数为0,当x大于0时,则不存在饱和问题,所以在大于0时,能够保持梯度不衰减,从而缓解梯度消失的问题.然而,随着训练的推进,部分输入会落入小于0的区域,导数对应权重无法更新,成为神经元死亡
4.softmax激活函数
二分类sigmoid在多分类上的推广,目的是将多分类的结果以概率值的形式展示出来.
理解成概率,选取概率最大的,也就是值对应最大的,最为预测目标类别
三、激活函数的选择
隐藏层:
优先选择relu激活函数,使用relu要注意神经元死亡的问题,避免出现大的梯度,从而导致过多的神经元死亡
输出层:
是否二分类问题选择sigmoid激活函数,多分类问题选择softmax激活函数.