支持向量机模型的具体性应达到何种程度?

使用支持向量机(SVM)的主要目的是让算法能够决定输入是真还是假等等。

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

在我的例子中,温度范围是0-102°C,如果温度达到80°C或以上,则被归类为故障。

我的输入是包含30个双精度浮点数的数组(最近30次读数)。

我在制作一些样本输入来训练SVM,我想知道是否应该传入非常具体的数据来进行训练 – 例如,传入80°C, 81°C … 102°C的数组,这样模型会自动将这些值与故障关联起来。你也可以传入30个79°C的数组,并设置为通过。

这种方法似乎是一种完整的做法,但如果输入这样的数组 – 这不就相当于硬编码一个开关语句,当温度读数为80->102°C时触发吗?

传入这些“硬编码”风格的数组是否是个好主意,还是我应该坚持使用更随机的输入?


回答:

如果可能性的集合是有限的,我强烈推荐使用朴素贝叶斯,因为这种方法非常适合这个问题。然而,如果你被迫使用SVM,我认为这会相当困难。首先,SVM的主要思想是用于分类,情景的数量并不重要。然而,输入通常很少是离散的,所以我认为通常有无限的情景。然而,通常实现的SVM只能给你一个分类,除非你有100个类,每个类代表1%的概率,否则这并不能真正解决问题。

结论是,这可能有效,但这不被认为是“最佳实践”。你可以想象你的30维向量空间被划分为100个小子空间,每个数据点,一个30×1的向量,是那个向量空间中的一个点,因此概率由它所在的100个子集中的哪一个决定。然而,拥有100个类,并且数据不干净或不足,会导致模型表现非常差,难以优化。

祝好 🙂

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注