Нейронная сеть не сходится - PullRequest
2 голосов
/ 11 февраля 2012

Я новичок в нейронных сетях и программировании в целом. Я написал нейронную сеть в Java, и я смотрю на футбольные данные. У меня есть два входа:

1) Команда хозяев выиграла% за n игр 2) Команда гостей выиграет% за n игр

Используя «стандартные статистические модели», можно предсказать количество голов, которые произойдут в матче, используя только эти два числа, с разумной степенью точности. Однако, когда я пытаюсь обучить свой NN предсказывать количество голов, он просто не сходится: (

Я использую генетический алгоритм для обучения сети, вот самый подходящий человек из первых нескольких поколений с численностью населения 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 нейронов и одним выходным нейроном. Я использую гиперболическую касательную сигмоидную функцию в скрытых слоях и сигмовидную функцию для выходного слоя. Я разделил количество голов на 10, чтобы получить результат от 0 до 1.

Прежде чем я начал это делать, я предполагал, что NN превзойдет простые статистические модели, но это не близко. Мой вопрос:

Из результатов, которые вы можете видеть, похоже, что где-то есть ошибка в коде? Нужно ли вносить изменения в архитектуру сети? Нужно ли каким-либо образом изменять сетевые входы / данные обучения?

Я уже некоторое время пытаюсь определить проблему, и это сводит меня с ума. Любой адив высоко ценится.

Большое спасибо.

1 Ответ

3 голосов
/ 12 февраля 2012

Вполне может быть, что то, что вы получите, - лучшее, чего можно достичь при такой конфигурации нейронной сети. Существуют NN реализации, такие как многослойный персептрон в Weka . Было бы лучше начать экспериментировать с теми, где у вас есть хорошие аналитические инструменты и уверенность, что полученные результаты не связаны с ошибкой реализации.

...