[小白系列]sigmoid和tanh激活函数的绘制(分开画,合起来画,总有一款适合你),逐行代码详解

在这里插入图片描述

第一种:分开来画

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['axes.unicode_minus'] = False
def sigmoid(x):
    return 1.0/(1.0+np.exp(-x))
def tanh(x):
    return (np.exp(x) - np.exp(-x))/(np.exp(x)+np.exp(-x))
x = np.linspace(-8,8)

fig = plt.figure(figsize = (12,4))
ax1 = plt.subplot(121)
ax1.spines['top'].set_color('none')
ax1.spines['left'].set_color('none')
ax1.spines['bottom'].set_position(('data',0))
ax1.spines['right'].set_position(('data',-8))
ax1.set_xticks(range(-8,10,2))
ax1.set_yticks(np.linspace(0,1,6))
plt.plot(x,sigmoid(x),label = 'Sigmoid',color ='blue')
plt.legend()

ax2 = plt.subplot(122)
ax2.spines['top'].set_color('none')
ax2.spines['left'].set_color('none')
ax2.spines['bottom'].set_position(('data',0))
ax2.spines['right'].set_position(('data',0))
ax2.set_xticks(range(-8,10,2))
ax2.set_yticks(np.linspace(-1,1,11))
plt.plot(x,tanh(x),label = 'Tanh',color = 'red')
plt.legend()

plt.show()
plt.savefig('picture.png')

在这里插入图片描述

第二种:合起来画

import matplotlib.pyplot as plt
import numpy as np
mpl.rcParams['axes.unicode_minus']=False
 
def  sigmoid(x):
    return 1.0 / (1.0 + np.exp(-x))

x = np.linspace(-10, 10)
y = sigmoid(x)
tanh = 2*sigmoid(2*x) - 1 # 此处用了数学推导

fig = plt.figure(figsize=(6,4))
ax = fig.add_subplot(111)

# 设置右边框和上边框是否显示
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none') 

# 设置x坐标轴为下边框 ,y轴为左边框
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')

# 设置x轴, y轴在(0, 0)的位置
# 指定data 设置的bottom(也就是指定的x轴)绑定到y轴的0这个点上
ax.spines['bottom'].set_position(('data',0))  # 指定data 设置的bottom(也就是指定的x轴)绑定到y轴的0这个点上
ax.spines['left'].set_position(('data',0))

plt.xlim(-8,8)
plt.ylim(-1.1,1.1)

# 设置想x,y坐标轴刻度及标签
ax.set_xticks(range(-8,10,2))
ax.set_yticks(np.linspace(-1,1,11))
     

plt.plot(x,y,label="Sigmoid",color = "blue")
plt.plot(2*x,tanh,label="Tanh", color = "red")
plt.legend()
plt.savefig("picture.png")

在这里插入图片描述
更加复杂内容请点击

发布了42 篇原创文章 · 获赞 28 · 访问量 4961

猜你喜欢

转载自blog.csdn.net/KaelCui/article/details/105416016