Sigmoid、rula、tanh激活函数(python实现)

目录

一、定义

1.1 激活函数定义

1.2Sigmoid函数

1.3 Tanh / 双曲正切激活函数

1.4  ReLU 激活函数

二、代码 

三、结

一、定义

1.1 激活函数定义

激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,激活函数最终决定了要发射给下一个神经元的内容。

在人工神经网络中,一个节点的激活函数定义了该节点在给定的输入或输入集合下的输出。标准的计算机芯片电路可以看作是根据输入得到开(1)或关(0)输出的数字电路激活函数。因此,激活函数是确定神经网络输出的数学方程式,本文概述了深度学习中常见的十种激活函数及其优缺点。

1.2Sigmoid函数

Sigmoid 函数的图像看起来像一个 S 形曲线。

函数表达式如下:

在什么情况下适合使用 Sigmoid 激活函数呢?

  • Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化;
  • 用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适;
  • 梯度平滑,避免「跳跃」的输出值;
  • 函数是可微的。这意味着可以找到任意两个点的 sigmoid 曲线的斜率;
  • 明确的预测,即非常接近 1 或 0。

Sigmoid 激活函数有哪些缺点?

  • 倾向于梯度消失;
  • 函数输出不是以 0 为中心的,这会降低权重更新的效率;
  • Sigmoid 函数执行指数运算,计算机运行得较慢。

1.3 Tanh / 双曲正切激活函数

 

tanh 激活函数的图像也是 S 形,表达式如下:

tanh 是一个双曲正切函数。tanh 函数和 sigmoid 函数的曲线相对相似。但是它比 sigmoid 函数更有一些优势。

首先,当输入较大或较小时,输出几乎是平滑的并且梯度较小,这不利于权重更新。二者的区别在于输出间隔,tanh 的输出间隔为 1,并且整个函数以 0 为中心,比 sigmoid 函数更好;

  • 在 tanh 图中,负输入将被强映射为负,而零输入被映射为接近零。

注意:在一般的二元分类问题中,tanh 函数用于隐藏层,而 sigmoid 函数用于输出层,但这并不是固定的,需要根据特定问题进行调整。

1.4  ReLU 激活函数

ReLU 激活函数图=函数表达式如下:

ReLU 函数是深度学习中较为流行的一种激活函数,相比于 sigmoid 函数和 tanh 函数,它具有如下优点:

  • 当输入为正时,不存在梯度饱和问题。
  • 计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。

当然,它也有缺点:

  1. Dead ReLU 问题。当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题;
  2. 我们发现 ReLU 函数的输出为 0 或正数,这意味着 ReLU 函数不是以 0 为中心的函数。

 

二、代码 

#导入模块
import numpy as np
import matplotlib.pyplot as plt

#生成数据

x = np.linspace(-5,5,500)  #numpy.linspace()函数用于在线性空间中以均匀步长生成数字序列。

#定义函数
def sigm(x):
    return  1/(1+np.exp(-x))

sigmoid = sigm(x)
tanh = np.tanh(x)
relu = np.maximum(x,0)
#ReLU激活函数的提出就是为了解决梯度消失问题。
## ReLU的梯度只可以取两个值:0或1,当输入小于0时,梯度为0;当输入大于0时,梯度为x。

#draw all funcations

plt.plot(x,sigmoid,label='sigmoid')
plt.plot(x,tanh,label = 'tanh')
plt.plot(x,relu,label = 'relu')
plt.legend(loc = 'best')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(-5,5)
plt.ylim(-1,2)
plt.show()

三、结果

 转自:激活函数 | 深度学习领域最常用的10个激活函数,详解数学原理及优缺点 - 云+社区 - 腾讯云 (tencent.com)icon-default.png?t=M276https://cloud.tencent.com/developer/article/1800954

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值