2

Rプログラミングでは、nnetを使用して、ニューラルネットワークアルゴリズムを実行するためのデフォルトの代わりにユーザーが指定した初期重みを持たせる方法を理解しようとしていますか? R のドキュメントでは、以下の引数について言及しています。重みの使用方法の例はありますか?

nnet(formula, data, weights, ...,
subset, na.action, contrasts = NULL)
4

2 に答える 2

2

カスタム重みは、次の形式を持つ必要があります。

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 未満に保つことを忘れないでください。そうしないと、ユニットがかなり早く飽和状態になります。

于 2012-12-13T08:43:51.517 に答える
1

ドキュメントを見てください 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 を定義する必要があり、それは機能するはずです

于 2012-12-09T02:13:07.500 に答える