我想用R软件包对递归神经网络进行拟合。该包提供了设置最大迭代次数的选项,如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)发布于 2016-04-21 00:05:47
我认为默认情况下它运行maxit迭代次数。当您运行下面的程序时,即使在图中的平面化之后,迭代也会继续进行。
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)找到迭代步骤。
https://stackoverflow.com/questions/36741592
复制相似问题