神经网络常用的三大激活函数sigmoid函数、tanh函数、relu函数对比讲解

在我们学习神经网络的时候经常要用到激活函数,但是我们对于为什么要使用这一个,它们之间的区别和优缺点各是什么不太了解。下面,我们来详细说一说这三个激活函数。

- sigmoid函数

sigmoid函数也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。在特征相差比较复杂或是相差不是特别大时效果比较好。
其函数表达式是:
在这里插入图片描述
其图像为:
在这里插入图片描述
从图像中我们可以看淡,这个图片是单调递增,其横坐标趋近于无穷小的时候,值趋近于0,其横坐标趋近于无穷大的时候,其值趋近于1.整体来看,各个点的斜率不是很大。

- tanh函数

tanh函数公式:
在这里插入图片描述
tanh函数图像:
在这里插入图片描述
从图像中,我们可以看出,它是个奇函数,当横坐标趋近于正无穷和负无穷大的时候,值趋近于1和-1.并且其斜率相对sigmoid函数要更大一些。

- relu函数

relu函数是目前最受欢迎的激活函数,其函数表达式为:
在这里插入图片描述
其函数图像如下:
在这里插入图片描述

硬饱和和软饱和?
软饱和是指激活函数h(x)取值趋近于无穷大时,它的一阶导数趋近于0.
硬饱和是指x的绝对值大于某一常数时,其函数h(x)的一阶导数为0

根据这个概念我们可以看出sigmoid函数和tanh函数具有软饱和性质,
relu函数具有硬饱和性质。

这就会造成一个问题,当在进行参数训练时,一旦输入落入饱和区,其函数的导数就会趋近于0或者等于0,这就无法为模型的训练和更新做出贡献。

如何选择合适的激活函数?

首先需要说的是,目前神经网络中,使用频率最高的就是relu激活函数,其次是tanh函数。
其次,当输入数据的特征相差明显的时候,使用tanh函数,当输入数据的特征相差不明显的时候,使用sigmoid函数。

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值