我正在浏览有关 LSTM 神经网络的以下博客:http: //machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/
作者针对 LSTM 的不同配置将输入向量 X 重塑为 [样本、时间步长、特征]。
作者写道
实际上,字母序列是一个特征的时间步长,而不是单独特征的一个时间步长。我们为网络提供了更多上下文,但没有像预期的那样增加序列
这是什么意思?
我正在浏览有关 LSTM 神经网络的以下博客:http: //machinelearningmastery.com/understanding-stateful-lstm-recurrent-neural-networks-python-keras/
作者针对 LSTM 的不同配置将输入向量 X 重塑为 [样本、时间步长、特征]。
作者写道
实际上,字母序列是一个特征的时间步长,而不是单独特征的一个时间步长。我们为网络提供了更多上下文,但没有像预期的那样增加序列
这是什么意思?
我在您关注的 [samples, time_steps, features] 下方找到了它。
X = numpy.reshape(dataX, (len(dataX), seq_length, 1))
样本- 这是 len(dataX),或您拥有的数据点数量。
时间步长- 这相当于您运行循环神经网络的时间步长。如果你想让你的网络有 60 个字符的内存,这个数字应该是 60。
特征- 这是每个时间步的特征数量。如果您正在处理图片,这是像素的数量。在这种情况下,您似乎每个时间步都有 1 个特征。
有点晚了,但以防万一;
一个样本可能指的是个别的训练例子。因此,“batch_size”变量是您发送到神经网络的样本数。也就是说,您一次向神经网络提供了多少不同的示例。
TimeSteps是时间的刻度。这是每个样本的时间长度。例如,一个样本可以包含 128 个时间步,其中每个时间步可能是信号处理的 30 分之一秒。在自然语言处理 (NLP) 中,时间步长可能与字符、单词或句子相关联,具体取决于设置。
特征只是我们在每个时间步输入的维数。例如在 NLP 中,一个单词可以使用 word2vec 由 300 个特征表示。在信号处理的情况下,让我们假设您的信号是 3D 的。也就是说,您有一个 X、一个 Y 和一个 Z 信号,例如加速度计在每个轴上的测量值。这意味着您将在每个时间步为每个样本发送 3 个特征。纪尧姆
_
我用一个例子回答:[“你好,这是 xyz”,“你好吗”,“伟人......”]
在这种情况下,“[样本、时间步长、特征]”表示: