**函数介绍(从感知机到神经网络)
程序员文章站
2022-05-21 21:28:36
...
# 1.导入
感知机的数学式可以如下表示:
上述h(x)函数会将输入信号的总和转换为输出信号。这就是一种**函数。**函数的作用在于决定如何来**输入信号的总和。
上述**函数h(x)被称为阶跃函数,输出的切换是很剧烈的很突然的。
如果将**函数从阶跃函数换成其他平滑变化的函数,就进入神经网络范畴了。
# 2.sigmoid函数简介及其实现
神经网络中经常使用的一个**函数就是如下所示的sigmoid函数。
神经网络中经常使用它作为**函数,进行信号的转换,转换后的信号被传送给下一个神经元(也就是用于求下一个神经元的加权和)。
sigmoid函数的实现:
def sigmoid(x):
return 1/(1+np.exp(-x))
这里的np.exp(-x)调用了NumPy库的exp()方法。当参数x为NumPy数组时,结果也能被正确计算。(因为当x为NumPy数组时,exp(-x)也是NumPy数组,而NumPy数组具有广播功能,即接下来的加一和除一的运算将会在每个元素上进行)
sigmoid函数的图像:
# 3.ReLU函数简介及其实现
在神经网络的发展史上,sigmoid函数很早就开始被使用了,而最近则主要使用ReLU函数。
ReLU函数的数学式表示如下
ReLU函数的实现:
def relu(x):
return np.maximum(0,x)
ReLU函数的图像:
# 本博客参考了《深度学习入门——基于Python的理论与实现》(斋藤康毅著,陆宇杰译),特在此声明。