Scikit learn 基于人工输入的单类支持向量机扩展

Scikit learn 基于人工输入的单类支持向量机扩展,scikit-learn,svm,Scikit Learn,Svm,我创建了一个单类支持向量机,用于检测振动数据中的异常情况,以便进行状态监测 我的想法是将其作为扩展系统的基础。我想对检测到的异常进行聚类,并询问用户对这些聚类的输入,这样我不仅可以检测到异常,还可以对它们进行分类 有没有什么算法可以让我在检测到具有相当高确定性的聚类后增加SVM中的类数?使用SVM完成此任务是一个好主意?考虑另一个模型,如神经网络(Basic MLP P体系结构)。它们能够固有地执行多类分类 您可以做的是,首先使用两个输出节点对数据进行训练,一个用于无检测,另一个用于类。在最后

我创建了一个单类支持向量机,用于检测振动数据中的异常情况,以便进行状态监测

我的想法是将其作为扩展系统的基础。我想对检测到的异常进行聚类,并询问用户对这些聚类的输入,这样我不仅可以检测到异常,还可以对它们进行分类


有没有什么算法可以让我在检测到具有相当高确定性的聚类后增加SVM中的类数?

使用
SVM
完成此任务是一个好主意?考虑另一个模型,如神经网络(Basic <代码> MLP P<代码>体系结构)。它们能够固有地执行多类分类


您可以做的是,首先使用两个输出节点对数据进行训练,一个用于无检测,另一个用于类。在最后一层使用softmax函数并优化交叉熵函数。初始培训结束后,根据用户请求,添加另一个输出节点,并使用提供的每个新示例对模型进行微调。您的重量不会丢失,您只需对每个新类进行微调。当然,这需要大量的输入才能很好地执行。但一段时间后,它应该能正常工作。使用
SVM
,您实际上必须在新类上训练一个新的
SVM
,并实现某种投票方案,如
One vs All
<代码>支持向量机本质上是二进制分类器。

感谢您的反馈。在我看来,这可能是一个不错的选择!如果我正确理解你的建议;我使用初始的SVM分类来构造一个包含两个类(故障和无故障)的数据集,然后在系统中引入新故障时使用该分类来添加更多的类。但是,我觉得我仍然缺少一个步骤:系统如何知道何时引入了新的故障类型?换句话说,我需要能够区分检测到的第一个故障类型和新的故障类型。