深度学习激活函数代码实现:Sigmoid与Tanh
需积分: 12 60 浏览量
更新于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 上传
2020-01-08 上传
218 浏览量
2022-11-05 上传
2022-06-14 上传
2019-06-23 上传
太陽の女神
- 粉丝: 0
- 资源: 2
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析