2015-01-11 7 views
0

У меня есть базовый набор NN, который имеет 2 входа, 3 нейрона и 1 выход.Как долго тренировать pyBrain?

Если у меня есть около 4000 точек данных (т. Е. 4000 строк из 2 входов и 1 выход) для обучения, как долго я должен ожидать trainUntilConvergence().

Также может произойти в потоке trainUntilConvergence, в то время как я также постоянно добавляю данные в учебный DataSet (в другом потоке)? Например, я начинаю с одного datapoint в наборе данных, начинаю обучение и постоянно добавляю больше данных в набор данных?

ответ

2

Прежде всего, вы должны спросить: «Как долго нервная сеть поездов достигает хороших результатов». Во многих книгах о нейронной сети вы можете прочитать, что это зависит от размера обучаемого набора и структуры сети. Поэтому сделайте тест/бенчмарк и попытайтесь узнать 10 эпох, 20 эпох и 50 эпох - и распечатать результаты/ошибки для каждого случая. Существует способ, чтобы сделать это автоматически с помощью проверки/тестирования, когда тестирование/проверка ошибки увеличивается во время обучения, тогда вы должны прекратить обучение (потому что сеть начинает перерабатывать) - вы достигли хорошего обобщения. Определенно вам следует больше узнать о нейронных сетях, например, ftp://ftp.sas.com/pub/neural/FAQ.html

Согласно второму ответу, imho при текущем состоянии пиребрана вы не можете изменить DataSet во время обучения.