激活函数介绍(从感知机到神经网络)

# 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的理论与实现》(斋藤康毅著,陆宇杰译),特在此声明。

发布了25 篇原创文章 · 获赞 6 · 访问量 1995

猜你喜欢

转载自blog.csdn.net/weixin_44711653/article/details/104087920