Rプログラミングでは、nnetを使用して、ニューラルネットワークアルゴリズムを実行するためのデフォルトの代わりにユーザーが指定した初期重みを持たせる方法を理解しようとしていますか? R のドキュメントでは、以下の引数について言及しています。重みの使用方法の例はありますか?
nnet(formula, data, weights, ...,
subset, na.action, contrasts = NULL)
Rプログラミングでは、nnetを使用して、ニューラルネットワークアルゴリズムを実行するためのデフォルトの代わりにユーザーが指定した初期重みを持たせる方法を理解しようとしていますか? R のドキュメントでは、以下の引数について言及しています。重みの使用方法の例はありますか?
nnet(formula, data, weights, ...,
subset, na.action, contrasts = NULL)
カスタム重みは、次の形式を持つ必要があります。
weights <- c(
BH1, I1H1, I2H1, .., InH1,
BH2, I1H2, I2H2, .., InH2,
...
BHn, I1Hn, I2Hn, .., InHn,
BO,
I1Out, .., InOut)
すなわち
c(
weights from bias & inputs to 1st hidden unit,
from bias & inputs to second hidden unit H2,
from bias & inputs to last hidden unit Hn,
biast of output unit,
skip layer weights ( if any)
)
よろしく
PS 単位に接続されているすべての重みの標準偏差を 1.0 未満に保つことを忘れないでください。そうしないと、ユニットがかなり早く飽和状態になります。
ドキュメントを見てください http://cran.r-project.org/web/packages/nnet/nnet.pdf
デフォルトの S3 メソッド:
nnet(x, y, weights, size, Wts, mask,
linout = FALSE, entropy = FALSE, softmax = FALSE,
censored = FALSE, skip = FALSE, rang = .7, decay = ,
maxit = 1 , Hess = FALSE, trace = TRUE, MaxNWts = 1 ,
abstol = 1. e-4, reltol = 1. e-8, ...)
Wts : 初期パラメータ ベクトル。欠品の場合はランダムに選ばれます。
したがって、ネットワークトポロジに基づいて自分で Wts を定義する必要があり、それは機能するはずです