1

パッケージ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)
4

1 に答える 1

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)、収束時の反復ステップを見つけるために使用できます。

于 2016-04-21T00:05:47.223 に答える