Machine learning 从设备日志数据中提取模式

Machine learning 从设备日志数据中提取模式,machine-learning,pattern-recognition,bayesian-networks,Machine Learning,Pattern Recognition,Bayesian Networks,我正在做一个项目,在这个项目中,我们必须从设备日志数据中提取模式(用户行为)。设备日志包含具有时间戳的不同设备操作,如设备打开或关闭时 For example: When a person enters a room. He first switches on the light and then he switches on the fan or Whenever the temp is less than 20 C, he switches off the AC. 我正在考虑使用贝叶斯网

我正在做一个项目,在这个项目中,我们必须从设备日志数据中提取模式(用户行为)。设备日志包含具有时间戳的不同设备操作,如设备打开或关闭时

For example:
When a person enters a room. He first switches on the light and then he 
switches on the fan or Whenever the temp is less than 20 C, he switches off
the AC.
我正在考虑使用贝叶斯网络来提取这些模式

  • 从数据中学习贝叶斯网络(使用Weka或Netica)

  • Bayes网络中的弧将给出不同设备之间的模式/依赖关系

    这是正确的方法吗

编辑:设备之间的时间顺序很重要

这是正确的方法吗

有很多可能的方法,但这里有一个非常简单有效的方法适合这个领域:

考虑到应用程序的性质,时间顺序实际上并不重要,如果
风扇
之前打开也不重要

此外,如果您可以使用一个运动传感器来触发读取传感器的例行程序,或者定期进行温度检查,您可以使用下面的网络对提取的模式进行操作(无需使用时间顺序和事件跟踪使其进一步复杂化,我们提取数据以采取行动,而该领域中的事件顺序并不有趣)

例如:当一个人进入一个房间时,他首先打开开关 打开电灯,然后他打开风扇或在温度较低时打开 温度超过20摄氏度时,他会关掉空调

原始设备日志可能如下所示,T/F为真/假:

Person in room | Temperature | Light | Fan | AC
-----------------------------------------------
T              | 20          | T     | T   | T
T              | 19          | T     | T   | F
F              | 18          | F     | F   | F 

有了足够的样本,你可以在上面训练一个模型,例如,朴素贝叶斯对不相关的特征/输入不敏感,因此,例如,如果你看我上面的第一个原始表,其中包括所有变量,并尝试预测
AC
,有了足够的数据,你就会明白一些输入不是非常重要或完全不相关

或者,如果您事先知道,
风扇
空调
取决于什么,例如,我们知道,
将不取决于
温度
,而
风扇
空调
不在乎
是否打开(例如,即使人正在睡觉,它们也可以工作。)因此,您可以将其分解如下:

Person in Room | Light 
----------------------
T              | T
F              | F

Person in Room | Temperature | Fan
----------------------------------
T              | 20          | T
F              | 25          | F

Person in room | Temperature | AC
---------------------------------
T              | 20          | T
T              | 19          | F
F              | 20          | F
F              | 19          | F


时间顺序对你来说重要吗?是的!!时间顺序很重要。我的目标是从数据中提取规则。在上面的例子中,当用户进入房间时,他首先打开灯,然后打开风扇。因此,根据上面的信息,我的规则将是无论用户何时进入房间,如果他打开灯,然后风扇应该会自动打开。但是我们事先不知道设备之间的依赖关系,这对于每个用户来说都是不同的。我们必须从数据本身了解依赖关系。另外,在将来,让我们假设用户打开风扇,无论温度如何,网络都应该连接t这种行为以及风扇和温度之间的边缘应该被消除。基本上,我说的是一种自适应贝叶斯网络,它可以根据数据自动调整自身的w.r.t。此外,时间顺序也很重要。它很重要,例如,在工业过程中,在室内设备中,你是否先关灯,然后再关风扇,都无关紧要a、 AC主要取决于温度/湿度,而不是顺序。任何被挖掘出来的时间顺序模式都是个人特质,而不是automationOk中需要的功能模式!!但是如何使用数据学习依赖关系。假设我们什么都不知道,我们想从数据本身学习依赖关系。L打开空调(开/关)行为将仅取决于温度和湿度,而不取决于任何其他因素。假设设备日志中存在温度和湿度数据,朴素贝叶斯对不相关的特征/输入不敏感,因此,例如,如果您查看我的第一个包含所有变量的原始表,并尝试预测
AC
,它将了解足够的数据有些输入不是很重要或完全不相关