Keras激活函数Tanh与Sigmoid

时间:2020-08-16 14:41:42

标签: python tensorflow keras

我有一个利用二进制数据的LSTM,即标签全为0或1。

这将导致我使用S型激活函数,但是当我执行此操作时,具有相同数据的tanh激活函数的性能明显逊于相同模型。

为什么即使数据不在tanh激活函数所需的(-1,1)范围内,tanh激活函数也会产生更好的精度?

S型激活函数的精度: 训练准确度:60.32% 验证准确性:72.98%

Tanh激活功能精度: 训练准确性:83.41% 验证准确性:82.82%

其余所有代码完全相同。

谢谢。

2 个答案:

答案 0 :(得分:1)

如果训练集中每个输入变量的平均值接近零,则收敛通常会更快。 tanh的均值为零。您的数据可能已归一化并且均值接近零?

参考:https://medium.com/analytics-vidhya/activation-functions-why-tanh-outperforms-logistic-sigmoid-3f26469ac0d1

答案 1 :(得分:1)

在(0,1]的时间间隔内,如果梯度随着时间t减小,则S型曲线更好。如果梯度增大,则tanh激活函数。