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等激活函数相关推荐

  1. 【学习经验分享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 ...

  2. Python画Sigmoid、Relu、Softmax、Tanh、Leaky relu等函数(1)

    看鱼书有感,记录一下: 批处理的好处及小批量概念(2) Python(Numpy)实现均方差.交叉熵损失函数等(3) 纯Python实现:函数求导切线图.求偏导.梯度下降法(4) 纯Python实现反 ...

  3. 三种激活函数——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} ...

  4. 常用的激活函数汇总-Sigmoid, tanh, relu, elu

    激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...

  5. 激活函数总结sigmoid,tanh,relu,Leaky ReLU,RRelu,ELU,PRelu,SELU,swish

    本文总结深度学习的损失函数及其优缺点. 激活函数是深度学习模型的重要成分,目的是将线性输入转换为非线性.常见的激活函数有sigmoid,tanh,ReLU等 1.sigmoid Sigmoid 非线性 ...

  6. 【Pytorch神经网络理论篇】 07 激活函数+Sigmoid+tanh+ReLU+Swish+Mish+GELU

    ①激活函数:主要通过加入非线性因素,你不线性模型表达能力不足的缺陷,因为神经网络中的数学基础是处处可微分的函数,故要求激活函数也应该保证数据的输入与输出是可微分. ②激活函数可以分为饱和激活函数与不饱 ...

  7. 常见激活函数持续更新)sigmoid Tanh Relu Leaky-ReLU RReLU

     激活函数是来向神经网络中引入非线性因素的,通过激活函数,神经网络就可以拟合各种曲线. sigmoid 公式: 函数图像:  Sigmoid函数也叫 Logistic 函数,用于隐层神经元输出,取值范 ...

  8. 深度学习- 激活函数总结(Sigmoid, Tanh, Relu, leaky Relu, PReLU, Maxout, ELU, Softmax,交叉熵函数)

    激活函数是用来加入非线性因素的,解决线性模型所不能解决的问题 激活函数通常有以下性质 – 非线性 – 可微性 – 单调性 –

  9. 【深度学习】激活函数:原理+常见激活函数(Sigmoid\Tanh\ReLU\Leaky ReLU\Softmax)

    首先需要知道为什么要引入激活函数:激活函数是用来加入非线性因素的,因为线性模型的表达能力不够.引入非线性激活函数,可使深层神经网络的表达能力更加强大. 在深度学习中,线性模型只需要简单的全连接层就能实 ...

最新文章

  1. STM32F103C8开发板原理图和管脚图
  2. MindMotion MM32 单片机上的MicroPython移植-PWM
  3. vs2013中的error c4996的问题
  4. 011 数据结构逆向—二叉树
  5. HTML5按键打开摄像头和拍照
  6. mysql2表连接优化性能_MySQL性能优化方法二:表结构优化
  7. java web 机试_java web 机试
  8. 全国大学生数学建模2016年A题系泊系统的设计论文与代码
  9. 使用Bus Hound抓USB转串口数据包,助力问题分析
  10. arm-linux 交叉编译toolchain
  11. windows server 2012 AD 活动目录部署系列(三)加入域并创建域用户
  12. 奇葩算法系列——猴子排序
  13. Fluxion安装教程
  14. RS232实现串口双向通讯
  15. 大熊猫源致病大肠杆菌CCHTP全基因组测序及耐药和毒力基因分析
  16. python混淆矩阵,详解使用python绘制混淆矩阵(confusion_matrix)
  17. 简单而有韵味,让你get最浪漫的表白编程代码大全
  18. Redis: Redis的主从复制(Master/Slave),一主二仆,薪火相传,反客为主,哨兵模式sentinel
  19. C语言程序设计教程(第三版)李凤霞 第一章课后习题答案
  20. lombok中的builder注解居然是一种设计模式:让我们了解一下超级实用的“建造者模式”吧

热门文章

  1. win32游戏编程——贪吃蛇游戏
  2. IDEA中将springboot项目改新名字
  3. java游戏boss是冰龙_炉石传说冒险模式冰龙区BOSS克尔苏加德打法攻略
  4. 微信小程序聊天室+websocket+文件上传(发送图片)
  5. Nuke合成小插件 Comp_ys
  6. 抖音老运营不会告诉你的6个抖音黑科技工具
  7. 【JY】《公路桥梁抗震性能评价细则》宣贯PPT
  8. 2018-2-13-win10-uwp-入门
  9. Kafka 3.0新版本差异
  10. ACS运动控制:轨迹拐点、曲率不连续点