在深度学习的研究中,我们经常需要知道激活函数(阶跃函数)的图像,以此判断该神经网络的阈值,并更好的去对权重进行调整。但对于某些复杂的复合函数而言,我们非常困难手画出它的函数图像,这样不仅费时费力,而且所得函数图像结果还不一定准确。这里我们就可以借助 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 库,在限定横坐标范围以及步长,以及将该函数方程式赋值给纵坐标后,进行绘制即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐