Bootstrap

神经网络入门:通俗理解“激活函数”是如何让神经网络工作的

 让我们以二分类模型为例理解“非线性激活函数”是如何让神经网络工作的。

有一个二分类问题,当豆豆大小小于某个值的时候没有毒性,大于某个值的时候有毒性,样本列于下图。

我们可以使用一个简单的线性函数对一个二分类样本进行回归:

也可以使用一个非线性单增函数sigmoid进行回归:

可见,线性or非线性不影响我判断豆豆小于哪个值没有毒性,大于哪个值有毒性。可是如果是这种样本呢?

豆豆太小有毒,豆豆太大也有毒,豆豆大小居中的时候反而没毒,这时候要用什么函数来判断呢?

我们不妨把简单函数叠加来试试看,先叠加两个简单函数:

如果这个函数是由线性函数叠加成的,那么不论有多少个函数叠加在一起,最后的效果都是线性的:

可见我还是不能分清,毒性和大小的关系。

那我如果用两个非线性函数(sigmoid)进行叠加呢?神奇的效果出现了:

我得到了一个可以表示豆豆毒性和大小的函数,这就是一个由两个sigmoid函数叠加起来的神经网络的中间层,一个sigmoid函数就是一个神经元。

到此我们可以知道神经网络是什么了?

神经网络是一个由很多个激活函数(sigmoid只是其中一种)叠加、复合而成的多元复合函数(每个参数是一个维度),训练一个神经网络其实就是对这个复合函数进行回归。

这就是86年左右形成的,但是目前依然是深度学习基础的多层感知器。

图片截自于课程小白也能听懂的人工智能原理_哔哩哔哩_bilibili

(没有打广告的意思,只是不说清楚来源是违法的)

;