2014-11-25 2 views
2

У меня возникла проблема в проекте, в котором используется pybrain (библиотека python для нейронной сети) для построения ANN и регрессии как прогнозирования. Я использую 3-слойный ANN, с 14 входами, 10 скрытыми нейронами в скрытом слое и 2 выходами. Типичная подготовка или тестовый пример будет, как это,Плохой регрессионный вывод нейронной сети - нежелательная верхняя граница?

Входы (разделены пространством): 1534334,489 1554790,856 1566060,675 20 20 20 50 45000 -11,399025 13 1.05E-03 1,775475116 20 0

выходов (разделены пространством): 1571172.296 20

И я использую BackpropTrainer из пирамины, поэтому он тренируется с использованием Backpropagation, и я тренировался до сближения. Странная вещь результата заключается в том, что предсказание первого выхода (например, первого выхода обученного ANN с использованием тестовых входов) хорошо отслеживает реальное значение в нижних частях кривой, но, похоже, имеет нежелательный верхний уровень, когда реальное значение возрастает ,

Я изменил количество скрытых нейронов на 10, но все еще ведет себя так. Даже если бы я тестировал обучаемый ANN, используя оригинальные образцы обучения, у него все равно был бы такой верхний.

У кого-нибудь есть интуиция или совет, что здесь не так? Благодаря!

ответ

1

Попробуйте нормализовать значения (ввод и вывод) между (-1, +1).

+0

На самом деле я пробовал стандартизацию, и это сработало. Но ты дал мне намек на это, спасибо! – Missing

Смежные вопросы