【问题标题】:Neural network in R using the caret package [duplicate]R中的神经网络使用插入符号包[重复]
【发布时间】:2014-03-07 01:26:16
【问题描述】:

所以我读过一篇论文,该论文使用神经网络来建模一个数据集,该数据集类似于我目前使用的数据集。我有 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 时它可以工作,但我无法调整参数以使其与我试图模仿的论文中使用的参数相似。

这是我在 warnings() 中得到的五十次:-

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

谢谢!

【问题讨论】:

    标签: r neural-network r-caret


    【解决方案1】:

    从错误消息中可以看出,'hidden' 参数没有正确匹配。查看documentationmethod = "neuralnet"layer1, layer2, layer3只有三个训练参数。查看链接并使用不同的 a 方法,您可以在其中指定所需的参数。

    【讨论】:

    • 问题是 AMORE 是我唯一可以使用的另一个可以让我指定学习率的方法,但这不起作用,因为它还没有被 train 函数包装。我还尝试再次执行相同的方法调用,但没有指定参数,而是将其保留为默认值,但仍然继续收到错误消息:- 'cadets.nn
    • 我对 caret 包不太熟悉,但可能是您太在别处寻找处理参数的神经网络的实现了...
    • 我有一份 Max Kuhn 应用预测分析的副本,我会看看让你知道...
    • 这似乎是一个重复的问题。回复here
    猜你喜欢
    • 2014-02-27
    • 2018-11-01
    • 2020-09-23
    • 2018-09-13
    • 2021-06-15
    • 1970-01-01
    • 2023-04-04
    • 2015-03-10
    • 2014-03-04
    相关资源
    最近更新 更多