2013-05-06 145 views
0

我使用ntstool创建NAR(非线性自回归)网络对象,通过训练1x1247输入向量。 (每日股价6年) 我已完成所有步骤并将生成的净对象保存到工作区。如何使用创建的“网络”神经网络对象进行预测?

下面我就如何使用这个对象来预测例如T = 2000在y(t)的无能,(我训练T的模式= 1:1247)

在一些其他线程,人推荐使用sim(net,t)函数 - 但是这会给我任何t值的结果。 (与net(t)函数相同)

+0

@Marc我认为列车数据不是问题,因为所有的示例输入格式都是相同的。 – nauti 2013-05-06 15:21:54

回答

1

我不熟悉特定的神经网络命令,但我认为您正以错误的方式处理这个问题。通常情况下,您想要及时对演化进行建模。你通过指定一个特定的窗口来做到这一点,比如3个月。

你现在正在训练的是一个单输入向量,它没有关于进化的信息。你总是得到同样的预测的原因是因为你只用一个点来训练(即使它是1247维,它仍然是1点)。

你可能想进行此类型的输入向量(为简单起见,假设你用个月的工作):

[month1 month2; month2 month 3; month3 month4] 

这个例子包含了3个月的进化2个培训点。请注意它们重叠。

0

使用网络 网络经过培训和验证后,网络对象可用于计算网络对任何输入的响应。例如,如果要在建筑物数据集中查找对第五个输入矢量的网络响应,可以使用以下内容:a = net(houseInputs(:,5)) a = 34.3922 如果您尝试此命令,您的输出可能会有所不同,具体取决于网络初始化时随机数生成器的状态。下面,调用网络对象来计算外壳数据集中所有输入向量的并发集合的输出。这是模拟的批处理模式,其中所有输入向量都放置在一个矩阵中。这比一次呈现一个矢量要有效得多。 a = net(houseInputs);每次神经网络被训练时,由于不同的初始权重和偏差值以及不同的数据划分到训练,验证和测试集中,可能导致不同的解决方案。因此,针对相同问题训练的不同神经网络可以为相同输入提供不同的输出。为了确保找到一个精确度好的神经网络,重新训练几次。 如果需要更高的精度,还有其他几种技术可以改进初始解决方案。有关更多信息,请参见改进神经网络泛化并避免过度拟合。 strong text