我正在创建一个工具,用于根据过去的数据预测软件项目的时间和成本。该工具使用神经网络来做到这一点,到目前为止,结果是有希望的,但我认为我可以通过改变网络的属性做更多的优化。在这些设置方面,似乎没有任何规则甚至许多最佳实践,所以如果有经验的人可以帮助我,我会非常感激。
输入数据由一系列整数组成,这些整数可能会达到用户想要的最高水平,但大多数都会低于我认为的100,000。有些将低至1.它们是项目中人员数量和项目成本等详细信息,以及有关数据库实体和用例的详细信息。
总共有10个输入和2个输出(时间和成本)。我正在使用Resilient Propagation来训练网络。目前它有:10个输入节点,1个隐藏层,5个节点和2个输出节点。我正在训练误差率低于5%。
该算法必须在网络服务器上运行,所以我已经采取措施在看起来不会去任何地方时停止训练。这被设置为10,000次训练迭代。
目前,当我尝试使用一些有点变化的数据进行训练时,但是在我们期望用户投入的数据范围内,需要花费很长时间进行训练,达到10,000次迭代限制。再一次。
这是我第一次使用神经网络而我真的不知道会发生什么。如果你能给我一些关于我应该为网络使用什么样的设置以及迭代限制的提示,我将非常感激。
谢谢!
答案 0 :(得分:10)
首先,感谢您提供有关您的网络的大量信息!这里有一些指示可以让你更清晰。
0
和1
s。如果是前者,我建议使用sigmoid激活功能。隐藏和输出层的tanh
和linear
激活函数的组合往往可以很好地处理连续变化的数据。