深度学习激活函数代码实现:Sigmoid与Tanh
需积分: 12 79 浏览量
更新于2024-09-02
2
收藏 26KB DOCX 举报
"该资源包含了深度学习中常用的激活函数的Python代码实现,包括sigmoid和tanh函数,并通过matplotlib库绘制了它们的图形。"
在深度学习中,激活函数是神经网络的重要组成部分,它们引入非线性,使得网络能够学习更复杂的特征。本资源主要讨论了两个经典的激活函数:sigmoid和tanh。
1. **Sigmoid函数**
Sigmoid函数常用于二分类问题,其数学形式为:\( f(x) = \frac{1}{1 + e^{-x}} \)。它将输入映射到(0,1)之间,输出接近0或1时可以看作是概率值。Sigmoid的一个特点是其输出值的梯度在饱和区(接近0或1)会变得非常小,这可能导致训练过程中的梯度消失问题,从而影响模型的训练效果。
代码中,使用`matplotlib`和`mpl_toolkits.axisartist`库创建了一个没有常规坐标轴的图形,然后通过`new_floating_axis`方法添加了自定义的坐标轴,并设置了箭头样式。接着,利用`numpy`计算了sigmoid函数的值,并将结果与x轴坐标一起绘制为红色曲线,最后保存为"sigmoid.png"。
2. **Tanh函数**
Tanh函数全称双曲正切函数,它的表达式为:\( f(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \),其输出范围在-1到1之间。相比Sigmoid,tanh函数在饱和区的梯度更大,因此通常能提供更好的训练效果,特别是在隐藏层中。
同样地,tanh函数的代码也使用了相同的绘图方式,但调整了图形的尺寸和坐标轴的范围。计算出的tanh函数值被绘制为图形,颜色未在代码中指定,假设为默认颜色。最后,图像同样会被保存,文件名可能为"tanh.png"。
激活函数的选择对深度学习模型的性能有很大影响。除了sigmoid和tanh,还有ReLU(Rectified Linear Unit)、Leaky ReLU、ELU(Exponential Linear Units)等其他激活函数,它们各有优缺点,适用于不同的场景。例如,ReLU因其简单和高效的特性,在深度神经网络中广泛使用,但其也会遇到梯度消失问题;而ELU和Leaky ReLU则试图解决这个问题,通过引入一个非零的小斜率来缓解饱和区的梯度消失。
理解和选择合适的激活函数是深度学习模型设计的关键步骤之一,而这个资源提供了一个很好的起点,帮助初学者直观地理解这些函数的形状和行为。
2020-12-21 上传
2021-10-11 上传
220 浏览量
2020-01-08 上传
2022-11-05 上传
2022-06-14 上传
2019-06-23 上传
太陽の女神
- 粉丝: 0
- 资源: 2
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器