NeuronDotNet中的神经网络

时间:2009-12-28 17:50:48

标签: c# neural-network

我使用神经网络库进行人工神经网络编程,我的输入图层矢量为400 我的输出图层矢量是5,我的学习样本只有28。 我的问题是我不知道如何选择我应该拥有多少隐藏层以及它们的向量大小。任何人都可以把我放在正确的方向吗? 谢谢。

2 个答案:

答案 0 :(得分:3)

我找到了this FAQ,它提出了一些关于如何处理隐藏图层的指导原则。他们特别注意到

  

在大多数情况下,无法确定隐藏的最佳数量   单位没有训练几个网络和估计泛化   每个人的错误。

了解详情:http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html#ixzz0b0VxJHV1

答案 1 :(得分:2)

查看他们的帮助指南 http://neurondotnet.freehostia.com/manual/design.html

从指南

隐藏层数(在反向传播网络中)

没有隐藏层的反向传播网络无法执行非线性分类。 (它不能用作XOR函数逼近器)。因此,一个隐藏层是反向传播网络的必需品。此外,已经在数学上证明了当经过适当训练时具有单个隐藏层的反向传播网络可用于近似任何功能。因此,在大多数情况下,单个隐藏图层是最佳选择。

具有多个隐藏层可加快学习过程,并且经过训练的网络与训练样本完全匹配,但无法在测试数据上表现良好。这种效应被称为过度训练,训练有素的网络倾向于记住训练样本而不是学习它们。