深度学习Sigmoid函数激活函数

什么是激活函数?
所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。
在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数。

为什么要用非线性激活函数?
非线性关系,是自然界最普遍的特效。如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

sigmoid函数
主要来说说看 sigmoid 函数,sigmoid函数是机器学习中的一个比较常用的函数,与之类似的还有softplus和softmax等函数,这里也就不说,先来看看sigmoid函数的表达式的和图像, sigmoid函数表达式如下
深度学习Sigmoid函数激活函数_第1张图片

这就是sigmoid函数的表达式,这个函数在伯努利分布上非常好用,现在看看他的图像就清楚
深度学习Sigmoid函数激活函数_第2张图片

可以看到在趋于正无穷或负无穷时,函数趋近平滑状态,sigmoid函数因为输出范围(0,1),所以二分类的概率常常用这个函数。该函数具有如下的特性:当x趋近于负无穷时,y趋近于0;当x趋近于正无穷时,y趋近于1;当x= 0时,y=0.5.。当然,在x超出[-6,6]的范围后,函数值基本上没有变化,值非常接近,在应用中一般不考虑。
深度学习Sigmoid函数激活函数_第3张图片

优点:
1> 值域在0和1之间 ,输出范围有限
2> 求导容易
3> 函数具有非常好的对称性
缺点:
1>. 由于其软饱和性,容易产生梯度消失,导致训练出现问题。
2>. 其输出并不是以0为中心的。
函数对输入超过一定范围就会不敏感,sigmoid的输出在0和1之间,我们在二分类任务中,采用sigmoid的输出的是事件概率,也就是当输出满足某一概率条件我们将其划分正类,不同于svm。此外,logistic函数也是神经网络最为常用的激活函数。

你可能感兴趣的:(机器学习,深度学习,机器学习,神经网络)