我在看面板数据,其被构造是这样的:面板数据
D = \{(x^{(k)}_{t},y^{(k)}_{t})\,|\, k=1,\dots,N\, , t=t_0,\dots,t_k \}_{k=1}^{N}
其中x^{(k)}
表示k
“个序列,x^{(k)}_{t}
表示k
”个序列值在时间t
,此外x^{(k)}_{i,t}
是载体x^{(k)}_{t}
中的i
'th条目。那就是x^{(k)}_{t}
是'th序列在时间t
的特征向量。子脚本和超级脚本对于标签数据y^{(k)}_{t}
意味着相同的东西,但是这里是y^{(k)}_{t} \in \{0,1\}
。
用明白的话说:数据集包含随时间观察到的个体,并且观察个体的每个时间点记录他是否购买物品(y\in \{0,1\}
)。
我想使用来自Keras的LSTM单元的递归神经网络来预测某个人是否会在给定的时间点购买物品。我只能找到RNN的例子,其中每个序列都有一个标签值(philipperemy link),而不是每个序列元素都有标签值的例子,如我所描述的问题。
到目前为止,我的方法一直是创建一个尺寸(样本,时间步长,特征)张量,但我无法弄清楚如何格式化标签,以便keras
可以将它们与特征相匹配。它应该是这样的(样本,时间步长,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
面板数据的工作?
数学计算模式似乎不工作,我跟着这个教程:http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference –