在深度学习的研究中,我们经常需要知道激活函数(阶跃函数)的图像,以此判断该神经网络的阈值,并更好的去对权重进行调整。但对于某些复杂的复合函数而言,我们非常困难手画出它的函数图像,这样不仅费时费力,而且所得函数图像结果还不一定准确。这里我们就可以借助 Python 中的 numpy、matplotlib 来画出某一函数的大致图像。这里我们以常见的激活函数 —— Sigmoid 函数为例,并且为了不偏离主题,不会对numpy、matplotlib 做过多讲解。
一、Python 绘制 Sigmoid 函数及其导数图像
import numpy as np
import matplotlib.pyplot as plt
# 利用 numpy 实现 Sigmoid 函数
def sigmoid(x):
# x 为输入值
# y = sigmoid(x)
y=1/(1+np.exp(-x))
#dy=y*(1-y) # 若要实现 Sigmod() 的导数图像,打开此处注释,并返回 dy 值即可。
return y
# 利用 matplotlib 来进行画图
def plot_sigmoid():
# param:起点,终点,间距
x = np.arange(-8, 8, 0.2)
y = sigmoid(x)
plt.plot(x, y)
plt.show()
if __name__ == '__main__':
plot_sigmoid()
实现效果:
y = sigmoid(x) 的函数图像:
y = sigmoid(x) 的导数图像:
二、 总结
Python实现绘制函数图像其实非常简单,总共是两个步骤。① 利用 numpy 库实现需要绘制的具体函数方程式;② 利用 matplotlib 库,在限定横坐标范围以及步长,以及将该函数方程式赋值给纵坐标后,进行绘制即可。