【问题标题】:How to design an inpute matrix for binary classification in Keras如何在 Keras 中设计用于二进制分类的输入矩阵
【发布时间】:2018-01-17 12:46:59
【问题描述】:
我想根据从车辆中提取的传感器数据使用 RNN 预测车道变化。因此,我有一个输入矩阵,每行包含周期性总线数据(大约 40 毫秒)。每列包含来自单个传感器的数据。总之,我有 300 多列包含传感器数据。
我的带有标签数据的输出矩阵包含输入中的每个行条目的结果布尔值,表示车道变换。所以它们的长度相同。
例如:
..我的输入矩阵:..和输出矩阵:
+--------+---------+--------+---------+...+ +-------- ---+
| ## |传感器 1 |传感器 2|传感器 3|...| |变道|
+--------+---------+--------+---------+---+ +-------- ---+
|时间1| 15.0 | 42.0 | 1 |...| | 0 |
+--------+---------+--------+---------+---+ +-------- ---+
|时间 2| 14.8 | 38.2 | 1 |...| | 0 |
+--------+---------+--------+---------+---+ +-------- ---+
|时间 3| 14.3 | 27.0 | 0 |...| | 1 |
+--------+---------+--------+---------+---+ +-------- ---+
|时间 n| . | . | . |...| | . |
Keras 需要像 LSTM 这样的循环神经网络 (RNN) 的输入结构
[样本、时间步长、特征]
现在我的问题:
我必须如何重塑我的输入矩阵才能使用 LSTM?
我是否必须为每个时间步将整个输入矩阵移动到下一行?
我想变道前的最后 2-3 秒对于预测来说可能很有趣,所以我需要很多时间步长,这也会导致我的输入矩阵有很多副本。
以下是我的想法:
下一个时间步的输入矩阵(移动第 1 行):
+--------+---------+--------+---------+...+
| ## |传感器 1 |传感器 2|传感器 3|...|
+--------+---------+--------+---------+---+
|时间1| 0.0 | 0.0 | 0 |...|
+--------+---------+--------+---------+---+
|时间 2| 15.0 | 42.0 | 1 |...|
+--------+---------+--------+---------+---+
|时间 3| 14.8 | 38.2 | 1 |...|
+--------+---------+--------+---------+---+
|时间 4| 14.3 | 27.0 | 0 |...|
最后一个时间步长旁边的输入矩阵(移动第 2 行):
+--------+---------+--------+---------+...+
| ## |传感器 1 |传感器 2|传感器 3|...|
+--------+---------+--------+---------+---+
|时间1| 0.0 | 0.0 | 0 |...|
+--------+---------+--------+---------+---+
|时间 2| 0.0 | 0.0 | 0 |...|
+--------+---------+--------+---------+---+
|时间 3| 15.0 | 42.0 | 1 |...|
+--------+---------+--------+---------+---+
|时间 4| 14.8 | 38.2 | 1 |...|
是这样吗?
请注意,我稍后会尝试减少传感器数据。目前这不是我的第一个目标。
【问题讨论】:
标签:
machine-learning
keras
lstm
rnn