2016-09-19 2 views
0

나는 거대한 trainData를 가지고 있으며 그것으로부터 임의의 부분 집합을 철회하고 (1000 번 가정하자), 신경망 객체를 연속적으로 훈련 시키는데 사용하고자한다. neuralnet R 패키지를 사용하여 수행 할 수 있습니까?신경 회로망에서의 연속 훈련

nn <- neuralnet(formula, data=subset, hidden=c(3,5), linear.output = F, stepmax = 2147483647) #use that subset for training the neural network 
} 

은 내 질문이 neualnet 객체가 nn라는 것입니다 : 같은 다음

library(neuralnet) 

for (i=1:1000){ 
classA <- 2000 
classB <- 2000 
dataB <- trainData[sample(which(trainData$class == "B"), classB, replace=TRUE),] #withdraw 2000 samples from class B 
dataU <- trainData[sample(which(trainData$class == "A"), classA, replace=TRUE),] #withdraw 2000 samples from class A 
subset <- rbind(dataB, dataU) #bind them to make a subset 

다시 다시 neuralnet 개체를 양성하는 실제 trainData의 일부를 공급 : 내가 생각하고하는 것은 같은 것이있다 루프의 모든 반복에서 훈련 될 것이고, 루프가 끝날 때 완전히 훈련 된 신경 네트워크 객체를 얻게 될 것인가? 둘째, 신경망이 특정 하위 집합에 수렴 할 수없는 경우 비 집중의 효과는 무엇인가? 예상 결과에 영향을 줍니까?

+0

제 투표 결과가 좋지 않은 열거 형 기능을 비 결정적 알고리즘의 동작으로 예측하는 것에 대한 두 가지 질문에 기반하고 있습니다. 다른 stackexchange 포럼 중 하나, 베타 기계 학습 중 하나 또는 확립 된 통계 포럼에 더 적합 할 것으로 보입니다. (두 번째 것은 그냥 "try"나 그 다른 사촌들 중 하나를 사용하여 대답하는 것처럼 보일 것입니다.) –

+0

@ 42- 당신의 의견에서 이해할 수있는 것은 "이 질문은 stackoverflow에 적합하지 않습니다. 둘째, 나는 나는 신경 네트워크를 훈련시키기 위해 언급했다. "맞습니까? – Newbie

+0

파트 1에 대한 건설적인 제안을 인정하지 않음. 파트 2에서 올바르지 않습니다. –

답변

1

가장 짧은 대답은 - 아니

더 미묘한 대답 - 일종의 ...

이유는 무엇입니까? - neuralnet::neuralnet 함수가 threshold에 도달하지 않은 경우 stepmax에 도달하면 weights을 반환하도록 설계되지 않았기 때문에 그러나 threshold에 도달하면 결과 개체에 최종 weights이 포함됩니다. 그런 다음 weights은 인수로 neuralnet 함수에 입력하여 연속 학습을 허용 할 수 있습니다. 귀하의 호출은 다음과 같을 것이다 : 나는 처음에 대답, 그러나

# nn.prior = previously run neuralnet object 

nn <- neuralnet(formula, data=subset, hidden=c(3,5), linear.output = F, stepmax = 2147483647, startweights = nn.prior$weights) 

또한 stepmax하기 전에 그것을 '수렴'을 만드는 동안 threshold을 선택하는 부분 집합에 대한 정보의 적당량을 얻을 수 있기 때문에 '없음'가능성이 것 없다 추측 게임이 아니라 객관적이어야합니다.

당신은 내가 생각할 수있는 기본적으로 네 가지 옵션이 명시 적으로

  • neuralnet 소스 코드를 확인하고 weights을 반환 수정이 허용 다른 패키지를 찾기

    1. 을 경우에도 '융합'외설 ' 달성 (즉, threshold에 도달).
    2. 적절한 크기의 임의의 부분 집합을 가져 와서 모델을 작성하고 성능을 테스트하십시오. AFAIK).
    3. 하위 집합을 모두 가져 와서 각각에 모델을 작성하고 '앙상블'모델로 조합하십시오.
  • 0

    라이브러리 (e1071)와 조정 기능을 사용하여 많은 그물을 훈련시키기 위해 k 배 인증을 사용하는 것이 좋습니다.

    관련 문제