我是深度学习和LSTM网络的新手,我想知道它们是否适合我的问题。 我的参考示例是这个(https://groups.google.com/d/msg/keras-users/9GsDwkSdqBg/kV1Ep9E_BAAJ)。 所以我有一组用户的信息(~500)。对于他们每个人,我知道,在25天的时间段内,有两个分数:1和2。
我的目标是在给定的一天 n 预测下一个 d 天的得分1。 (请忘记2趋势似乎相关,因为它不是典型的情况)。从我读到的关于LSTM的内容来看,关键部分是以正确的方式塑造数据。
我的初始输入,每个用户都是50个值的矢量(25分1和25分2):
User 1: | SC1(1) | SC1(2) | SC1(3)| ... | SC1(25) | SC2(1) | SC2(2) | SC2(3) | ... | SC2(25) |
User 2: | SC1(1) | SC1(2) | SC1(3)| ... | SC1(25) | SC2(1) | SC2(2) | SC2(3) | ... | SC2(25) |
...
其中 SC1(1)表示时间点1的得分为1。 然后,我会将数据分成90%来训练模型,将10%分开来评估它。
所以考虑到我的训练集(450个样本),输入 X 和目标 y ,假设我想回顾过去3个时间点,并预测接下来的3,看起来像:
X: Y:
|SC1(1)|SC1(2)|SC1(3)|SC2(1)|SC2(2)|SC2(3)| |SC1(4)|SC1(5)|SC1(6)|
|SC1(2)|SC1(3)|SC1(4)|SC2(2)|SC2(3)|SC2(4)| |SC1(5)|SC1(6)|SC1(7)|
|SC1(3)|SC1(4)|SC1(5)|SC2(3)|SC2(4)|SC2(5)| |SC1(6)|SC1(7)|SC1(8)|
...
|SC1(20)|SC1(21)|SC1(22)|SC2(22)|SC2(21)|SC2(20)| |SC1(23)|SC1(24)|SC1(25)|
我现在的问题是:
1)数据是否以正确的格式分割和排列(使用Keras进行处理)?
2)我只需要回顾我想要向前推进的内容吗?如果没有,这些值是否有经验法则?
3)在属于不同用户的数据序列上训练网络是否有意义? (即 X 将被定义为所有用户生成的3个步骤的所有可能序列的集合)