将R nnet中的MaxNWts设置为非常大的数字

时间:2013-12-02 23:06:16

标签: r nnet

我正在使用R中nnet包中的 nnet 功能包。我正在尝试设置 MaxNWts 参数,并想知道设置此项是否有任何不利之处数字到10 ^ 8等大值。文档说

  

“允许的最大重量数量。没有内在限制   在代码中,但增加MaxNWts可能会允许拟合   非常缓慢和耗时。“

我还通过以下计算

计算尺寸参数
  

size = Math.Sqrt(输入节点的百分比%*输出节点的%否)%

问题在于,如果我将“MaxNWts”设置为10000之类的值,则有时会因为系数的数量> 1而失败。使用庞大的数据集时10000。

修改

有没有办法以某种方式计算wts的数量(以获得由R nnet计算的相同数量),以便我可以每次都明确地设置它而不用担心失败?

建议?

1 个答案:

答案 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)术语。它的主要目标是防止模型过度拟合,就像神经网络经常使用它一样,因为它的计算过度参数化。