2015-04-10 4 views
2

У меня есть нейронная сеть со структурой: 7 входных нейронов, 3 выходных нейрона.Наилучшее количество нейронов в скрытом слое нейронной сети Encog

В интернете говорилось, что наилучшие результаты достигаются, когда количество нейронов на скрытом слое в 1,5-2 раза больше числа нейронов в первом слое. I. В моем случае это было бы 14. Я использую метод повышения уровня распространения, чтобы научить сеть на C#.

Обучение проводится около 100 тыс. Циклов. Я получаю лучшие результаты - более скрытые нейроны у меня есть! Не только 2x сумма, но и 6x количество входного слоя. Другими словами, в настоящее время определено всего 44 скрытых нейронов! Он просто поправляется.

Я начинаю чувствовать, что что-то здесь не так. Как подсчет скрытых нейронов влияет на эффективность сети?

Я могу продолжать увеличивать счет .. 50..60..70. Я начал с уровня 11 битв, и результаты такого обучения были ужасными. Просьба дать объяснение, почему более высокий скрытый подсчет нейронов дает десятикратные лучшие результаты и то, как это влияет на эффективность сети по данным REAL, а не на тренировочный набор. (2 тыс. Записей)

ответ

2

Число скрытых нейронов называется гиперпараметром. Почти все модели машинного обучения имеют гиперпараметры. Для векторных машин поддержки это гамма и С и т. Д. В основном эти гиперпараметры влияют на то, насколько успешной будет ваша модель при изучении набора данных. Почти всегда это сводится к проб и ошибок. Для нейронных сетей вы должны придерживаться единственного скрытого слоя (см. Теорему универсального аппроксиматора).

Как правило, чем больше скрытых нейронов, тем лучше будет тренировка. Однако это может способствовать переоснащению. Убедитесь, что вы тестируете сеть с данными за пределами учебного набора. В идеале вы хотите, чтобы достаточно скрытых нейронов, чтобы позволить нейронной сети достичь точки, где добавление большего количества не улучшает вашу производительность по данным валидации (данные, с которыми вы не тренировали сеть).

1

Просто еще одно уточнение. Разделили ли вы свои данные на две части: обучение и проверка. Например, если у вас 1000 примеров, вы можете использовать для обучения 800 и проверить результаты на оставшихся 200 примерах. Как обычно, если тренировочный набор работает очень хорошо, то качество тестового набора увеличивается в некоторой степени, а затем уменьшается. Вам нужно найти баланс между хорошими результатами обучения и набором тестов.

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