成都创新互联网站制作重庆分公司

python中如何使用matplotlib模块

这篇文章给大家介绍python中如何使用matplotlib模块,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目网站设计制作、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元集美做网站,已为上家服务,为集美各地企业和个人服务,联系电话:18980820575

常见的激活函数效果图如下:

代码区:

#!E:\anaconda\python.exe

# -*-coding:utf-8 -*-

"""

功能:绘制激活函数 常见的激活函数有sigmoid、tanh、ReLU、eru、leaky ReLU、softmax

时间:2019/10/6

"""

from matplotlib import pyplot as plt

import numpy as np

# 1.sigmoid函数的表达式:f(x) = 1/(1+e^-x)

x = np.linspace(-6,6,200)

def sigmoid(x):

y = 1/(1+np.exp(-x))

return y

# 2.tanh的函数表达式: f(x) = (e^x-e^-x)/(e^x+e-x)

def tanh(x):

y = (np.exp(x) - np.exp(-x))/(np.exp(x) + np.exp(-x))

return y

#3. ReLu 的函数表达式: f(x)= 当x<0 f(x)0 当x>=0 f(x) = x

def ReLU(x):

y = []

for i in x:

if i >= 0:

y.append(i)

else:

y.append(0)

return y

#return np.maximum(x,[0]*100) #可以利用np中的maximum方法表示,也可以用上述方法

#4.elu 的函数表达式 f(x) x>=0 f(x)=x x<0 f(x) =a(e^x -1)

def elu(x,a):

y = []

for i in x:

if i>=0:

y.append(i)

else:

y.append(a*(np.exp(i)-1))

return y

#5.leaky ReLU 的函数表达式 x>=0 f(x)=x x<0 f(x) =0.01x

def LReLU(x):

y = []

for i in x:

if i>=0:

y.append(i)

else:

y.append(0.01*i)

return y

# softmax激活函数 softmax的表达式为:输入信号的指数函数除以所有输入信号的指数和

def softmax(x):

c = np.max(x) #解决溢出问题

exe_x = np.exp(x)

exe_s = np.sum(exe_x)

y = exe_x/exe_s

return y

plt.subplot(1,2,1) #画子图

plt.plot(x,sigmoid(x),c="red",lw="2",label = "sigmiod")

plt.plot(x,tanh(x),c="blue",lw="2",label = "tanh")

plt.plot(x,softmax(x),c="yellow",lw="2",label = "softmax")

plt.gca().spines["bottom"].set_position(("data",0)) #将函数图像移动到x轴(0,0)

plt.gca().spines["left"].set_position(("data",0)) #将函数图形移动到y轴(0,0)

plt.xlabel("x轴",fontproperties="SimHei")

plt.ylabel("y轴",fontproperties="SimHei")

plt.title("激活函数",fontproperties="SimHei")

plt.legend(loc="best")

plt.subplot(1,2,2)

plt.plot(x,ReLU(x),c="blue",lw="2",label="ReLU")

plt.plot(x,elu(x,0.1),c="yellow",lw="2",label="elu")

plt.plot(x,LReLU(x),c="green",lw="2",label="LReLU")

plt.gca().spines["bottom"].set_position(("data",0))

plt.gca().spines["left"].set_position(("data",0))

plt.xlabel("x轴",fontproperties="SimHei")

plt.ylabel("y轴",fontproperties="SimHei")

plt.title("激活函数",fontproperties="SimHei")

plt.legend(loc="best")

plt.show()

**

sigmoid激活函数:

**

优点:1.输出[0,1]之间,利用前向传播

2.连续函数,方便求导

缺点:1.容易产生梯度消失。一般5层以内就会产生梯度消失的现象。

2.输出不是以零为中心

3.大量运算时相当耗时(由于是幂函数)

**

tanh激活函数:

**

优点:1.输出[-1,1]之间,利用前向传播

2.连续函数,方便求导

3.输出以零为中心

缺点:1.容易产生梯度消失。一般5层以内就会产生梯度消失的现象。

2.大量数据运算时相当耗时(由于是幂函数)

**

ReLU激活函数:

**

优点:1.解决了正区间梯度消失问题

2.易于计算

3.收敛速度快

缺点:1.输出不是以零为中心

2.某些神经元不能被激活,导致参数永远不能更新

**无锡人流医院哪家好 http://www.bhnnkyy120.com/

Leaky ReLU激活函数:

**

优点:

1.解决了正区间梯度消失问题

2.易于计算

3.收敛速度快

4.解决了某些神经元不能被激活

缺点:输出不是以零为中心

**

elu激活函数:

**

优点:

1.解决了正区间梯度消失问题

2.易于计算

3.收敛速度快

4.解决了某些神经元不能被激活

5.输出的均值为0

缺点:输出不是以零为中心

softmax激活函数:

**

一般用在分类的输出层作为激活函数

优点:

1.输出在[0,1]之间,可以当初概率

缺点:

在实际问题中,由于幂运算需要时间,而且softmax不会影响各元素的大小,因此输出层的softmax激活函数一般被省略。

关于python中如何使用matplotlib模块就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享名称:python中如何使用matplotlib模块
标题路径:http://cxhlcq.com/article/goeoie.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部