神经网络不收敛 [英] Neural network not converging

查看:106
本文介绍了神经网络不收敛的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是神经网络的新手,并且通常进行编程.我已经用Java编写了神经网络,并且正在查看足球数据.我有两个输入:

I'm new to Neural Networks, and programming generally. I've written a neural network in java, and i'm looking at football data. I have two inputs:

1)主队在n场比赛中赢得% 2)客队在N场比赛中赢得%

1) Home team win % over n games 2) Away team win % over n games

使用标准统计模型"可以仅使用这两个数字来预测一场比赛中将要发生的进球数量,并且具有一定的准确性.但是,当我尝试训练我的NN来预测目标数量时,它根本不会收敛:(

Using 'standard statistical models' one can predict the number of goals that will occur in a match using these two numbers alone, with a reasonable degree of accuracy. However, when i attempt to train my NN to predict the number of goals, it simply doesn't converge :(

我正在使用一种遗传算法来训练网络,这是前几代中最适合的个体,其人口规模为100,000:

I'm using a genetic algorithm to train the network, here is the fittest individual from the first few generations with a population size of 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

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.

Now i know it looks like it is converging, but it is converging at a painfully slow rate, and i have run this multiple times over many generations and it will not go below 0.13.

我正在使用前馈神经网络,其中有一个包含10个神经元的隐藏层和一个输出神经元.我在隐藏层中使用了双曲正切Sigmoid函数,在输出层中使用了Sigmoid函数.我将目标数除以10,得到的输出介于0和1之间.

I am using a feedforward neural network, with one hidden layer of 10 neurons, and one output neuron. I am using a hyperbolic tangent sigmoid function in the hidden layers, and a sigmoid function for the output layer. I have divided the number of goals by 10, to give an output between 0 and 1.

在我开始运行它之前,我假设NN的性能要优于简单的统计模型,但是还差得很远.我的问题是:

Before i began running this, i assumed that the NN would outperform simple statistical models, but it doesn't come close. My question is:

从结果中可以看出,代码是否在某处出现错误? 我是否需要更改网络的体系结构? 我需要以某种方式更改网络输入/培训数据吗?

From the results you can see, does it look like there is an error in the code somewhere ? Do i need to make a change to the architecture of the network ? Do i need to change the network inputs/training data in some way ?

一段时间以来,我一直在试图找出问题所在,这让我很疑惑.任何忠实的人将不胜感激.

I've been trying to identify the issue for a while now, and it's driving me mental. Any adive is greatly appreciated.

非常感谢.

推荐答案

使用这样的神经网络配置可能获得的最好结果就是.存在现有的NN实现,例如 Weka中的多层感知器.最好开始尝试使用那些具有良好分析工具并确信所获得的结果不是由于实施错误而导致的结果的

It might very well be that what you get is the best that could be achieved with such a neural network configuration. There are existing NN implementations, such as the multilayer perceptron in Weka. It would be better to start experimenting with those, where you have good analytical tools and confidence that the results you get are not due to an implementation error.

这篇关于神经网络不收敛的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆