1

所以我正在尝试将深度学习模型融入我的数据中,使用tidymodels. 通用接口是mlp(),我正在使用fit_resamples()它来找到外部数据的最佳模型。我不断收到此错误:

ann_model <-
  mlp(epochs = 50, hidden_units = 5, dropout = 0.1) %>%
  set_engine("nnet", weights = 10000) %>% 
  set_mode("regression")

ann_wflw <-
  workflow() %>% 
  add_recipe(dados_recipe) %>% 
  add_model(ann_model)

ann_fit <- 
  ann_wflw %>% 
  fit_resamples(resamples = dados_cv)

x Fold01, Repeat1: model: Error in nnet.default(x, y, w, ...): too many (1301) weights

x Fold02, Repeat1: model: Error in nnet.default(x, y, w, ...): too many (1296) weights....

如何更改权重?拜托,我真的很着急。顺便说一句,除了交叉验证之外,还有其他方法可以不过度拟合我的训练数据吗?提前致谢!

4

1 回答 1

0

我猜你想增加MaxNWts参数而不是weights.

我在训练神经网络时收到错误“nnet.default(x, y, w, ...) 中的错误:太多 (77031) 权重”的答案中引用以下内容

要么增大MaxNWts到适合模型大小的尺寸,要么减小尺寸以使模型更小。

根据nnet文档,weights

(case) 每个例子的权重——如果缺失默认为 1

而是MaxNWts_

允许的最大重量数。代码中没有内在限制,但增加 MaxNWts 可能会允许非常缓慢且耗时的拟合

于 2020-10-13T05:50:09.033 回答