引入了一个新概念叫阶跃函数,阶跃函数以0为界,输出从0切换为1(或者从1切换为0),它的值呈阶梯式变化,所以称为阶跃函数。
它的图形代码就是:
import numpy as np
import matplotlib.pylab as plt
def step_function(x):
return np.array(x > 0, dtype=np.int)
x = np.arange(-5.0, 5.0, 0.1)
y = step_function(x)
plt.plot(x, y)
plt.ylim(-0.1, 1.1) # 指定y轴的范围
plt.show()
np.arange(-5.0, 5.0, 0.1)在-5.0到5.0的范围内,以0.1为单位,生成NumPy数组([-5.0, -4.9, , 4.9])。step_function()以该NumPy数组为参数,对数组的各个元素执行阶跃函数运算,并以数组形式返回运算结果。np.int型,Python中将布尔型转换为int型后,True会转换为1,False会转换为0。对数组x、y进行绘图
在说sigmoid函数之前,先说一下NumPy 的广播功能,如果在标量和NumPy数组之间进行运算,则标量会和NumPy数组的各个元素进行运算。像乘法里的结合率一样,大概可以这么理解,例如: