【机器学习】激活函数

参考

华为云学院

sigmoid函数

在这里插入图片描述
在这里插入图片描述

sigmoid函数的值域是(0,1),在远离中心点的位置,斜率会接近于0。随着反向传播层数的增多(大概是5层),会出现“梯度消失”的现象。也可以称作“失去敏感性”,“处于饱和状态”。

tanh函数

在这里插入图片描述
在这里插入图片描述
tanh函数取值在(-1,1)之间,跟sigmoid函数有相同的问题,就是在远离中心点的地方斜率接近于0,会出现“梯度消失”现象。但是tanh在训练过程的效率比sigmoid要好,因为sigmoid值域是(0,1),梯度值一直为同一个符号,容易出现“震荡现象”(zigzag)。

ReLU函数

在这里插入图片描述
ReLU也叫做线性整流单元。由于在x>0时,导数为1,所以在反向传播过程中,不会因为导数的连乘,而让梯度变得非常小,从而可以有效避免“梯度消失的问题”。但是ReLU会导致一个“神经元死亡”的问题,详情可参考https://www.zhihu.com/question/67151971。可以对ReLU进行优化,比如:Leaky ReLU,ELU,softplus,这些优化都基于ReLU非激活状态的基础上,加上了一个比较缓和的梯度。避免导数为0的情况。此外由于x=0处,ReLU不够平滑,所以可能不适合处理回归问题。

Softmax

在这里插入图片描述
Softmax的功能是将一个K维的任意实数向量映射成另一个K维的实数向量,具体一些来说,K就是类别数,元素值是样本属于该类别的概率,取值都介于(0,1)之间,所有元素加起来为1。关于softmax、softmax loss、cross entropy的更详细的解释可参考https://blog.csdn.net/u014380165/article/details/77284921。

激活函数设计需要考虑的因素

非线性

神经网络如果没有这些激活函数(非线性部分)的话,无论有多少层,都相当于单层的线性网络。

连续可微性

比如ReLU函数在x=0处没有导数,就需要强制定义。

有界性

有界的激活函数能让训练过程中更稳定

单调性

如果激活函数是“凸”的,说明可以解决“凸函数”的问题。

平滑性

单调平滑的激活函数已被证明了其泛化的效果更好

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值