阶跃函数、sigmoid函数、relu函数实现
函数ℎ(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函数实现相关推荐
- 神经网络常用的三大激活函数sigmoid函数、tanh函数、relu函数对比讲解
在我们学习神经网络的时候经常要用到激活函数,但是我们对于为什么要使用这一个,它们之间的区别和优缺点各是什么不太了解.下面,我们来详细说一说这三个激活函数. - sigmoid函数 sigmoid函数也 ...
- sigmoid函数,tanh函数,relu函数,softmax函数
sigmoid函数 数学表达式: f(z)=1/(1+e**-z) Sigmoid 函数的输出范围是 0 到 1.由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化: 用于将预测概率作 ...
- 关于卷积神经网络的案例以及ReLU函数
案例1--简单黑白边界检测 下面是使用Conv2D算子完成一个图像边界检测的任务.图像左边为光亮部分,右边为黑暗部分,需要检测出光亮跟黑暗的分界处. 设置宽度方向的卷积核为[1,0,−1][1, 0, ...
- 激活函数之ReLU函数
0 前言 激活函数的引入是为了增加神经网络模型的非线性,没有激活函数每层就相当于矩阵相乘.每一层输出都是上层的输入的线性函数,无论神经网络多少层,输出都是输入的线性组合,就是最原始的感知机 加入激活函 ...
- 3 神经网络基础(阶跃、sigmoid、relu激活函数的代码实现)
目录 1. 输入权重计算 2.与门的实现 3.非门的实现 4.或门的实现 5.感知机可以实现与.或.非门的逻辑 6.阶跃函数的实现 7.sigmoid 函数的实现 8.阶跃函数和sigmoid函数相比 ...
- 常用的激活函数sigmoid,relu,tanh
1.什么是激活函数? 在神经网络中,我们经常可以看到对于某一个隐藏层的节点,该节点的激活值计算一般分为两部: (1)输入该节点的值为x1,x2时,在进入这个隐藏节点后,会先进行一个线性变换,计算出值z ...
- 机器学习入门(03)— 激活函数分类(阶跃函数和 sigmoid 函数的理论、实现、显示以及区别、非线性函数、ReLU 函数、tanh 函数)
各种激活函数介绍,请参考下面链接: https://en.wikipedia.org/wiki/Activation_function 1. 阶跃函数 1.1 理论 式(3.3)表示的激活函数以阈值为 ...
- 激活函数:阶跃函数,sigmoid函数,ReLU函数
激活函数 首先看一下感知机的数学表达式,b是被称为偏置的参数,用于控制神经元被激活的容易程度:而w1和w2是表示各个信号的权重的参数,用于控制各个信号的重要性. 引入一个新函数h(x),将上式改成: ...
- Python画Sigmoid、Relu、Softmax、Tanh、Leaky relu等函数(1)
看鱼书有感,记录一下: 批处理的好处及小批量概念(2) Python(Numpy)实现均方差.交叉熵损失函数等(3) 纯Python实现:函数求导切线图.求偏导.梯度下降法(4) 纯Python实现反 ...
最新文章
- php登录失败后,php – X尝试失败后阻止登录
- 影像组学视频学习笔记(33)-使用SimpleITK实现医学影像差值、Li‘s have a solution and plan.
- datagrid行内编辑时为datetimebox
- 根据端口不同来切换站点_KVM切换器是什么,看懂这一篇就够
- java有链表吗_Java数据结构之链表(Linked List)
- javafx 表格列拖拉_JavaFX技巧22:“自动调整大小(树)”表列
- 【MyBatis框架】SqlMapConfigl配置文件之常用的setting设置
- 5款最适合 Windows 命令行/控制台的替代品
- VB.NET 按键代码 及组合键
- charles抓包工具使用及手机抓包教程
- c语言源程序注释说明只能,C语言选择题
- MSP430+CC2500低功耗注意细节
- c语言对整形indexing,C语言运算符另类分类法
- 树莓派能否替代linux开发板,12 个可替代树莓派的单板机 | Linux 中国
- 邮件服务器域名怎么查看,如何查看企业邮箱是哪里的域名
- Ubuntu 开机时间
- 黑客搜索大法(Google Hacking)
- MySql的一些常见笔试题(1)
- ppt6计算机考试,全国计算机考试第6章 过程.ppt
- 阿里最受追捧的「中高级技术核心」,助我拿下菜网offer,附面经