回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试实现一个<a href="https://keras.io/layers/recurrent/#lstm" rel="noreferrer">LSTM with Keras</a>。</p>
<p>我知道Keras中的LSTM需要一个以形状<code>(nb_samples, timesteps, input_dim)</code>作为输入的3D张量。然而,我并不完全确定在我的例子中输入应该是什么样子的,因为对于每个输入,我只有一个<code>T</code>观察结果的样本,而不是多个样本,即<code>(nb_samples=1, timesteps=T, input_dim=N)</code>。把我的每个输入分成长度为<code>T/M</code>的样本更好吗?<code>T</code>对我来说大约有几百万个观测值,那么在这种情况下,每个样本应该有多长时间,即我应该如何选择<code>M</code>?</p>
<p>还有,我说的对吗,这个张量应该看起来像:</p>
<pre><code>[[[a_11, a_12, ..., a_1M], [a_21, a_22, ..., a_2M], ..., [a_N1, a_N2, ..., a_NM]],
[[b_11, b_12, ..., b_1M], [b_21, b_22, ..., b_2M], ..., [b_N1, b_N2, ..., b_NM]],
...,
[[x_11, x_12, ..., a_1M], [x_21, x_22, ..., x_2M], ..., [x_N1, x_N2, ..., x_NM]]]
</code></pre>
<p>其中M和N定义为之前,x对应于我从上面讨论的拆分中获得的最后一个样本?</p>
<p>最后,给定一个pandas数据框,每个列中都有<code>T</code>个观察值,每个输入都有<code>N</code>列,如何创建这样的输入以馈送给Keras?</p>