一类分类器训练

4
我正在处理一个分类问题,我只有关于一个类的数据,因此我想将其与所有其他可能性即“离群值”类别进行分类。因此,我打算使用单类分类器或LibSVM分类器。但问题是:
我需要为“离群值”类别提供训练数据吗?如果是,是否有任何方法可以解决这个问题,因为我只有关于目标类的数据。
3个回答

4

利用只有正例样本的方法之一是密度估计。您可以将参数模型拟合到数据中(例如,多元正态分布),也可以使用核密度估计器(类似于最近邻的单类版本,具有核化距离度量)。然后,在学习模型下评估新数据的概率,如果足够低,则将其拒绝为该类的成员。


我们如何评估核密度估计本身?比如说,哪种核函数好,应该设置什么带宽?(我们确实有计算带宽的函数,但我们是否知道它们是否最适合?) - Uno

1
你可以使用单类支持向量机进行新颖性检测,只需在目标类上进行训练,它就会将你的数据分类为与训练类相似或不同。你可以阅读scikit文档中有关单类支持向量机的这里

0
在一个单类分类器中,重点在于没有来自异常类的数据可用。所有1C算法都是基于这个假设设计的。常见的使用1C分类器的情况是在机器健康预测中。在这种情况下,通常只有来自健康类的数据,因为从故障类收集数据非常昂贵且难以准确获取,因为这将需要破坏设备才能看到传感器的反应。
除了上面提到的1C-SVM之外,可能的算法包括:
-神经网络自编码器。在这种情况下,重构误差可以用来量化输入是否不再属于单一类别。这也可以扩展到变分自编码器,以精确隔离潜在变量(异常的无监督分类)。
-神经网络1C分类器。
-HELM-1C网络。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接