2014-02-08 3 views
7

나는 훈련 과정에서 신경망의 진행을보기 위해 학습 곡선을 그려보고 싶다. 수평 축은 반복의 총 횟수이고 수직 축은 오류율을 나타냅니다. 네트워크 교육이 진행됨에 따라 테스트와 교육 모두 오류율을 설정하는 것을보고 싶었습니다. 설정하면R의 neuralnet 패키지 - 교육 수렴 전에 가중치를 얻는 방법?

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') 

, 훈련 알고리즘이 수렴하지 않았다 "고 경고했다 stepmax 내에서 1 반복의 1에서 ". 나는 그것이 수렴 ​​할 것으로 기대하지는 않았지만, 10 개의 완료된 훈련 단계는 처음에는 무작위로 가중치를 수정해야했다. 아아, nn $ weights는 NULL입니다.

누구든지 neuralnet을 사용하여이를 수행하는 방법을 알고 있습니까?

답변

6

은 내가 neuralnet 패키지, 우케의 Guenther의 저자 중 하나에 직접 쓴, 그의 확실한 대답 접수 :. 네트워크가 통합되는 경우

그것은이다

"불행하게도 그 순간에, 훈련 무게 만 저장됩니다를 아직 훈련 과정 중에 또는 네트워크가 수렴하지 않는 경우 체중에 접근 할 수 있도록 구현되지 않았습니다. "

관련 문제