2014-02-08 4 views
7

Я хочу построить кривую обучения, чтобы увидеть прогресс нейронной сети в ходе ее обучения. Горизонтальная ось представляет собой общее число итераций, при этом вертикальная ось представляет коэффициент ошибок. Я хотел видеть как частоту ошибок теста, так и тренировку, по мере прогрессирования сети.пакет neuralnet в R - как получить вес до конвергенции обучения?

nn <- neuralnet(f, 
      data = train, 
      hidden = 2, 
      linear.output = F, 
      threshold = 0.01, 
      stepmax = 10, 
      lifesign = "full", 
      learningrate = .1, 
      algorithm='backprop') 

Устанавливая stepmax = 10 (или 50, или?) Я надеялся, чтобы иметь возможность изучить сеть до конвергенции, увидеть, что процент ошибок на тест и обучающего набора, а затем продолжить обучение еще 10 шагов. (Частично) обучение нейронной сети называется пп, и я планировал установить startweights до весов, полученных в прерванном обучения следующим образом:

# Try to further train alerady trained net 
nn <- neuralnet(f, 
      data = train, 
      hidden = 2, 
      linear.output = F, 
      threshold = 0.01, 
      lifesign = "full", 
      learningrate = .1, 
      startweights = nn$weights, 
      algorithm='backprop') 

Однако тренинг дал предупреждение, что «алгоритм не сходиться в 1 из 1 повторений (ов) в пределах stepmax ". Я не ожидал, что он сходится, но те 10 завершенных учебных этапов должны были изменить первоначальные случайные веса. Увы, nn $ weight равно NULL.

Кто-нибудь знает, как это сделать, используя neuralnet?

ответ

6

я написал непосредственно к одному из авторов пакета neuralnet, Фраука Гюнтер, и получил окончательный ответ:.

«К сожалению, на данный момент, обученные веса сохраняются только, если сеть сходился Это еще не реализованы, что вы можете получить доступ к весу во время учебного процесса или если сеть не сходится ».

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