from matplotlib import pyplot as plt
import numpy as np
定义Sigmoid函数及其倒数
def sigmoid(x):
"""sigmoid函数"""
return 1 / (1 + np.exp(-x))
def dx_sigmoid(x):
"""sigmoid函数的导数"""
return sigmoid(x) * (1 - sigmoid(x))
绘制Sigmoid函数sigmoid(x)
if __name__ == '__main__':
x = np.arange(-10, 10, 0.01)
fx = sigmoid(x)
dx_fx = dx_sigmoid(x)
# ---------------------------------------------
ax = plt.gca() # 得到图像的Axes对象
ax.spines['right'].set_color('none') # 将图像右边的轴设为透明
ax.spines['top'].set_color('none') # 将图像上面的轴设为透明
ax.xaxis.set_ticks_position('bottom') # 将x轴刻度设在下面的坐标轴上
ax.yaxis.set_ticks_position('left') # 将y轴刻度设在左边的坐标轴上
ax.spines['bottom'].set_position(('data', 0)) # 将两个坐标轴的位置设在数据点原点
ax.spines['left'].set_position(('data', 0))
plt.title('Sigmoid Function')
plt.xlabel('x')
plt.ylabel('fx')
plt.plot(x, fx)
plt.show()
绘制Sigmoid的倒数 dx_sigmoid(x)
ax = plt.gca() # 得到图像的Axes对象
ax.spines['right'].set_color('none') # 将图像右边的轴设为透明
ax.spines['top'].set_color('none') # 将图像上面的轴设为透明
ax.xaxis.set_ticks_position('bottom') # 将x轴刻度设在下面的坐标轴上
ax.yaxis.set_ticks_position('left') # 将y轴刻度设在左边的坐标轴上
ax.spines['bottom'].set_position(('data', 0)) # 将两个坐标轴的位置设在数据点原点
ax.spines['left'].set_position(('data', 0))
plt.title('Derivative of Sigmoid Function')
plt.xlabel('x')
plt.ylabel('dx_fx')
plt.plot(x, dx_fx)
plt.show()
就可以得到图啦