【问题标题】:Neural Network, python神经网络,蟒蛇
【发布时间】:2011-04-08 08:54:22
【问题描述】:

我正在尝试编写一个简单的神经网络,它可以为 y=x 函数提供权重。这是我的代码: http://codepad.org/rPdZ7fOz

如您所见,错误级别从未真正下降太多。我尝试改变动量和学习率,但没有太大帮助。我的输入、隐藏和输出数量是否适合我想要做的事情?如果不是,应该是什么?如果是这样,还有什么可能是错的?

【问题讨论】:

    标签: python neural-network backpropagation


    【解决方案1】:

    据我所知,您正在尝试训练网络以提供输出值1,2,3,4。然而,在输出中,您使用了一个 sigmoid (math.tanh(..)),其值始终介于 -1 和 1 之间。

    因此,您的神经网络的输出始终介于 -1 和 1 之间,因此在尝试拟合超出该范围的输出值时,您总是会遇到很大的错误。

    (我刚刚检查了将输入和输出值缩放 0.1 时,似乎有一个很好的训练进度,我在最后得到了:

    error 0.00025
    

    )

    如果您想进行分类,您使用的神经网络非常有用(例如,如果 NN 输出 0,则将数据点分配给 B)。看起来你想做的是回归(拟合一个实值函数)。

    您可以在输出节点移除 sigmoid,但您必须稍微修改反向传播过程以考虑到这一点。

    【讨论】:

      猜你喜欢
      • 2014-07-21
      • 1970-01-01
      • 2017-02-19
      • 2018-10-22
      • 2016-01-17
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      • 2015-12-03
      相关资源
      最近更新 更多