关于冗余的哲学问题

数据挖掘 机器学习 神经网络 深度学习 lstm 监督学习
2022-03-07 04:02:50

假设我实现了一个与此类似的LSTM 监督学习版本即,我有这些单变量时间序列数据:

t Y
1 101
2 105
3 108
4 104
5 110
6 112
7 119
8 111
9 113
10 115

所以时间 1 的 Y 是 101,时间 2 的 Y 是 105,等等。

目标是在给定时间 t 和 t-1 的 Y 的情况下预测时间 t+1 的 Y。也就是说,我可以重新排列这个数据集,使其看起来像监督学习:

Y_(t-1) Y_t Y_(t+1)
101 105 108
105 108 104
108 104 110
104 110 112
110 112 119
112 119 111
119 111 113
111 113 115

请注意,从 t=3 到 t=10(最大值)的每个 Y 值仅被预测一次。

现在假设我将数据集划分为大小为 5 的重叠小批量。为简单起见,我们将只考虑前两个小批量:

t Y
1 101
2 105
3 108
4 104
5 110

2 105
3 108
4 104
5 110
6 112

我使用相同的技巧将其转换为每个小批量的监督学习问题:

Y_(t-1) Y_t Y_(t+1)
101 105 108
105 108 104
108 104 110

Y_(t-1) Y_t Y_(t+1)
105 108 104
108 104 110
104 110 112

注意:现在来自第一个 minibatch 的两个预测在第二个 minibatch 中重复。

我知道,如果我希望每个 Y 值只有一个预测,那么我应该先将整个数据集转换为有监督的,然后再创建小批量。

问题:

这种替代方法不正确吗?如果是这样,为什么?如果不是,我应该对预测进行平均,还是有另一种可以接受的方式来组合来自这样几个时间步的预测?

编辑:我应该提到模型的学习参数对于每个位置都是不同的,即使数据点是相同的。例如,用于预测 minibatch 1 中 Y_(t+1) = 104 的参数与用于预测 minibatch 2 中 Y_(t+1) = 104 的参数不同。

编辑2:我认为这种方法并不正确,只是可能有点奇怪。在某种程度上,它类似于双向 LSTM(向后和向前读取输入以增加网络对端点的暴露——即增强信号)。这也增强了信号,但可能会增加相当多的偏差。想法?

1个回答

重复样本可能只会减慢学习过程。只要小批量很小,这可能不会产生很大的影响。但是,如果批次和重复次数变得很大,则基于梯度的学习可能会遇到困难。

如果您不打乱批次,重复的样本将阻止模型获取新信息,并可能使其在当前样本上“过度拟合”。由于在每批中你只会得到一个新样本(而所有其他样本都在重复),因此学习要么减慢要么变得陈旧并停留在不利的位置。

由于您的方法只有二维输入,因此这可能不是主要问题,因为损失函数可能不会像其他神经网络应用程序那样复杂。

总体而言,就您而言,除了更长的学习时间外,您可能不会看到对性能的重大影响。

您无需担心重复样本的组合预测,因为您可以在学习完成后使用最终参数进行预测。