r - R 中的神经网络 : what are the difference between stepmax and rep parameters?

标签 r neural-network

neuralnet包中的stepmax和rep参数有什么区别? 我是否正确地认为stepmax是所有梯度步骤的最大计数,哪个神经网络在所有训练样本上进行?我是否正确地表示神经网络可以从 1 个示例中学习多少次?

最佳答案

您对 stepmax 的理解基本上是正确的。如果我没记错的话,神经网络包仅使用整个数据集的梯度下降,计算梯度,更新权重,然后重复直到收敛(由阈值定义) ) 或达到 stepmax

据我所知,rep 参数只不过是用于循环创建神经网络的包装器。创建神经网络存在一些固有的随机性,因此通过设置 rep > 1 函数将创建多个起始权重并拟合两者。例如,如果您这样做:

library(neuralnet)
data(infert, package="datasets")
net.infert <- neuralnet(case~parity+induced+spontaneous, infert, 
                        err.fct="ce", linear.output=FALSE, likelihood=TRUE,
                        rep = 3)

length(nn.infert$startweights)
[1] 3

length(nn.infert$weights)
[1] 3

否则两者的长度均为 1。这样做的目的是通过再次指定仅选择要使用的列表元素的 rep 参数,以便更轻松地使用 compute 评估每个重复。

这整个事情可以用一个简单的 for 循环来解决,但它将它封装在函数对象中以使其更加“方便”。关键是要确保您创建的模型不是随机发现的(即可能过度拟合)。

关于r - R 中的神经网络 : what are the difference between stepmax and rep parameters?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518511/

相关文章:

database - 如何将 R 连接到 Oracle?

artificial-intelligence - 使用遗传算法,如何基于两个神经网络结构创建后代?

validation - net.trainParam.max_fail

python - 使用 pycaffe 实现漏层 relu

r - WCAG 2.1 与 Shiny 仪表板应用程序表单标签的兼容性

r - r 中的数据帧转换

bash - 将 bash 脚本合并到 R 包中?

R gt 如何居中列标题

neural-network - 有状态 RNN 中的时间反向传播

machine-learning - Caffe意味着无需数据库即可创建文件