【问题标题】:How to classify the recorded data from multiple sensors?如何对来自多个传感器的记录数据进行分类?
【发布时间】:2016-05-27 14:48:29
【问题描述】:
我正在尝试构建一个能够通过使用连接到 flex 传感器和加速度计(可能也是 emg 传感器)的 arduino 来识别手势的手套。
我能够从我读取的传感器记录所有这些数据。我想要了解如何创建一个分类器来识别这些手势。有人说要使用 Matlab 或 Pyton,但我不知道从哪里开始。我看到了一些机器学习库,但我立刻迷路了。我对抽样和分类的概念只知道一点点。
如果可能的话,我想要一些关于我可以开始学习的资源的建议。
注意:我主要了解java编程语言。
【问题讨论】:
标签:
machine-learning
classification
sampling
【解决方案1】:
在将机器学习应用于您的问题之前,您可能需要学习一些有关它的课程/教程。
There 是一大堆 ML 材料。
还有一些步骤可以帮助您解决问题。
-
首先,您必须为您的数据选择合适的格式。到
识别手势,你可能需要跟踪你的
参数(屈曲、加速度)随时间变化。
示例:每 0.1 秒记录一次参数,并记录手势
长度为 1s。所以特征向量看起来像[f0, f1, ...,
f10, a0, ..., a10]。
之后,您必须创建 训练集 - 一组特征
带有相应标签的向量。此时,您必须标记
自己做手势。你可能需要很多例子来获得你的
进一步的分类器工作。
最后一部分:选择一些机器学习工具(我用 Python 和
scikit-学习)。分类器种类繁多,但我建议
使用简单的开始(最近邻,决策树)。
Java中有一些机器学习库,你可以使用它们
如果你想。使用你的训练数据集来训练你的分类器,所以
它将能够预测新特征向量的标签。
示例(Python):
from sklearn.neighbors import KNeighborsClassifier
clf = KNeighborsClassifier()
clf.fit(X, y)
# X is an array of feature vectors, y is an array of labels.
gestures = clf.predict(X_new)
# X_new is an array of feature vectors of
# gestures you want to recognize
另外,你可能会发现有用的this Kaggle 比赛,它也是关于手部动作识别,但使用脑电图记录。