Eu tenho uma rede neural (camada única feed-forward) com a qual tento prever uma variável relacionada ao ambiente a partir de duas variáveis financeiras (regressão). Eu uso a função "train" do pacote de intercalação.
Eu uso o nnet()
algoritmo no pacote de sinal de intercalação. Eu tenho dois preditores contínuos e 420 pontos de dados.
Para o entendimento teórico, tento superabordar propositadamente o meu modelo; no meu entendimento, isso normalmente deve funcionar com todos os conjuntos de dados, por exemplo, antes de aumentar o "tamanho" (ou seja, o número de unidades ocultas). No entanto, aumentar drasticamente o tamanho das unidades ocultas não leva ao ajuste excessivo.
Portanto, é errado supor que você possa superestimar todas as redes neurais aumentando o "tamanho"? Que outra variável poderia levar a um excesso de ajuste?
grid <- expand.grid(size = 20
)
control <- trainControl(method = "cv",
number = 10,
verboseIter = TRUE
)
fit <- train(x=train_parametres, y=train_result,
method = "mlp",
metric = "Rsquared",
learnFunc = "Std_Backpropagation",
learnFuncParams = c(0.2, 0.0),
maxit = 1000,
trControl = control,
tuneGrid = grid,
preProcess = c("center", "scale"),
linout = T,
verbose = T,
allowParallel = T
)
fonte
Eu tive o mesmo problema, mantive zero regularização e taxa de aprendizado ideal. mas o declínio da taxa de aprendizado foi definido como zero. Depois de definir o declínio da taxa de aprendizado para algum valor como 0,95, funcionou e aumentou o número de épocas
fonte