[小白系列小白系列]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 # 此处用了数学推导
评论5