我正在创建一个工具,用于根据过去的数据预测软件项目的时间和成本。该工具使用神经网络来做到这一点,到目前为止,结果很有希望,但我认为我可以通过改变网络的属性来做更多的优化。在这些设置方面似乎没有任何规则甚至许多最佳实践,所以如果有经验的人可以帮助我,我将不胜感激。
输入数据由一系列整数组成,这些整数可以随用户的需要而上升,但我原以为大多数会低于 100,000。有些会低至 1。它们是项目中的人数和项目成本等详细信息,以及有关数据库实体和用例的详细信息。
总共有 10 个输入和 2 个输出(时间和成本)。我正在使用弹性传播来训练网络。目前它有:10 个输入节点、1 个带有 5 个节点的隐藏层和 2 个输出节点。我正在训练将错误率控制在 5% 以下。
该算法必须在网络服务器上运行,因此我采取了一种措施,当它看起来无处可去时停止训练。这设置为 10,000 次训练迭代。
目前,当我尝试使用一些不同的数据来训练它时,但在我们期望用户投入的范围内,训练需要很长时间,一遍又一遍地达到 10,000 次迭代限制。
这是我第一次使用神经网络,我真的不知道会发生什么。如果你能给我一些关于我应该为网络和迭代限制使用什么样的设置的提示,我将不胜感激。
谢谢!