使用多个特征的支持向量机 (SVM) 训练

Posted

技术标签:

【中文标题】使用多个特征的支持向量机 (SVM) 训练【英文标题】:Suport Vector machine (SVM) training using multiple features 【发布时间】:2016-12-02 04:21:34 【问题描述】:

我正在尝试使用从 GPS 中提取的点数据集来训练我的 svm 算法。我的数据实例(例如 x1、x2、x3、... xn)具有一组属性(速度、坐标等)。我将两个数据实例(点)之间的线视为一个片段,并且我正在尝试使用多个特征(属性)和移动顺序来训练我的算法。考虑到我将数据保存在 CSV 文件中,我想做的是:

1st row: x1(speed, lon, lat), x2(speed,lon, lat), x3(speed,lon, lat)
2nd row:x2, x3, x4
3rd row: x3, x4, x5

等等。

通过这样做,我将训练我的算法来学习序列,这就是我正在尝试做的事情。 我的问题是;我将如何以序列的形式训练它?以及这个序列如何包含多个特征?

我热衷于使用 R 或 Python,尽管我更熟悉 R。据我所知 Python 中的 sklearn 库也可能有用,但我不明白培训的形式set 必须训练 svm。 任何帮助将非常感激。 谢谢

【问题讨论】:

SVM 是一种分类器——它学习从特征向量x 到标签向量y 的映射。在这种情况下,您试图预测的标签是什么? “学习序列”究竟是什么意思? 嗨 ali_m,感谢您的回复。标签实际上是 1 或 0。我想做的是研究关于这些 GPS 点的行为。所以认为 1 是正常行为,0 是异常行为。但是可能有一个异常的子序列,而不是整个事件序列本身。这就是我尝试这样做的原因。 【参考方案1】:

在阅读了您对 ali_m 的描述后,您为什么选择 SVM?可以使用 SVM(监督学习)的替代方法,使用“异常检测”(无监督学习),在您的情况下异常将是异常,您可以改变阈值并使用它。

【讨论】:

路易斯您好,感谢您的回复。我不太确定如何通过无监督学习来做到这一点。这是我在 ML 和异常检测方面的第一个项目,这也是我选择 SVM 的原因(我不必开发新功能)。不过,我必须找到一种方法来模拟我之前提到的子序列中的异常,这是我唯一想到的。如果您能对此提供帮助,将不胜感激。谢谢 我没有完全理解你的问题,你能分享一个例子,说明你的数据在你的训练集中是如何组织的,以及你试图预测新例子的价值是什么? 嗨,路易斯。我想以一种可以读取片段的方式训练我的算法。我希望每条学习线都是“连续的”。这样,算法学习数据的方式就会有一个“滑动窗口”,我将能够提取每个段中的异常。不过我不确定这是否清楚。 我还没有创建训练集。我想做的是用我的变量(速度、坐标等)训练算法,并使用正常/异常等标签。通过按照我的想法训练算法,我最终会为每一行获得新的标签。或者至少,我是这么认为的。 哦,我想也许你在混合想法和技术,我的 cmets 根据你的回答将是: - 如果你没有训练集,你就无法训练 SVM

以上是关于使用多个特征的支持向量机 (SVM) 训练的主要内容,如果未能解决你的问题,请参考以下文章

05-支持向量机 (SVM) 下

机器学习算法之二:SVM(支持向量机)

大数据-10-Spark入门之支持向量机SVM分类器

基于并联SVM支持向量机训练HOG特征提取的人员目标提取

支持向量机优缺点?

支持向量机原理