神经网络无法收敛

我对神经网络和编程都是新手。我用Java编写了一个神经网络,正在研究足球数据。我有两个输入:

1) 主队在n场比赛中的胜率2) 客队在n场比赛中的胜率

使用“标准统计模型”,仅凭这两个数字就可以相当准确地预测一场比赛中会发生的进球数。然而,当我尝试训练我的神经网络来预测进球数时,它根本无法收敛 🙁

我使用遗传算法来训练网络,以下是前几代中最适应的个体,种群大小为100,000:

1) 0.14074080566625562) 0.134062661769672523) 0.134062676002152354) 0.13387535672598055) 0.132802570016182656) 0.132751659648607667) 0.13197686520966918) 0.13161029326238236

现在我知道看起来它似乎在收敛,但收敛速度非常慢,我已经多次运行了许多代,它不会低于0.13。

我使用的是前馈神经网络,有一个包含10个神经元的隐藏层和一个输出神经元。我在隐藏层使用双曲正切S型函数,在输出层使用S型函数。我将进球数除以10,以得到0到1之间的输出。

在开始运行之前,我以为神经网络会超越简单的统计模型,但它远不及。我的问题是:

从你看到的结果来看,代码中是否有错误?我是否需要更改网络的架构?我是否需要以某种方式更改网络输入/训练数据?

我已经尝试了一段时间来找出问题,这让我快要崩溃了。任何建议都非常感激。

非常感谢。


回答:

很有可能你得到的结果是这种神经网络配置所能达到的最佳结果。已经存在一些神经网络实现,例如Weka中的多层感知器。最好开始使用这些进行实验,那里有很好的分析工具,并且你可以确信结果不是由于实现错误造成的。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注