获取R的RSNNS包中的收敛之前的迭代次数

时间:2016-04-20 10:54:23

标签: r neural-network recurrent-neural-network

我希望使用R包在RSNNS中安装一个递归神经网络。该包提供了设置最大迭代次数的选项,如下面的示例代码maxit = 1000所示。是否有可能看到算法在收敛之前使用了多少次迭代?

library(RSNNS)
library(xts)

#Load Lynx data
data(lynx)

#Scale data and convert to xts
data  <- as.xts((lynx - min(lynx)) / (max(lynx) - min(lynx)))

#Build xts object with 5 lags to analyze
lags <- 5
for(i in 1:lags){

  feat <- lag(lynx, i)
  data <- merge(data, feat, all = FALSE)

}

#Get features and target
features <- data[,-1]
target   <- data[,1]

#Fit network
rnn      <- elman(features, target, maxit = 1000)

1 个答案:

答案 0 :(得分:1)

我认为它默认运行最大迭代次数。当您运行以下内容时,即使在图表中出现平稳后,迭代也会继续。

rnn <- elman(features, target, maxit = 1000)
plotIterativeError(rnn)

#then run this
rnn <- elman(features, target, maxit = 10000)
plotIterativeError(rnn)

您可以使用head(which(abs(diff(rnn$IterativeFitError)) < 1e-20), 1)在收敛时找到迭代步骤。

相关问题