2010-05-21 2 views
2

Я использую an external library для искусственных нейронных сетей в моем проекте ..проблемы Neural Network

Во время тестирования ИНС, он дал мне выход всех NaN (не число в C#)

  • ANN имеет 8 входных сигналов, 5 скрытых, 5 скрытых, 2 выхода, а все уровни активации имеют линейный тип, и он использует обратное распространение со скоростью обучения 0,65

  • Я использовал один TestCase для обучения { -2.2, 1.3, 0.4, 0.5, 0.1, 5, 3, -5 } ,{ -0.3, 0.2 } за 1000 эпоху

  • И я испытал это на { 0.2, -0.2, 5.3, 0.4, 0.5, 0, 35, 0.0 } который дал { NaN , NaN} Примечания: это один из многих примеров, которые производят то же случай ...

Я пытаюсь обнаружить, является ли это ошибка в библиотеке, или нелогичная конфигурации ..

Причины я мог думать для нелогичной конфигурации:

  • Все слои не должны быть линейными
  • Не может иметь нисходящих слоев размера, т.е. 8-5-5-2 плохо ..
  • только один TestCase?
  • Значение должно быть в диапазоне [0,1] или [-1,1]

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

Примечание: Я новичок в ИНС

ответ

2

Ну, с вне каких-либо знаний о библиотеке, которую вы используете его не так легко угадать. Обычно входы ANN должны быть между 0..1 или -1..1, поэтому, возможно, это потому, что у вас есть значения вне этого диапазона, что приводит к неудачным результатам.

Если вышеприведенная причина является проблемой, для передачи данных в ANN требуется ряд технических требований, например, вы можете масштабировать свои входы, чтобы гарантировать, что они всегда находятся в зоне действия и поддерживают относительные отношения.