【发布时间】:2012-03-03 09:44:45
【问题描述】:
我是神经网络的新手,一般是编程。我用java编写了一个神经网络,我正在查看足球数据。我有两个输入:
1) 主队胜率超过 n 场 2) 客队胜率超过 n 场
使用“标准统计模型”,您可以仅使用这两个数字来预测一场比赛中将出现的进球数,并且具有合理的准确度。但是,当我尝试训练我的神经网络来预测目标数量时,它根本不会收敛:(
我正在使用遗传算法来训练网络,这是前几代中最适合的个体,人口规模为 100,000:
1) 0.1407408056662556 2) 0.13406266176967252 3) 0.13406267600215235 4) 0.1338753567259805 5) 0.13280257001618265 6) 0.13275165964860766 7) 0.1319768652096691 8) 0.13161029326238236
现在我知道它看起来正在收敛,但收敛速度非常缓慢,而且我已经在几代人中多次运行它,它不会低于 0.13。
我使用的是前馈神经网络,其中一个隐藏层包含 10 个神经元,一个输出神经元。我在隐藏层中使用双曲正切 sigmoid 函数,在输出层使用 sigmoid 函数。我将目标数除以 10,得到 0 到 1 之间的输出。
在我开始运行它之前,我假设 NN 的性能会优于简单的统计模型,但它并没有接近。我的问题是:
从你看到的结果来看,是不是代码中的某个地方有错误? 我需要更改网络架构吗? 我是否需要以某种方式更改网络输入/训练数据?
一段时间以来,我一直在努力找出问题所在,这让我心烦意乱。非常感谢任何 adive。
非常感谢。
【问题讨论】:
标签: artificial-intelligence neural-network biological-neural-network