使用二进制传感器进行活动识别

数据挖掘 深度学习 分类 活动识别
2022-03-15 03:55:56

我有一堆来自SmartHome周围的 28 个二进制传感器的流,如下所示: 在此处输入图像描述

在哪里:

  • OBJECT:表示二进制传感器的名称
  • 状态:显然是传感器在那个精确时刻的状态(你可以把它想象成运动/压力/打开=1和无运动/无压力/关闭=0)
  • 活动:是我想预测的标签,表示人类正在做的活动
  • 时间戳/小时:你知道他们的意思......

要识别的活动是 24 并且有点复杂。比如:做早饭、做午饭、做晚饭、吃早饭、吃午饭、吃晚饭、上厕所、刷牙、穿衣、看电视等等……

你能建议一种将这个数据集用于 AR 的技术吗?

1个回答

首先,您需要找到一种方法将其表述为分类问题,其中您有成对的特征(来自您的传感器数据)和标签(活动)。

功能包

一种简单的方法是将观察结果切割成一系列时间窗口,在每个窗口内,您忽略传感器数据的时间部分(“特征包”表示)。跟踪每个传感器的当前(或最常见)状态,并计算发生的传感器转换次数(例如:C08open->close:2 次)。

要选择适当的时间窗口长度,您应该进行一些探索性数据分析以找到典型的活动持续时间。

在训练和预测期间,时间窗都应该重叠计算。假设每个窗口长 5 分钟。然后下一个窗口包含最后 4 分钟,加上 1 分钟的新数据。重叠通常在 50-90% 的范围内。

请注意,某些活动非常依赖时间。喜欢make dinnermake lunch因此,您还应该包括一个time_of_day自午夜以来的秒/分钟的功能。

时间模型

活动之间的某些转换可能比其他的更常见,这是可以使用的信息来源。示例:making dinner -> having dinner可能比making breakfast -> making dinner. 隐马尔可夫模型(HMM)将是建模的标准方法。它可以为您提供一整天最可能的活动顺序。

有一些方法可以在这类数据集上使用 CNN 和 RNN,但除非数据集很大,否则我可能不会尝试。