支持向量机模型应该有多具体?

How specific should a Support Vector Machine Model be?

使用 SVM 的全部意义在于算法将能够决定输入是真还是假等等。

我正在尝试使用 SVM 进行预测性维护以预测系统过热的可能性。

对于我的示例,范围是 0-102°C,如果温度达到 80°C 或更高,则归类为故障。

我的输入是 30 个双精度数组(最后 30 个读数)。

我正在制作一些样本输入来训练 SVM,我想知道传入非常具体的数据来训练它是否是一种好的做法 - 例如传入数组 80°C、81°C ... 102° C 以便模型自动将这些值与失败相关联。你也可以做一个 30 x 79°C 的数组并将其设置为通过。

这似乎是一种完整的实现方式,尽管如果您输入这样的数组 - 它是否与硬编码 switch 语句以在温度读数为 80->102°C 时触发不同。

传入这些 "hardcoded" 样式数组是个好主意还是我应该坚持使用更多随机输入?

如果存在有限的可能性,我真的会推荐使用朴素贝叶斯,因为该方法可以完美地解决这个问题。但是,如果您被迫使用 SVM,我会说那会相当困难。对于初学者来说,SVM 的主要思想是将其用于分类,场景的数量并不重要。然而,输入很少是离散的,所以我猜通常会有无限的场景。但是,正常实现的 SVM 只会给你一个分类,除非你有 100 个 类 一个 1% 另一个 2%,这不会真正解决问题。

结论是这可行,但不会考虑 "best practice"。你可以想象你的 30 维向量 space 分成 100 个小子 spaces,每个数据点,一个 30x1 向量是该向量 space 中的一个点,所以概率由哪个决定100 个子集中的一个。但是,有 100 个 类 并且数据不是很干净或不足,将导致非常糟糕、性能不佳的模型。

干杯:)