我正在研究面板数据,其结构如下:
D = {(x^{(k)}_{t},y^{(k)}_{t}) | k=1,...,N, t=t_0,...,t_k}_{k=1}^{N}
其中,x^{(k)}表示第k个序列,x^{(k)}_{t}表示第k个序列在时间t的值,此外,x^{(k)}_{i,t}是向量x^{(k)}_{t}中的第i个条目。也就是说,x^{(k)}_{t}是时间t时第k个序列的特征向量。子脚本和上标对于标签数据y^{(k)}_{t}也有相同的含义,但这里y^{(k)}_{t}∈{0,1}。
简而言之:数据集包含随时间观察到的个体,对于每个观察时间点记录了他是否购买物品(y∈{0,1})。
我想使用Keras中带有LSTM单元的循环神经网络来预测在给定时间点一个人是否会购买物品。我只能找到每个序列都有标签值的RNN示例(philipperemy link),而没有像我描述的问题中每个序列元素都有标签值的示例。
到目前为止,我的方法是创建一个具有维度(samples,timesteps,features)的张量,但我无法弄清楚如何格式化标签,以便keras可以将其与特征匹配。它应该是这样的(samples,timesteps,1),其中最后一个维度表示一个单一的维度,包含标签值0或1。
此外,我遇到的一些方法将序列拆分为子序列并添加到训练数据中,从而极大地增加了内存需求(mlmastery link)。在我的情况下,这是不可行的,因为我有多个GB的数据,如果添加子序列,我将无法在内存中存储它。
我想使用的模型类似于这样:
D = {(x^{(k)}_{t},y^{(k)}_{t}) | k=1,...,N, t=t_0,...,t_k}_{k=1}^{N}
其中,x^{(k)}表示第k个序列,x^{(k)}_{t}表示第k个序列在时间t的值,此外,x^{(k)}_{i,t}是向量x^{(k)}_{t}中的第i个条目。也就是说,x^{(k)}_{t}是时间t时第k个序列的特征向量。子脚本和上标对于标签数据y^{(k)}_{t}也有相同的含义,但这里y^{(k)}_{t}∈{0,1}。
简而言之:数据集包含随时间观察到的个体,对于每个观察时间点记录了他是否购买物品(y∈{0,1})。
我想使用Keras中带有LSTM单元的循环神经网络来预测在给定时间点一个人是否会购买物品。我只能找到每个序列都有标签值的RNN示例(philipperemy link),而没有像我描述的问题中每个序列元素都有标签值的示例。
到目前为止,我的方法是创建一个具有维度(samples,timesteps,features)的张量,但我无法弄清楚如何格式化标签,以便keras可以将其与特征匹配。它应该是这样的(samples,timesteps,1),其中最后一个维度表示一个单一的维度,包含标签值0或1。
此外,我遇到的一些方法将序列拆分为子序列并添加到训练数据中,从而极大地增加了内存需求(mlmastery link)。在我的情况下,这是不可行的,因为我有多个GB的数据,如果添加子序列,我将无法在内存中存储它。
我想使用的模型类似于这样:
mod = Sequential()
mod.add(LSTM(30,input_dim=116, return_sequences = True))
mod.add(LSTM(10))
mod.add(Dense(2))
有人在keras
中使用面板数据的经验吗?