我是中科院计算所的博士研究生,以前做过一些行为识别方面的研究。这里提供几个链接:
一、我的github上关于机器学习及行为识别的资料,有课程有资料有论文,比较详细:GitHub - jindongwang/MachineLearning: 一些关于机器学习的学习资料与研究介绍 GitHub - jindongwang/activityrecognition: Information about activity recognition
二、关于提特征的问题,主要是时域和频域特征,用滑动窗口提取特征,比如平均数、方差、过零率等,还有傅里叶变换后的幅度、频率、均值等。
三、可用数据集:
来自UCI的一个行为识别数据集,可用来练手:UCI Machine Learning Repository: Daily and Sports Activities Data Set
四、我写的python和matlab提取特征代码,见文章最后
五、最近刚发现一个自动提取时间序列特征的库,可以省不少事,地址在这里:blue-yonder/tsfresh
下面以行为识别中最常用的加速度为例,分别从滑动窗口、时域特征、频域特征三部分做简单的分析。文章最后附有我写的python提取特征程序。
0.滑动窗口
滑动窗口由两个关键变量构成:窗口大小(windowssize)和滑动步长(step)。其中,窗口大小指的是一次处理的数据量。假设传感器采样频率为
,那么一个窗口大小通常设定为
,步长为
。
在实际应用中,我们一般选择的窗口大小为2的指数次:
这样能保证提取频域特征时,傅里叶变换的顺利进行。
1.合成加速度
加速度计通常有三轴读数
,分别表示三个方向的加速度值。在实际应用中,除去一些特定的动作需要使用特定的单轴来辨别方向之外,通常我们是将三轴加速度合成为一个加速度值(合成加速度),之后的特征提取与分类全以合成加速度为初始数据进行。这样在确保精度的同时,减少了计算复杂性。
以