问题描述
因此,我正在尝试使用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可能会允许 非常缓慢且耗时