如何在tidymodels的mlp通用界面中更改权重?

问题描述

因此,我正在尝试使用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,...): too many (1296) weights....

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

解决方法

我想您想增加MaxNWts参数而不是weights

我在I get error "Error in nnet.default(x,y,w,...) : too many (77031) weights" while training neural networks的答案中引用了以下内容

MaxNWts增大到可以容纳的大小 或缩小尺寸以缩小模型。

根据 nnet 文档,weights

每个示例的

(案例)权重–如果缺少默认值,则为1

MaxNWts

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