栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

阶跃函数、sigmoid函数、relu函数实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

阶跃函数、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 > 0
    return 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()

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753650.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号