Эффективный размер набора данных для обучения нейронной сети feed-foward - PullRequest
2 голосов
/ 04 ноября 2010

Я использую нейронную сеть feed-foward в python, используя реализацию pybrain .Для обучения я буду использовать алгоритм обратного распространения.Я знаю, что с нейронными сетями нам нужно иметь только правильный объем данных, чтобы не перегружать сеть.Я мог получить около 1200 различных шаблонов обучающих данных для наборов данных.Итак, вот вопрос:Как рассчитать оптимальный объем данных для моей тренировки?Поскольку я попробовал 500 наборов в наборе данных, и для их объединения потребовалось много часов, я бы предпочел не пытаться использовать слишком большие размеры.Результаты мы довольно хороши с этим последним размером, но я хотел бы найти оптимальное количество.Нейронная сеть имеет около 7 входов, 3 скрытых узла и один выход.

Ответы [ 3 ]

3 голосов
/ 04 ноября 2010

Как рассчитать оптимальный объем данных для моего обучения?

Это полностью зависит от решения.Там также немного искусства с наукой.Единственный способ узнать, попадаете ли вы в зону перегрузки, - это регулярно проверять вашу сеть на соответствие набору проверочных данных (то есть данных, с которыми вы не тренируетесь).Когда производительность этого набора данных начинает падать, вы, вероятно, слишком много тренировались - откатитесь до последней итерации.

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

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

0 голосов
/ 05 ноября 2010

Технически говоря, в общем случае и при условии, что все примеры верны, тогда больше примеров всегда лучше.Вопрос на самом деле в том, что такое предельное улучшение (первая производная качества ответа)?

Вы можете проверить это, обучив его 10 примерам, проверяя качество (скажем, 95%), затем 20 и так далеечтобы получить таблицу типа:

10 95%
20 96%
30 96.5%
40 96.55%
50 96.56%

, вы сможете четко увидеть свою предельную прибыль и принять соответствующее решение.

0 голосов
/ 04 ноября 2010

Разнообразие набора данных гораздо важнее, чем количество выборок, которые вы подаете в сеть.

Вы должны настроить свой набор данных так, чтобы он включал и усиливал данные, которые вы хотите изучать в сети.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...