Значение эпохи в обучении нейронных сетей

пока я читаю в how to build ANN in pybrain, говорят:

Тренируйте сеть для некоторых эпох. Обычно вы устанавливаете что-то как 5 здесь,

trainer.trainEpochs( 1 )

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

Я знаком с онлайн-обучением, где wights обновляются после каждого образца данных или вектора объектов, мой вопрос заключается в том, как убедиться, что 5 эпох будет достаточно для построения модели и установки весов, вероятно? в чем преимущество такого способа онлайн-обучения? Также термин "эпоха" используется в онлайн-обучении, означает ли это один вектор признаков?

3 ответов


одна эпоха состоит из один полный цикл тренировки на наборе тренировки. Как только каждый образец в наборе увиден, вы начинаете снова - отмечая начало 2-й эпохи.

Это не имеет ничего общего с пакетным или онлайн-обучением как таковым. Пакетный означает, что вы обновляете после в конце эпохи (после каждый образец виден, т. е. обновления # epoch) и онлайн, которые вы обновляете после каждого пример (#samples * #epoch updates).

вы не можете быть уверены, достаточно ли 5 эпох или 500 для конвергенции, поскольку она будет варьироваться от данных к данным. Вы можете прекратить обучение, когда ошибка сходится или становится ниже определенного порога. Это также входит в сферу предотвращения переоснащения. Вы можете прочитать на в начале остановки и перекрестная проверка о том, что.


простое определение эпохи ,

эпоха составляет один раз и один обратный пас of все тренировочные примеры.

Примечание: эпоха и итерации-это два разные вещи.

например, для набора из 1000 изображений и размера пакета 10 каждая итерация будет обрабатывать 10 изображений в общей сложности 100 таких итераций для всего набора. Это называется одной эпохи. Обучение может продолжаться в течение 100 эпох.


извините за повторную активацию этого потока. я новичок в нейронных сетях и исследую влияние "мини-пакетного" обучения.

насколько я понимаю, эпоха (как говорит рундосрун) является сквозным использованием всех в TrainingSet (не DataSet. потому что DataSet = TrainingSet + ValidationSet). в мини-пакетном обучении вы можете разделить TrainingSet на небольшие наборы и обновить веса внутри эпохи. "надеюсь", это заставит сеть "сходиться" быстрее.

некоторые определения нейронных сетей устарели и, я думаю, должны быть переопределены.