函数ℎ(x)会将输入信号的总和转换为输出信号,这种函数一般称为激活函数 (activation function)。

激活函数的作用在于决定如何来激活输入信号的总和。

一、阶跃函数

感知机使用的激活函数为阶跃函数,阶跃函数的实现如下:

主要功能代码:

注:不能简单使用if else语句实现,因为函数不能接受数组类型,如:

整体代码

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
def jy(X):y=X > 0return y.astype(np.int)
X=np.arange(-5.0,5.0,0.1)
Y=jy(X)
plt.plot(X,Y,color='indianred')
#设置X轴标签
plt.xlabel('X坐标')
#设置Y轴标签
plt.ylabel('Y坐标')
plt.title('阶跃函数图像')
plt.show()

效果

二、sigmoid函数

神经网络中经常使用的一个激活函数就是sigmoid函数

感知机和神经网络的主要区别就在于这个激活函数。其他方面,比如神经元的多层连接 的构造、信号的传递方法等,基本上和感知机是一样的。

整体代码

import matplotlib.pyplot as plt
import numpy as np
#处理中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
X=np.arange(-5.0,5.0,0.1)
def sigmoid(X):return 1/(1+np.exp(-X))
Y=sigmoid(X)
plt.plot(X,Y,color='indianred')
#设置X轴标签
plt.xlabel('X坐标')
#设置Y轴标签
plt.ylabel('Y坐标')
plt.title('sigmoid函数图像')
plt.show()

三、relu函数

在神经网络发展的历史上,sigmoid函数很早就开始被使用了,而最近则主要使用ReLU (Rectified Linear Unit)函数

整体代码

import matplotlib.pyplot as plt
import numpy as np
#处理中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
X=np.arange(-5.0,5.0,0.1)
def relu(X):return np.maximum(0,X)
Y=sigmoid(X)
plt.plot(X,Y,color='indianred')
#设置X轴标签
plt.xlabel('X坐标')
#设置Y轴标签
plt.ylabel('Y坐标')
plt.title('sigmoid函数图像')
plt.show()

阶跃函数、sigmoid函数、relu函数实现相关推荐

  1. 神经网络常用的三大激活函数sigmoid函数、tanh函数、relu函数对比讲解

    在我们学习神经网络的时候经常要用到激活函数,但是我们对于为什么要使用这一个,它们之间的区别和优缺点各是什么不太了解.下面,我们来详细说一说这三个激活函数. - sigmoid函数 sigmoid函数也 ...

  2. sigmoid函数,tanh函数,relu函数,softmax函数

    sigmoid函数 数学表达式: f(z)=1/(1+e**-z) Sigmoid 函数的输出范围是 0 到 1.由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化: 用于将预测概率作 ...

  3. 关于卷积神经网络的案例以及ReLU函数

    案例1--简单黑白边界检测 下面是使用Conv2D算子完成一个图像边界检测的任务.图像左边为光亮部分,右边为黑暗部分,需要检测出光亮跟黑暗的分界处. 设置宽度方向的卷积核为[1,0,−1][1, 0, ...

  4. 激活函数之ReLU函数

    0 前言 激活函数的引入是为了增加神经网络模型的非线性,没有激活函数每层就相当于矩阵相乘.每一层输出都是上层的输入的线性函数,无论神经网络多少层,输出都是输入的线性组合,就是最原始的感知机 加入激活函 ...

  5. 3 神经网络基础(阶跃、sigmoid、relu激活函数的代码实现)

    目录 1. 输入权重计算 2.与门的实现 3.非门的实现 4.或门的实现 5.感知机可以实现与.或.非门的逻辑 6.阶跃函数的实现 7.sigmoid 函数的实现 8.阶跃函数和sigmoid函数相比 ...

  6. 常用的激活函数sigmoid,relu,tanh

    1.什么是激活函数? 在神经网络中,我们经常可以看到对于某一个隐藏层的节点,该节点的激活值计算一般分为两部: (1)输入该节点的值为x1,x2时,在进入这个隐藏节点后,会先进行一个线性变换,计算出值z ...

  7. 机器学习入门(03)— 激活函数分类(阶跃函数和 sigmoid 函数的理论、实现、显示以及区别、非线性函数、ReLU 函数、tanh 函数)

    各种激活函数介绍,请参考下面链接: https://en.wikipedia.org/wiki/Activation_function 1. 阶跃函数 1.1 理论 式(3.3)表示的激活函数以阈值为 ...

  8. 激活函数:阶跃函数,sigmoid函数,ReLU函数

    激活函数 首先看一下感知机的数学表达式,b是被称为偏置的参数,用于控制神经元被激活的容易程度:而w1和w2是表示各个信号的权重的参数,用于控制各个信号的重要性. 引入一个新函数h(x),将上式改成: ...

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

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

最新文章

  1. php登录失败后,php – X尝试失败后阻止登录
  2. 影像组学视频学习笔记(33)-使用SimpleITK实现医学影像差值、Li‘s have a solution and plan.
  3. datagrid行内编辑时为datetimebox
  4. 根据端口不同来切换站点_KVM切换器是什么,看懂这一篇就够
  5. java有链表吗_Java数据结构之链表(Linked List)
  6. javafx 表格列拖拉_JavaFX技巧22:“自动调整大小(树)”表列
  7. 【MyBatis框架】SqlMapConfigl配置文件之常用的setting设置
  8. 5款最适合 Windows 命令行/控制台的替代品
  9. VB.NET 按键代码 及组合键
  10. charles抓包工具使用及手机抓包教程
  11. c语言源程序注释说明只能,C语言选择题
  12. MSP430+CC2500低功耗注意细节
  13. c语言对整形indexing,C语言运算符另类分类法
  14. 树莓派能否替代linux开发板,12 个可替代树莓派的单板机 | Linux 中国
  15. 邮件服务器域名怎么查看,如何查看企业邮箱是哪里的域名
  16. Ubuntu 开机时间
  17. 黑客搜索大法(Google Hacking)
  18. MySql的一些常见笔试题(1)
  19. ppt6计算机考试,全国计算机考试第6章 过程.ppt
  20. 阿里最受追捧的「中高级技术核心」,助我拿下菜网offer,附面经

热门文章

  1. 好脾气坏脾气,职场上谁走的更远?
  2. 计算光学成像(COI)实验室技能——matlab控制thorlabs位移平台(ActiveX控件)
  3. 工信部印发5G+工业互联网推进方案
  4. JMU20数据库复习自用
  5. 基于大数据平台开发工作总结
  6. “三个成语”揭开瞻博网络的创新密码
  7. Linux安装svn操作步骤
  8. vipJr“小学语文博雅课程”上线,拓展孩子的人文视野
  9. 无源蜂鸣器启动演奏曲子(理解)
  10. Python functools详解