【问题标题】:Expanding a One-Class Support Vector Machine based on human input扩展基于人工输入的一类支持向量机
【发布时间】:2018-07-15 07:01:57
【问题描述】:

我创建了一个 One-class SVM,用于检测振动数据中的异常情况以进行状态监测。

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

一旦以相当高的确定性检测到集群,是否有任何算法允许我增加 SVM 中的类数量?

【问题讨论】:

    标签: scikit-learn svm


    【解决方案1】:

    在此任务中使用SVM 是个好主意吗?考虑另一种模型,例如神经网络(基本MLP 架构)。那些能够固有地执行多类分类。

    您可以做的是,最初使用两个输出节点对您的数据进行训练,一个用于不检测,一个用于您的类。在最后一层使用 softmax 函数并优化交叉熵函数。在初始训练后并根据用户请求,添加另一个输出节点并使用每个新提供的样本微调您的模型。您的体重不会减轻,您只需对每个新课程进行一些微调。当然,这需要大量的投入才能表现良好。但一段时间后,它应该可以正常工作。使用SVM,您实际上必须在您的新班级上训练一个新的SVM,并实施某种投票方案,例如One-vs-AllSVMs 本质上是二元分类器。

    【讨论】:

    • 感谢您的反馈巴斯蒂安。在我看来,这可能是一个不错的选择!如果我理解你的建议是对的;我使用初始的 SVM 分类来构建具有两个类(故障和无故障)的数据集
    • 然后在系统引入新故障时使用它来添加更多类。但是我觉得我在这里仍然缺少一步:系统如何知道何时引入了新的故障类型?换句话说,我需要能够区分检测到的第一个故障类型和新的故障类型。
    猜你喜欢
    • 2011-10-15
    • 2013-03-04
    • 2011-07-01
    • 1970-01-01
    • 2018-02-05
    • 2013-08-31
    • 2014-04-08
    • 2017-04-15
    • 1970-01-01
    相关资源
    最近更新 更多