神经网络之激励函数(Activation Function)

一、什么是激励函数?

在人工神经网络中,单个神经元的输入与输出之间的函数关系叫做激励函数。

Activation Function 也可翻译为“**函数”,它用于**某些神经元并把**的神经元接受到的值通过映射,作为输出传递下去。

激励函数实质上是一种将线性方程非线性化的方法。
函数 y = AF(Wx+b) 中 x 表示输入、y 表示输出,Wx+b 是一个关于 x 的线性方程,而激励函数 AF 就负责将这个线性方程“掰弯”(即把它变成非线性的)。简而言之,激励函数就是对数据进行非线性化处理。

二、为什么需要激励函数?

根本原因是为了引入非线性因素。线性模型在很多情况下不能很好地表现实际情况,对于一些情况并不适用。

例如,要将一个平面上的两类点分隔开,有时一条直线就可以很好地实现,但是有时需要用曲线才能较好地区分。

在下面这张图中,一条直线就可以将红蓝两类点区分开来。
这里写图片描述

但是对于这张图,就无法用一条直线区分了。
这里写图片描述

但是用一条曲线就可以。
这里写图片描述

上面三张图简单举例说明了为什么需要引入非线性因素,这三张图都来自知乎上的回答(点击即可),这个回答感觉挺好的,有更详细的解释,可以看一下。

【参考】
知乎回答:神经网络激励函数的作用是什么?有没有形象的解释?
莫烦python教程/有趣的机器学习/激励函数