本文共 1821 字,大约阅读时间需要 6 分钟。
首先推荐一个写公式的网站:
如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数 Activation Function。
sigmoid函数定义域是R,其值域为「0,1」,所以可以用来二分类(1,0),在特征相差比较复杂或是相差不是特别大时效果比较好。
sigmoid函数的导数: f ′ ( x ) = f ( x ) ∗ ( 1 − f ( x ) ) f'(x)=f(x)*(1-f(x)) f′(x)=f(x)∗(1−f(x)),导函数值域为(0,0.25]sigmoid 原函数及导数图形如下:
Tanh函数也可以表示为: t a n h ( x ) = 2 s i g m o i d ( 2 x ) − 1 tanh(x)=2sigmoid(2x)-1 tanh(x)=2sigmoid(2x)−1,其定义域为R,值域为(-1,1)
其导函数为: ( t a n h ( x ) ) ′ = s e c h 2 ( x ) = 1 − t a n h 2 ( x ) (tanh(x))'=sech^2(x)=1-tanh^2(x) (tanh(x))′=sech2(x)=1−tanh2(x),导函数值域为(0,1]观察sigmoid和tanh的函数曲线,sigmoid在输入处于[-1,1]之间时,函数值变化敏感(导函数最大),一旦接近或者超出区间就失去敏感性,处于饱和状态,影响神经网络预测的精度值。tanh的输出和输入能够保持非线性单调上升和下降关系,符合BP网络的梯度求解,容错性好,有界,渐进于0、1,符合人脑神经饱和的规律,但比sigmoid函数延迟了饱和期。
tanh在特征相差明显时的效果会很好,在循环过程中会不断扩大特征效果。RELU特点:
公式如下:
为什么要取指数,第一个原因是要模拟 max 的行为,所以要让大的更大。第二个原因是需要一个可导的函数。
由于初学,现在有个概念就好,点到为止,下一节介绍由sigmoid函数为基础的LR模型算法。
这部分是补充内容。在学习了神经网络后会有更好的理解。
一般来说就是,由于求导后的连乘导致的梯度消失或者爆炸发生。详见下面的链接:
转载地址:http://dtkk.baihongyu.com/