
图片来源:搜狐
大家好!在上一篇文章中,我们初步了解了神经网络和激活函数的部分内容,本期我们将进一步学习激活函数的相关知识。
0 引言
在上一期最后,我们初步学习了激活函数将输入信号的总和转换为输出信号,如下式所示:

激活函数以阈值为界,一旦输入超过阈值,就切换输出。这样的函数可以称为“阶跃函数”(其实也可以看作我们中学学习的分段函数:就是对于自变量x的不同的取值范围,有着不同的解析式的函数。它是一个函数,而不是几个函数;分段函数的定义域是各段函数定义域的并集,值域也是各段函数值域的并集。)其实也可以说,感知机中使用了阶跃函数作为激活函数。但是激活函数并不只有一种,如果感知机使用其他函数作为激活函数呢?结果是我们就可以进入神经网络的世界了,下面就介绍一下神经网络中常用的激活函数。
1 sigmoid函数
神经网络中经常使用的一个激活函数就是如下所示的sigmoid函数(sigmoid function):

上式中的e是我们所说的自然常数(也称为欧拉数或纳皮尔常数,为数学中一个常数,是一个无限不循环小数,且为超越数,其值约为2.71828)。上面的函数我们看起来可能有点复杂,但是不要担心,再复杂的函数也就仅仅是个函数而已,直观地看,函数就是给定某个输入后,会返回某个输出的转换器。

比如我们给sigmoid函数输入1.0,sigmoid函数就会给我们一个0.731…的输出,同样的,输入2.0,得到输出0.880…。总之,我们把函数先简单地看做一个数值转换器就可以。
神经网络中用sigmoid函数作为激活函数,进行信号的转换,转换后的信号被传送给下一个神经元。实际上,之前介绍的感知机和接下来要介绍的神经网络的主要区别就在于这个激活函数。其他方面,比如神经元的多层连接的构造、信号的传递方法等,基本上和感知机是一样的。下面,我们通过比较感知机使用的阶跃函数和sigmoid函数的特点来详细学习sigmoid函数。
2 阶跃函数的实现
为了直观表示阶跃函数,我们用Python画一下阶跃函数的图像。根据阶跃函数表达式:
可以很简单地实现这个功能:

本文介绍了激活函数在神经网络中的作用,重点讲解了sigmoid函数的定义和特性,并通过Python代码展示了阶跃函数的实现和图形,为后续学习其他激活函数奠定了基础。

4748

被折叠的 条评论
为什么被折叠?



