所以我读过一篇使用神经网络来建模数据集的论文,该数据集类似于我目前正在使用的数据集。我有160个描述符变量,我想模拟160个案例(回归建模)。我读过的论文使用了以下参数: -
'对于每次拆分,为10个单独的列车测试折叠中的每一个开发了一个模型。使用具有33个输入神经元和16个隐藏神经元的三层反向传播网,具有在线权重更新,0.25学习率和0.9动量。对于每个折叠,从总共50个不同的随机初始权重起始点进行学习,并且允许网络迭代学习时期,直到验证集的平均绝对误差(MAE)达到最小值。 “
现在他们使用了名为Emergent的专业软件来做到这一点,这是一个非常专业的神经元网络模型软件。但是,正如我之前在R中所做的那样,我必须坚持下去。所以我正在使用插入符号训练函数来进行10次交叉折叠验证,使用神经网络包进行10次。我做了以下事情: -
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
谢谢!
答案 0 :(得分:1)
从错误消息中,'hidden'参数未正确匹配。查看documentation,method = "neuralnet"
,layer1, layer2, layer3
只有三个培训参数。查看链接并使用另一种方法,您可以在其中指定所需的参数。