神经网络收敛我有包含三个自变量的原始数据:温度、应力和蠕变应变和一个因变量:蠕变速率(见下图)。 一位同事正在做一些 FEM,他需要能够获取图中点之间的值,所以我使用 JMP 中的神经平台为他获取这些值。

这非常有效,我在神经模型的预测和数据之间得到了很好的一致性。 我尝试了几种在隐藏层中具有不同数量节点的模型。 (我没有 JMP PRO,所以只能使用 1 层。)
为了决定使用哪个模型(例如节点数 N),我生成了一个 R2 和 RMSE 作为模型中节点数的函数的图。 我预计对于训练集,R2 曲线会上升,而 RMSE 曲线会单调下降(带有一些随机噪声)。 对于验证集,我预计 R2 会上升,而 RSME 曲线会下降,直到某个 N 值,此时验证曲线的趋势将反转。 这将是模型开始过度拟合训练数据的点,因此验证数据的性能会下降。
我得到的是这样的:

最初,趋势与我预期的差不多,但我有一些问题:
1)在一个模型中。 10 个或更多节点,训练集的 RMSE 系统地低于验证集。 这已经是过度拟合的标志了吗?
2) 当使用超过 ca。 43 个节点(用于 RMSE)或 ca。 63 个节点(对于 R2),模型在验证集和训练集上的性能下降。 这是为什么? 我唯一的想法是,这可能是数据集中的点数不足以正确训练神经模型的问题。 总数据集由 1600 个点组成,其中我使用 2/3 用于训练,1/3 用于验证集。
分析回复:神经网络收敛谢谢。 我会检查一下。
回复:神经网络收敛还有一点。 我编辑了我的原始帖子,因为我将隐藏层的数量与隐藏节点的数量混淆了。 我的原始帖子现在可以正确阅读,但是由于您没有使用多层,因此可以忽略节点饱和的概念。
回复:神经网络收敛讨论隐藏单元数量的唯一参考文献是 Principe, JC, NR 欧利亚诺和WC 列斐伏尔。 2000 年。神经和自适应系统. 纽约:威利。
我的陈述来自许多 SAS 神经网络专家的多年经验。 在我们关于神经网络基础知识的 SAS 课程之一中,我们有这张幻灯片和注释:

回复:神经网络收敛@Mark_Bailey @Dan_Obermiller @lwx228
感谢您的回复,我会在一个帖子中回复。
- 事实上,我使用 log10(应变率)进行建模。 所以显示的是来自 log10(应变率)的 R2 和 RSME。 对不起,我应该提到这一点。
- 我使用保留功能来确定验证集。 但是我将它与种子 0 和种子 123 一起使用。 我认为如果只提供一个种子,它会同时用于确定拟合的起始参数和选择验证集。 (指示种子 0 与不提供种子相同。)结果并没有根本不同。 (种子 0 的节点数量越少,似乎越分散,但总体趋势看起来几乎相同。)


@Dan_Obermiller :您提到经常观察到诸如改善、恶化、再次改善神经网络性能的趋势。 你对此有一些参考吗?
@lwx228 : 你说“这样的网络只会产生过拟合”。 这就是我期望看到的。 但我预计在过度拟合的情况下,验证集的 RMSE 会上升,而训练集的 RMSE 会下降。 情况似乎并非如此。 (对于 SEED=123,验证集具有较低的 R2 和较低的 RMSE。对于大量节点。 我不明白那个...)
我添加带有原始数据和脚本的文件。
回复:神经网络收敛这样的神经网络只会产生过拟合。
使用深度学习卷积神经网络是一个很好的方向。回复:神经网络收敛马克提出了非常好的问题。 您绝对应该为这些结果使用固定的验证集。
请记住,向神经网络添加更多节点可能会或可能不会提高预测能力。 有很多例子表明性能会提高,变得更糟,然后又会再次提高。 此外,当您添加更多层时,您可能会达到节点饱和点,这意味着添加更多层不会提高性能。
回复:神经网络收敛您是否创建并使用了验证数据列,或者您是否使用了平台内的保留功能?
此外,您的响应跨度超过几个数量级。 您是否尝试过转换响应,例如使用 log(以 10 为底)?