【问题标题】:Neural network not converging神经网络不收敛
【发布时间】: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


    【解决方案1】:

    很可能你得到的是使用这种神经网络配置所能达到的最好效果。有现有的 NN 实现,例如Weka 中的多层感知器。如果您拥有良好的分析工具并确信您获得的结果不是由于实施错误造成的,那么最好开始尝试这些工具。

    【讨论】:

      猜你喜欢
      • 2016-05-13
      • 2019-02-20
      • 2016-05-13
      • 1970-01-01
      • 2016-07-10
      • 2018-12-15
      • 2018-02-20
      • 1970-01-01
      • 2018-11-04
      相关资源
      最近更新 更多