我读了一篇论文,它使用神经网络对一个与我当前使用的数据集类似的数据集进行建模。我有160个描述变量要为160个案例建模(回归建模)。我读的论文使用了以下参数:
“对于每次分裂,针对10个单独的训练-测试折叠,开发了一个模型。使用具有33个输入神经元和16个隐藏神经元的三层反向传播网络进行在线权重更新,0.25学习速率和0.9动量。对于每个折叠,从50个不同的随机初始权重起始点进行学习,并允许网络通过学习时期进行迭代,直到验证集的平均绝对误差(MAE)达到最小值。”
现在他们使用了一个专门的软件Emergent来完成此操作,这是一种非常专业的神经网络模型软件。然而,由于我之前使用过R进行模型处理,因此我必须继续使用它。所以我使用caret train函数进行十次交叉验证,使用neuralnet包。我采取了以下步骤:
cadets.nn <- train(RT..seconds.~., data = cadet, method = "neuralnet", algorithm = 'backprop', learningrate = 0.25, hidden = 3, trControl = ctrl, linout = TRUE)
我这样做是为了尽量调整参数使其接近论文中使用的参数,但我收到以下错误信息:-
layer1 layer2 layer3 RMSE Rsquared RMSESD RsquaredSD
1 1 0 0 NaN NaN NA NA
2 3 0 0 NaN NaN NA NA
3 5 0 0 NaN NaN NA NA
Error in train.default(x, y, weights = w, ...) :
final tuning parameters could not be determined
In addition: There were 50 or more warnings (use warnings() to see the first 50)
你知道我做错了什么吗?我使用nnet时它有效,但我无法调整参数使其类似于论文中所用的。 这是我在警告()中收到五十次的内容:-
1: In eval(expr, envir, enclos) :
model fit failed for Fold01.Rep01: layer1=1, layer2=0, layer3=0 Error in neuralnet(form, data = data, hidden = nodes, ...) :
formal argument "hidden" matched by multiple actual arguments
2: In data.frame(..., check.names = FALSE) :
row names were found from a short variable and have been discarded
3: In eval(expr, envir, enclos) :
model fit failed for Fold01.Rep01: layer1=3, layer2=0, layer3=0 Error in neuralnet(form, data = data, hidden = nodes, ...) :
formal argument "hidden" matched by multiple actual arguments
4: In data.frame(..., check.names = FALSE) :
row names were found from a short variable and have been discarded
5: In eval(expr, envir, enclos) :
model fit failed for Fold01.Rep01: layer1=5, layer2=0, layer3=0 Error in neuralnet(form, data = data, hidden = nodes, ...) :
formal argument "hidden" matched by multiple actual arguments
谢谢!
warnings()
函数中包含了什么内容? - pangia