2017-12-08 18 views
0

캐럿 패키지를 사용하여 신경망 모델에 적합하고 싶습니다. 208 개의 예측 변수가 모두 중요하며 버려 질 수 없습니다. 크기 매개 변수에 지정할 수있는 최대 값은 4를 초과하여 너무 많은 가중치가 있다고 말하는 오류가 발생합니다.신경망 튜닝 크기 매개 변수

> ctrl<-trainControl(method = 'cv',number = 5) 
> my.grid <- expand.grid(.decay = 0.1, .size =5) 
> nn.fit <- train(train_predictors,train_responses[["r2c1"]],method = "nnet",algorithm = 'backprop', tuneGrid = my.grid,trace=F, linout = TRUE,trControl = ctrl) 
Something is wrong; all the RMSE metric values are missing: 
     RMSE  Rsquared  MAE  
Min. : NA Min. : NA Min. : NA 
1st Qu.: NA 1st Qu.: NA 1st Qu.: NA 
Median : NA Median : NA Median : NA 
Mean :NaN Mean :NaN Mean :NaN 
3rd Qu.: NA 3rd Qu.: NA 3rd Qu.: NA 
Max. : NA Max. : NA Max. : NA 
NA's :1  NA's :1  NA's :1  
Error: Stopping 
In addition: Warning messages: 
1: model fit failed for Fold1: decay=0.1, size=5 Error in nnet.default(x, y, w, ...) : too many (1051) weights 

2: model fit failed for Fold2: decay=0.1, size=5 Error in nnet.default(x, y, w, ...) : too many (1051) weights 

3: model fit failed for Fold3: decay=0.1, size=5 Error in nnet.default(x, y, w, ...) : too many (1051) weights 

4: model fit failed for Fold4: decay=0.1, size=5 Error in nnet.default(x, y, w, ...) : too many (1051) weights 

5: model fit failed for Fold5: decay=0.1, size=5 Error in nnet.default(x, y, w, ...) : too many (1051) weights 

6: In nominalTrainWorkflow(x = x, y = y, wts = weights, info = trainInfo, : 
    There were missing values in resampled performance measures. 

이 모델은 아주 나쁘게 4 개 뉴런 (크기 = 4)을 수행 뭐야 내가 5 개 이상의 뉴런을 갖고 싶어 모델 일을 위해 무엇을 할 수 있는가?

답변

0

nnet 방법에 지정할 수있는 튜닝 그리드의 다른 매개 변수가 있습니다. 각 방법에 사용할 수있는 매개 변수는 온라인에서 구할 수 있지만 찾기가 어렵습니다. 다음은 adam nn에 mxnet을 사용한 나의 예입니다.

mxnet_grid_A2 = expand.grid(layer1 = c(10, 12), 
          layer2 = c(4, 6), 
          layer3 = 2, 
          learningrate = c(0.001, 0.0001), 
          dropout = c(0, 0.2) 
          beta1 = .9, 
          beta2 = 0.999, 
          activation = 'relu')