我使用ntstool通过在 1x1247 输入向量上进行训练来创建 NAR(非线性自回归)网络对象。(6 年的每日股票价格)我已完成所有步骤并将生成的网络对象保存到工作区。
现在我不知道如何使用这个对象来预测 y(t),例如 t = 2000,(我训练了 t = 1:1247 的模型)
在其他一些线程中,人们建议使用 sim(net, t) 函数 - 但是对于任何 t 值,这都会给我相同的结果。(与 net(t) 函数相同)
我使用ntstool通过在 1x1247 输入向量上进行训练来创建 NAR(非线性自回归)网络对象。(6 年的每日股票价格)我已完成所有步骤并将生成的网络对象保存到工作区。
现在我不知道如何使用这个对象来预测 y(t),例如 t = 2000,(我训练了 t = 1:1247 的模型)
在其他一些线程中,人们建议使用 sim(net, t) 函数 - 但是对于任何 t 值,这都会给我相同的结果。(与 net(t) 函数相同)
我不熟悉具体的神经网络命令,但我认为你以错误的方式处理这个问题。通常,您希望对时间演变进行建模。你可以通过指定一个特定的窗口来做到这一点,比如 3 个月。
你现在训练的是一个单一的输入向量,它没有关于时间进化的信息。您总是得到相同预测的原因是因为您只使用了一个点进行训练(即使它是 1247 维,它仍然是 1 个点)。
您可能想要制作这种性质的输入向量(为简单起见,假设您正在使用几个月):
[month1 month2; month2 month 3; month3 month4]
这个例子包含 2 个训练点,进化了 3 个月。请注意,它们重叠。
使用网络 网络经过训练和验证后,网络对象可用于计算网络对任何输入的响应。例如,如果你想在建筑数据集中找到对第五个输入向量的网络响应,你可以使用下面的 a = net(houseInputs(:,5)) a = 34.3922 如果你尝试这个命令,你的输出可能会有所不同,具体取决于网络初始化时随机数生成器的状态。下面,调用网络对象来计算住房数据集中所有输入向量的并发集合的输出。这是模拟的批处理模式形式,其中所有输入向量都放在一个矩阵中。这比一次呈现一个向量要有效得多。a = 净(houseInputs);每次训练一个神经网络,由于不同的初始权重和偏差值以及将数据划分为训练集、验证集和测试集的不同,可能会导致不同的解决方案。因此,针对同一问题训练的不同神经网络可以为同一输入提供不同的输出。为确保找到具有良好准确性的神经网络,请重新训练几次。如果需要更高的精度,还有其他几种技术可以改进初始解决方案。有关详细信息,请参阅改进神经网络泛化和避免过度拟合。强文本 再训练几次。如果需要更高的精度,还有其他几种技术可以改进初始解决方案。有关详细信息,请参阅改进神经网络泛化和避免过度拟合。强文本 再训练几次。如果需要更高的精度,还有其他几种技术可以改进初始解决方案。有关详细信息,请参阅改进神经网络泛化和避免过度拟合。强文本