Я новичок в нейронных сетях и программировании в целом. Я написал нейронную сеть в 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 превзойдет простые статистические модели, но это не близко. Мой вопрос:
Из результатов, которые вы можете видеть, похоже, что где-то есть ошибка в коде?
Нужно ли вносить изменения в архитектуру сети?
Нужно ли каким-либо образом изменять сетевые входы / данные обучения?
Я уже некоторое время пытаюсь определить проблему, и это сводит меня с ума. Любой адив высоко ценится.
Большое спасибо.