我正在开发一个回归模型,每小时有50个数据点。我很难区分批量大小和时间步长的区别。根据我的理解,批量大小用于决定在做出预测之前我们想要考虑多少个数据点。批量大小越大,模型收敛所需的时间就越长。如果是这样的话,我对批量大小的定义已经清楚了。那么,如果我的模型运行时间不长,我可以直接使用最大值吗?这个最大值会是测试数据的大小吗?
那么时间步长呢?对于一个模型,如果你每分钟测量一次温度,直到30小时,时间步长会是多少?我希望了解使用RNN进行回归的人能解答我的疑问。
回答:
给定:
import numpy as npx = np.array([[[1], [0], [1]]])print(x.shape)
输出:
(1, 3, 1)
这是针对m
个样本,s
个时间步长,每个时间步长有e
个测量值的表示方式。
(m, s, e)
在任何情况下,数据点的数量都是数组的大小,因此:
m * s * e
每个样本的数据点数量为:
s * e
如果你每秒测量一次温度,一小时内在一个样本上进行测量。
(1, 3600, 1)
如果你测量的是温度和湿度。
(1, 3600, 2)
假设你在两个地方(A和B)同时进行这两项测量。
(2, 3600, 2)
批量大小与此完全无关。
对于每个epoch,它仅仅意味着你想一次运行多少个样本。例如,对于100个样本,批量大小为50,你在一个epoch内会有两次权重更新。