神经网络神经网络有多可靠? 当我没有设置种子时,我得到了不同的结果,因此我设置了种子,但是当我将种子从 1234 更改为 100 时,我也得到了不同的结果。 我对变量重要性感兴趣,每次运行模型时它都会完全改变。 我也尝试过增加游览次数,但重要性仍然存在变化。 我使用 Kfold 验证,3 表示隐藏层结构,10 表示模型数量,0.1 表示学习率、变换协变量和鲁棒拟合、平方惩罚方法和 20 次游览。 训练和验证的 R 方约为 0.9。
谢谢你,
沙尼丝·克罗宾
回复:神经网络按日拟合 NN 意味着在每个子集中,每次折叠都有 12-15 个观测值,因此估计的稳定性将受到不利影响。
也就是说,最重要的预测因子通常是相同的,并且在两次运行中都表现出相似的特征。 您可以从模型中删除其中一些预测变量(可能多达一半),而性能损失很小,但生成的简约模型在神经网络运行中会更加稳定。
此外,您正在拟合一个非常复杂的模型。 隐藏节点有18个。 答案真的那么复杂吗? 模型的过度拟合也会影响运行的稳定性。
如果响应如您所说是依赖于时间的,那么对我来说,将 Day 作为预测变量并使用更大的组合数据集以获得更好的稳定性更有意义。
回复:神经网络是的,样本量范围为 60 至 91。 这些变量是妊娠第 70、90 或 110 天胎盘或子宫内膜中不同营养转运蛋白的表达。 白天是一个显着的影响,并且表达可能每天都会有所不同,这就是我每天拟合模型的原因。 确实,影响很小,这可能就是变量重要性变化很大的原因。 这是我所看到的一个例子。
Neural Network Run 1Neural Network Run 1Neural Network Run 1Neural Network Run 1Neural Network Run 1Neural Network Run 1神经网络运行 1
Neural Network Run 2Neural Network Run 2Neural Network Run 2Neural Network Run 2Neural Network Run 2Neural Network Run 2神经网络运行 2
回复:神经网络那么样本量范围是 60 到 91 吗? 对于 k 倍 CV 来说,这似乎是足够的数据。 尽管如此,如果效果很小,那么每次随机分配训练和验证集时,估计值和伴随的变量重要性可能会发生很大变化。 这是一个基于 Big Class 示例的简单案例,神经网络使用默认设置,但验证使用 5 倍 CV。

(第一次好玩)

(第二轮)
这两次运行使用相同的数据集和设置,但涉及对五个折叠的不同随机分配。 这种变化与您所看到的相似吗?
为什么不包括天作为预测器,那么数据集大小将为 209?
回复:神经网络数据集中共有 209 个观测值,但我每天都在拟合模型。 第 70 天 = 60,第 90 天 = 91,第 110 天 = 58。
回复:神经网络您的数据集中总共有多少个观察值?
回复:神经网络我应该简单地选择 R 方最大的模型吗? 每次拟合模型时,R 方始终很高(在 0.90 和 0.94 之间),但预测刻画器下的变量重要性会发生显着变化。
回复:神经网络神经网络是可靠的预测模型。 您正在使用 k 折交叉验证,因此,当然,每次拟合模型时,您都会得到不同的估计和结果。 事实上,您获得的训练集和验证集几乎相同的 R 方很好地表明该模型非常适合。
您可以将拟合模型保存为列公式。 然后您不必再次拟合模型,并且使用模型时估计值也不会改变。
回复:神经网络嗨马克,
谢谢您的回复!这对我理解神经网络模型非常有用。
如果我不设置随机种子,有什么方法可以获取当前 NN 模型的种子数?
此外,有没有办法获取历史种子数?我得到了一个很好的模型,但我不知道种子,我想下次重复这个模型。
谢谢!
最好的,
嘉平
回复:神经网络第一次拟合的默认种子为 0。此时您可以指定另一个种子。拟合使用一系列伪随机数,这会沿途更改种子。后续拟合使用最后一个种子。第一次拟合后您无法指定它。
如果您保存了 Neural 脚本,则会捕获用户指定的种子。如果您使用默认种子,则不会发生此操作,但您始终可以在下次使用默认种子来重现拟合。
无法从旧的 fit 中获取起始种子。
回复:神经网络嗨马克,
谢谢你的回复!
当我们设置随机种子的时候,我们是否就决定了交叉验证的方式呢?
当我将随机种子设置为 1 并得到一个模型时,顶部的“模型启动”中会出现一个“开始”选项。点击“开始”后,得到的是另一个 R^square 略有不同的模型。点击“开始”后,得到的模型 R^2 与前一个模型有什么不同?
如果我不指定随机种子并单击“开始”,它会给我们具有不同随机种子的不同模型吗?
谢谢!
回复:神经网络随机种子决定了平台算法使用的随机数序列的开始。默认种子 0 告诉 Neural 您不想确定序列。因此,多次启动 Neural 并使用默认种子 0 进行拟合不会产生可重现的结果。您可以更改种子以重新启动序列。如果您再次启动 Neural 并将种子更改为相同的非零值,您将获得相同的拟合结果。
您只能在开始时设置种子。要使用相同的初始种子启动相同的序列,您必须重新启动 Neural。