【问题标题】:Neural network not being able to be precise enough for normalized data神经网络对标准化数据不够精确
【发布时间】:2016-07-22 13:26:38
【问题描述】:

我的训练数据未经标准化,包含 -2000 到 2000 范围内的数字。 如果我的训练数据输入为 300,我将其标准化:

1 / 300 = 0,0033~

所以它的范围是 -1 - 1。

问题是标准化值之间的差异太小了。

1 / 300 = 0,00333~
1 / 299 = 0,00334~

神经网络需要极其精确。 我正在使用基于梯度的反向传播算法,而 tanh 是激活函数。神经网络需要很长时间才能达到这种精确度。

我应该使用什么学习方法或者如何改进我当前的神经网络来完成这项任务? 谢谢!

【问题讨论】:

    标签: neural-network


    【解决方案1】:

    您可以对前几层使用ReLU(线性激活)激活函数,并对输出层进行 tanh 激活。

    Input (-ReLU-> Hidden L.)*n -tanh-> Output
    

    【讨论】:

    • 真的是唯一的解决方案吗?我真的不想使用线性激活函数。
    • 可能不会。实际上我在这个主题上也很新,我也不喜欢 ReLU 的想法,但只要你有足够的隐藏层 (>1),它就可以很好地工作。
    猜你喜欢
    • 2017-07-25
    • 1970-01-01
    • 2017-01-24
    • 2017-08-31
    • 2023-03-29
    • 2017-12-21
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多