2

R の nnet パッケージのnnet関数パッケージを使用しています。MaxNWtsパラメーターを設定しようとしていますが、この数値を 10^8 などの大きな値に設定することに何か不利な点があるかどうか疑問に思っていました。ドキュメントには次のように書かれています。

「重みの最大許容数。コードに固有の制限はありませんが、MaxNWts を増やすと、おそらく非常に遅く時間のかかるフィットが可能になります。」

次の計算でサイズパラメータも計算します

size = Math.Sqrt(%入力ノード数% * %出力ノード数%)

問題は、 "MaxNWts" を 10000 のような値に設定すると、巨大なデータ セットを操作するときに係数の数が > 10000 になるため、失敗することがあるということです。

編集

障害を心配することなく毎回明示的に設定できるように、(R nnet によって計算された同じ数を取得するために) wts の数を計算する方法はありますか?

提案?

4

1 に答える 1

2

これは、応用予測モデリングで私が見たものです: Kuhn M、Johnson K. 応用予測モデリング。第1版。ニューヨーク:スプリンガー。2013.MaxNWts=引数には、次のいずれかを渡すことができます。

5 * (ncol(predictors) + 1) + 5 + 1)

また

10 * (ncol(predictors) + 1) + 10 + 1  

また

13 * (ncol(predictors) + 1) + 13 + 1

予測子は、予測子の行列です

私はそれがあなたのデータに基づいて経験的であると思います.それは縮小方法の背後にあるアイデアのような正則化用語、例えばリッジ回帰(L2)用語です. これの主な目的は、計算の過剰なパラメータ化が原因でニューラル ネットワークでよくあるように、モデルが過剰に適合するのを防ぐことです。

于 2014-01-02T20:01:22.457 に答える