python 画sigmoid、tanh、relu和ELU等激活函数
1、前言
写毕业论文时候画了激活函数的函数图,也是参考别人的代码做的,我将格式统一了一些,现在分享出来。
2、代码
2.1 sigmoid和tanh
import math
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams['axes.unicode_minus'] = Falsedef sigmoid(x):result = 1/(1+math.e**(-x))return resultfig = plt.figure(figsize=(10,4))
ax = fig.add_subplot(121)
x = np.linspace(-10,10)
y = sigmoid(x)ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.set_xticks([-10,-5,0,5,10])
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
ax.set_yticks([-1,-0.5,0.5,1]) plt.plot(x,y,label = "Sigmoid",linestyle='-',color='blue')
plt.legend()def tanh(x):#result = np.exp(x)-np.exp(-x)/np.exp(x)+np.exp(-x)result = (math.e**(x) - math.e**(-x)) / (math.e**(x) + math.e**(-x))return resultax = fig.add_subplot(122)
x = np.linspace(-10,10)
y = tanh(x)ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0)) ax.set_xticks([-10,-5,0,5,10])
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
ax.set_yticks([-1,-0.5,0.5,1]) plt.plot(x,y,label = "Tanh",linestyle='-',color='blue')
plt.legend()
plt.savefig('sigmoid and tanh.png',dpi=200)
2.2 relu和ELU
import math
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
mpl.rcParams['axes.unicode_minus'] = Falsedef relu(x):result=np.maximum(0,x)return resultfig = plt.figure(figsize=(10,4))
ax = fig.add_subplot(121)
x = np.linspace(-10,10)
y = relu(x)ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.set_xticks([-10,-5,0,5,10])
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
ax.set_yticks([5,10]) plt.plot(x,y,label = "Relu",linestyle='-',color='blue')
plt.legend()def elu(x,alpha=1):a = x[x>0]b = alpha*(math.e**(x[x<0])-1)result=np.concatenate((b,a),axis=0)return resultax = fig.add_subplot(122)
x = np.linspace(-10,10)
y = elu(x)ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none') ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.set_xticks([-10,-5,0,5,10])
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
ax.set_yticks([5,10]) plt.plot(x,y,label = "ELU alpha=1",linestyle='-',color='blue')
plt.legend()
plt.savefig('Relu an ELU.png',dpi=200)
3、结果:
python 画sigmoid、tanh、relu和ELU等激活函数相关推荐
- 【学习经验分享NO.16】超全代码-python画Sigmoid,ReLU,Tanh等十多种激活函数曲线及其梯度曲线(持续更新)
文章目录 前言 1. Sigmoid 2. tanh 3. ReLU 4. Leaky ReLU 5. ELU 6.PReLU 7. Softmax 8. Swish 9. Maxout 10. So ...
- Python画Sigmoid、Relu、Softmax、Tanh、Leaky relu等函数(1)
看鱼书有感,记录一下: 批处理的好处及小批量概念(2) Python(Numpy)实现均方差.交叉熵损失函数等(3) 纯Python实现:函数求导切线图.求偏导.梯度下降法(4) 纯Python实现反 ...
- 三种激活函数——Sigmoid,Tanh, ReLU以及卷积感受野的计算
1. 三种激活函数--Sigmoid, Tanh, ReLU 1.1 Sigmoid 1.1.1 公式 S ( x ) = 1 1 + e − x S(x) = \frac{1}{1 + e^{-x} ...
- 常用的激活函数汇总-Sigmoid, tanh, relu, elu
激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...
- 激活函数总结sigmoid,tanh,relu,Leaky ReLU,RRelu,ELU,PRelu,SELU,swish
本文总结深度学习的损失函数及其优缺点. 激活函数是深度学习模型的重要成分,目的是将线性输入转换为非线性.常见的激活函数有sigmoid,tanh,ReLU等 1.sigmoid Sigmoid 非线性 ...
- 【Pytorch神经网络理论篇】 07 激活函数+Sigmoid+tanh+ReLU+Swish+Mish+GELU
①激活函数:主要通过加入非线性因素,你不线性模型表达能力不足的缺陷,因为神经网络中的数学基础是处处可微分的函数,故要求激活函数也应该保证数据的输入与输出是可微分. ②激活函数可以分为饱和激活函数与不饱 ...
- 常见激活函数持续更新)sigmoid Tanh Relu Leaky-ReLU RReLU
激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线. sigmoid 公式: 函数图像: Sigmoid函数也叫 Logistic 函数,用于隐层神经元输出,取值范 ...
- 深度学习- 激活函数总结(Sigmoid, Tanh, Relu, leaky Relu, PReLU, Maxout, ELU, Softmax,交叉熵函数)
激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题 激活函数通常有以下性质 – 非线性 – 可微性 – 单调性 –
- 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)
首先需要知道为什么要引入激活函数:激活函数是用来加入非线性因素的,因为线性模型的表达能力不够.引入非线性激活函数,可使深层神经网络的表达能力更加强大. 在深度学习中,线性模型只需要简单的全连接层就能实 ...
最新文章
- STM32F103C8开发板原理图和管脚图
- MindMotion MM32 单片机上的MicroPython移植-PWM
- vs2013中的error c4996的问题
- 011 数据结构逆向—二叉树
- HTML5按键打开摄像头和拍照
- mysql2表连接优化性能_MySQL性能优化方法二:表结构优化
- java web 机试_java web 机试
- 全国大学生数学建模2016年A题系泊系统的设计论文与代码
- 使用Bus Hound抓USB转串口数据包,助力问题分析
- arm-linux 交叉编译toolchain
- windows server 2012 AD 活动目录部署系列(三)加入域并创建域用户
- 奇葩算法系列——猴子排序
- Fluxion安装教程
- RS232实现串口双向通讯
- 大熊猫源致病大肠杆菌CCHTP全基因组测序及耐药和毒力基因分析
- python混淆矩阵,详解使用python绘制混淆矩阵(confusion_matrix)
- 简单而有韵味,让你get最浪漫的表白编程代码大全
- Redis: Redis的主从复制(Master/Slave),一主二仆,薪火相传,反客为主,哨兵模式sentinel
- C语言程序设计教程(第三版)李凤霞 第一章课后习题答案
- lombok中的builder注解居然是一种设计模式:让我们了解一下超级实用的“建造者模式”吧