我有一个关于递归神经网络的基本问题。即使这不是特定于代码的,但我希望您能为我提供帮助。
我正在开发一个应该能够预测家庭人类行为(打开和关闭灯)的系统。 输入分为两种不同的数据样式。
一方面,来自运动传感器和电灯开关的数据。该数据与特定的时间戳配对,我已经可以使用RNN对其进行处理以获得相当不错的预测。
为了改善这些预测,我有第二个数据集,其中包含亮度,温度,湿度,人类存在状态和粗略时间数据(例如小时,工作日)。此数据还与独立于运动传感器和灯光时间戳的测量时间戳配对。不过,我可以在第一个数据集的时间戳上对这些值进行很好的估算。
我的问题是:将这些或多或少的常量数据(与运动传感器和灯光数据相比)追加到同一位置的输入数组元素列表中是个好主意,还是有一种添加方法LSTM层之后的那些数据?那甚至是个好主意吗?第一个数据集被标记化,但第二个数据集包含“真实”值,例如亮度,一方面不能(轻松且无损失)被标记化,另一方面可能具有与第一个事件的标记相同的值数据集。有什么好的方法可以处理此类数据?
更具体一点,我想举一个例子: 正在工作的RNN接受以下数据方面的训练:
[1,2,3,4],[5]
[2,3,4,5],[6]
[3,4,5,6],[7]
其中每个数字代表一个事件(1 =开启运动,2 =关闭运动,依此类推)。我知道[1,2,3,4]
发生在例如[500]
。
并且[3,4,5,6]
发生在[1000]
的亮度下。我有一个想法,就是在特定位置添加亮度,如下所示:
[500,1,2,3,4],[5]
[750,2,3,4,5],[6]
[1000,3,4,5,6][7]
我真的很想听听您关于该主题的想法。目前,我正在python中使用带有tensorflow的keras,但我会尽力学习神经网络背后的数学。
编辑
当前我正在使用keras.layers.Embedding
,如果我想输入浮动数据,就不能再使用了。这解决了很多问题,并产生了更多问题,但不应影响我的问题。亮度等将在某些步骤中标准化。
〜法比安