我正在使用R中nnet包中的 nnet 功能包。我正在尝试设置 MaxNWts 参数,并想知道设置此项是否有任何不利之处数字到10 ^ 8等大值。文档说
“允许的最大重量数量。没有内在限制 在代码中,但增加MaxNWts可能会允许拟合 非常缓慢和耗时。“
我还通过以下计算
计算尺寸参数size = Math.Sqrt(输入节点的百分比%*输出节点的%否)%
问题在于,如果我将“MaxNWts”设置为10000之类的值,则有时会因为系数的数量> 1而失败。使用庞大的数据集时10000。
修改
有没有办法以某种方式计算wts的数量(以获得由R nnet计算的相同数量),以便我可以每次都明确地设置它而不用担心失败?
建议?
答案 0 :(得分:2)
这就是我在Applied Predictive Modeling中看到的:
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)术语。它的主要目标是防止模型过度拟合,就像神经网络经常使用它一样,因为它的计算过度参数化。