我正在使用一个递归网络进行时间序列预测。
网络中最后一个单元的预测似乎总是最准确的。例如,如果我有20个细胞(因此我的输入样本长度为20),来自后一个细胞(例如,细胞11-20)的预测似乎要好于来自早期细胞(例如,细胞1-10)的预测。
这是正常的吗?
假设我的网络只有3个单元。目前我会输入数据x(t=0,t+1,t+2)来获得预测t=0,t+1,t+2.Is这一错误的方法吗?如果我希望在所有时间步骤都有良好的预测,是否需要使用“移动窗口”--也就是说,是否应该使用滚动的输入序列:
For prediction at t=0, input x(t-2, t-1, t=0)
For prediction at t=1, input x(t-1, t=0, t=1)
For prediction at t=2, input x(t=0, t+1, t+2)发布于 2018-05-21 09:29:54
我正在使用一个递归网络进行时间序列预测。
有趣的是你选择的网络类型。多少层?每层有多少个神经元?
网络中最后一个单元的预测似乎总是最准确的。
我想根据细胞你指的是你的样本。通常,如果您在datastreams (在线)中学习,那么在以后的迭代中,网络所看到的数据要比网络在早期的迭代中看到的更多。因此,随着看了更多的样本,你的预测变得更加准确。当然,这假设您在数据仓库上进行在线学习。
目前我会输入数据x(t=0,t+1,t+2)来获得预测t=0,t+1,t+2.Is这一错误的方法吗?
这取决于您的RNN是如何设置的。例如,一个约旦网络有上下文神经元,它应该做你建议的事情。网络中递归的原因通常是您想要模拟短期内存--也就是说,从数学角度来看,您希望将以前迭代的信息输入到网络的前端。因此,由于应该在RNN中处理这个特性,我不认为扩展您的输入是好的,因为您引入了必须由网络学习的额外的、潜在无用的权重。
https://datascience.stackexchange.com/questions/31874
复制相似问题