我需要使用神经网络建模来预测变量,为了避免过度拟合,我使用了 K 折交叉验证方法。在模型筛选平台上,神经网络使用三个 TanH 函数进行增强拟合。是否可以使用与平台默认设置不同的数字和配置来自定义神经网络?我需要单独获取每个折的 R 平方值,并且我还想调整神经网络设置,例如更改函数数量和应用稳健拟合。
@Nimaxim -
以下是关于如何处理 NN 模型的一些想法。
模型筛选
当你运行模型筛选时,NN 平台将运行一组基线参数:3 个 TanH 节点和 20 个 Boost。据我所知,你无法在模型筛选中调整这些基线参数。
构建单独的 NN 模型
当然,您可以通过启动“分析”>“预测建模”>“神经”来创建单个模型。在此界面中,您可以指定许多附加参数来找到适合您系统的最佳 NN 模型。
在 NN 平台中构建 NN 模型时,您可以应用 KFold 列。为此,首先通过转到“分析”>“预测建模”>“创建验证列”来创建 KFold 列。在“选定方法”菜单中,选择“创建 K 倍列”,单击“确定”,然后指定折叠数并单击“开始”。数据表中将出现一个新列,标题为“n 倍列”。启动 NN 平台并将此列添加为您的验证列。:

在所有折叠内比较 R2
将 R2 与所有折叠进行比较有点棘手,但有一种方法。首先,在 NN 平台中构建您的 NN 模型。接下来,使用红色三角形菜单保存每个模型的公式(配置文件公式也可以)。如果您有多个要保存的模型,请按下键盘上的 Ctrl 并选择保存配置文件公式,以便同时对报告中的所有模型执行此操作。在此示例中,我构建了两个模型并将其公式保存到表中(您会注意到,您不知道此模型报告中哪个折叠用于验证):

接下来,转到分析 > 预测建模 > 模型比较并加载 NN 预测公式并使用 KFold 列作为组角色:

在模型比较报告中,您将获得一个表格,其中显示每个模型中每个折叠的拟合测量值:

您可能会注意到模型在运行过程中有所不同。如果它们差别很大,您可以在模型对话框中指定随机种子。如果您使用相同的随机种子和相同的验证列,则每次运行模型时拟合度测量值都应该一致。
构建和比较多个 NN
在 JMP 中构建和比较多个 NN 模型很简单。您可以在模型对话框中轻松指定和更改参数。如果您发现想要构建和比较具有各种函数、节点和其他拟合参数的许多不同 NN 模型,您可能需要尝试我构建的 NN Tuning 插件。您可以在此处找到它:神经网络调整插件