独家连载 | 常用激活函数讲解

4.4 常用激活函数讲解

神经网络的激活函数其实有很多种,在前面的章节中我们介绍过两种激活函数,sign函数和purelin函数。sign函数也称为符号函数,因为sign(x)中x>0,函数结果为1;sign(x)中x<0,函数结果为-1。purelin函数也称为线性函数,表达式为y=x。这两种激活函数在处理复杂非线性问题的时候都不能得到很好的结果,线性函数的分类边界也是线性的,所以不能区别非线性的复杂边界,比如一条直线不能区分异或问题的两个类别。下面我们介绍几个在BP神经网络中常用的非线性激活函数,sigmoid函数tanh函数softsign函数ReLU函数,使用这些非线性激活函数可以帮助我们解决复杂的非线性问题。

4.4.1 sigmoid函数

sigmoid函数 —— sigmoid函数也称为逻辑函数(logical function),函数的公式为:

函数图像如图4.7所示:

图4.7 sigmoid函数图像

图中我们可以看出函数的取值范围是0-1之间,当x趋向于-∞的时候函数值趋向于0;当x趋向于+∞的时候函数值趋向于1。

4.4.2 tanh函数

tanh函数 —— tanh函数也称为双曲正切函数,函数的公式为:

函数图像如图4.8所示:
图4.8 tanh函数图像

图中我们可以看出函数的取值范围是-1-1之间,当x趋向于-∞的时候函数值趋向于-1;当x趋向于+∞的时候函数值趋向于1。

4.4.3 softsign函数

softsign函数 —— softsign函数的公式为:

函数图像如图4.9所示:
图4.9 softsign函数图像

图中我们可以看出函数的取值范围是-1-1之间,当x趋向于-∞的时候函数值趋向于-1;当x趋向于+∞的时候函数值趋向于1。

我们可以通过图4.10对比一下这三种函数的区别:

它们这三个激活函数都是S形函数,形状相似,只不过sigmoid函数取值范围是0-1之间,tanh函数和softsign函数取值范围是-1-1之间。我们还可以观察到softsign函数相对于tanh函数而言过渡更加平滑,在x等于0附近函数的数值改变更缓慢。

4.4.4ReLU函数

ReLU函数—— ReLU(The Rectified Linear Unit)函数的公式为

函数图像如图4.11所示:
图4.11 ReLU函数图像

当x小于0时,y等于0。当x大于0时,y等于x。ReLU的中文名称是**校正线性单元,**虽然在x小于0时函数是线性的,x大于0时函数也是线性的,但是组合起来之后,函数就具有了非线性的特征。这种非线性的特征是怎么体现的呢,我们可以观察一下下面的一系列图片,首先看到图4.12:
图4.12 使用tanh作为激活函数的分类边界

图4.12使用的是tanh作为激活函数训练出来的分类模型,其实使用sigmoid或者softsign函数也可以得到类似结果。我使用了带有4个隐藏层的神经网训练了出了这个模型,图中有两个类别的数据,并且我们可以观察到一个类似椭圆形的分类边界把两个类别给区分开了。我们再观察图4.13:
图4.13 使用ReLu作为激活函数的分类边界

我使用带有4个隐藏层的神经网络训练出了这个模型。我们发现使用ReLU激活函数得到的分类边界跟使用tanh激活函数得到分类边界是差不多的,并不能看出ReLU函数的特点。同样的一个学习任务和数据,我改变了神经网络的层数,只使用2个隐藏层,依然使用ReLU激活函数得到了图4.14的结果:
图4.14 使用ReLU作为激活函数的分类边界

我们观察图4.14可以得到一些结论:

  • 我们可以发现ReLU激活函数所描绘出来的边界其实是一条一条的直线构成的,不存在曲线。图4.13中的边界看起来像一个椭圆,实际上它也有有一段一段很小的直线构成的。

  • 神经网络的层数会影响模型的拟合效果,层数越多,模型就可以拟合出更复杂的分类边界。

模型的拟合效果其实还跟其他一些因素相关,比如说每一层隐藏层的神经元越多,那么模型的拟合能力也就越强。模型训练的周期越多,模型的拟合能力就越强。关于模型拟合强弱的问题,再后面的章节中我们还会进一步讨论。

另外我们再来看一下ReLU应用于回归预测时的特点,我看一下图4.15和图4.16:
图4.15 使用tanh激活函数训练的回归模型

图4.16 使用ReLU激活函数训练的回归模型

我们发现了跟分类中类似的情况,tanh激活函数得到的回归线是一条曲线,而ReLU激活函数得到的是由一段一段直线构成的回归线。

作者介绍

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qin_bf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值