首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >神经网络

神经网络
EN

Stack Overflow用户
提问于 2010-09-05 02:37:01
回答 1查看 1.1K关注 0票数 2

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

正如您所看到的,错误级别从未真正下降太多。我试着改变学习的动力和速度,但没有多大帮助。对于我想做的事情,我的输入、隐藏和输出的数量是否正确?如果不是,那应该是什么呢?如果是的话,还会有什么问题呢?

EN

回答 1

Stack Overflow用户

发布于 2010-09-05 15:41:16

据我所知,您正在尝试对网络进行培训,以便给出输出值1,2,3,4。然而,在输出端,您使用的是乙状结肠(math.tanh(..)),它的值总是在-1和1之间。

因此,你的神经网络的输出总是在-1到1之间,因此当你试图拟合超出这个范围的输出值时,你总是会得到一个很大的错误。

(我刚刚检查了一下,当你的输入和输出值乘以0.1时,似乎有一个很好的训练过程,最后我得到了以下结论:

代码语言:javascript
复制
error 0.00025

)

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3644795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档