-1

我想预测股价。

通常,人们会将输入作为一系列股票价格提供。然后他们将输出作为相同的序列但向左移动。

在测试时,他们会将预测的输出输入到下一个输入时间步,如下所示:在此处输入图像描述

我还有一个想法,就是固定序列长度,比如50个时间步。输入和输出的顺序完全相同。

训练时,我将输入的最后 3 个元素替换为零,让模型知道我没有这些时间步长的输入。

测试时,我会为模型提供 50 个元素的序列。最后 3 个为零。我关心的预测是输出的最后 3 个元素。

这会奏效还是这个想法有缺陷?

4

1 回答 1

2

这个想法的主要缺陷是它没有为模型的学习增加任何东西,并且它降低了它的容量,因为你强迫你的模型学习前 47 步的恒等映射 (50-3)。请注意,提供 0 作为输入相当于不为 RNN 提供输入,作为零输入,在乘以权重矩阵后仍然为零,因此唯一的信息来源是偏差和前一个时间步的输出 - 两者都已经存在原来的配方。现在是第二个插件,我们有前 47 步的输出——学习恒等映射没有任何收获,但网络必须为此“付出代价”——它需要使用权重来按顺序编码这个映射不被处罚。

所以简而言之 - 是的,你的想法会奏效,但与原始方法相比,以这种方式获得更好的结果几乎是不可能的(因为你没有提供任何新信息,也没有真正修改学习动态,但是你限制了容量要求每一步都学习恒等映射;尤其是它是一件非常容易学习的事情,因此梯度下降将首先发现这种关系,甚至在尝试“模拟未来”之前)。

于 2017-08-10T22:54:59.887 回答