Sigmoid函数 f(x)=1/1+e^-x | 值(0-1)缺点 存在饱和问题 实现:tf.nn.sigmoid(x,name=None) 特征相差不大,需要更细微的分类判断 sigmoid效果要好一些 |
Tanh函数 双曲正切 tanh(x)=2Sigmoid(2x)-1 | 值(-1,1) 缺点 存在饱和问题 实现: tf.nn.tanh(x,name=None)
tanh在特征明显是效果比较好 |
Relu函数 f(x)=max(o,x) (0-正无穷) | 优点 忽略负向信号,有很好拟合效果 shixian: tf.nn.relu(features,name=None) tf.nn.relu6(features,name=None) relu6出现原因是为了防止梯度爆炸
经过其处理的数据有更好的稀疏性,以稀疏性数据表达数据特征的方法,会使神经网络在迭代运算中取得又好又快地效果 |
Softplus函数 f(x)=ln(1+e^x) (0-正无穷) | 优点:函数更加平滑,保留了一部分负向数据,缺点 计算量非常大 tf.nn.softplus(features,name=None) |
Noisy relus f(x)=max(0,x+y) | 为max加了一个高斯分布噪声 tf. |
Leaky relus f(x)= x(x>=0),ax(x<0)
| 在relu基础上保留了一部分负值,对负信号不是一味拒绝,而是缩小 tf.maximun(x,leak*x,name=name) |
Elus 函数 | 当x小于0做了更复杂的变换,优点,收敛速度比relu 快,不使用批处理比使用批处理能够获得更好的效果,拟合效果更好 tf.nn.elu(features,name=None) |
Swish函数 | 优点:效果更有优于relu函数 def Swish(x,beat=1): return x*tf.nn.sigmoid(x*beat)
|