神经网络-激励函数
一、前言 激励函数在神经网络的作用通俗上讲就是讲多个线性输入转换为非线性的关系。 不使用激励函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线性变换。因为线性模型的表达能力不够,激励函数可以引入非线性因素。 1.1 单一的神经网络 如果没有激励函数,在单层神经网络中,我们的输入和输出关系如下图: 这是一个线性方程的直观表示,如果我们增加感知机,如下图: 其中结果输出就是右边的绿色区域,但是本质上还是各种线性方程的组合,对于非线性数据则无法很好的处理。如下数据: 上图数据你就没有办法画出一条直线来将数据区分开. 这时候有两个办法,第一个办法,是做线性变换(linear transformation),比如讲x,y变成x^2,y^2,这样可以画出圆形。如图所示: 如果将坐标轴从x,y变为以x^2,y^2为标准,你会发现数据经过变换后是线性可分的了。大致示意图如下: 1.2 含有激励函数的神经网络 加入非线性激励函数后,神经网络就有可能学习到平滑的曲线来分割平面,而不是用复杂的线性组合逼近平滑曲线来分割平面。 这就是为什么我们要有非线性的激活函数的原因。如下图所示说明加入非线性激活函数后的差异,上图为用线性组合逼近平滑曲线来分割平面,下图为平滑的曲线来分割平面: 二、激励函数 1、激活函数通常有如下一些性质: 非线性: 当激活函数是线性的时候