单级分类器训练

问题描述 投票:4回答:3

我正在研究一个分类问题,我只有一个类的数据,所以我想在这个 "目标 "类和所有其他可能的类之间进行分类,也就是 "离群 "类。因此,我打算使用One Class Classifier或LibSVM分类器。 但问题是,我需要为 "目标 "类提供训练数据吗?

我需要为 "离群 "类提供训练数据吗?如果是,有什么办法可以解决这个问题,因为我只有目标类的数据。

machine-learning classification weka libsvm outliers
3个回答
4
投票

有一种方法可以实现这一点,只从阳性类的样本是 密度估计. 你可以对你的数据拟合一个参数模型(例如,多变量正态),或者使用核密度估计器(有点像最近邻的单类版本,有一个核化距离度量)。然后,评估你的新数据在学习模型下的概率,如果它足够低,就拒绝它作为类的成员。


1
投票

你可以使用One Class Svm来进行新奇度检测,你只需要对目标类进行训练,它就会对你的数据进行分类,使其与训练过的类相似或不同 你可以阅读One Class Svm的scikit文档。此处


0
投票

一类分类器的要点是,没有离群类的数据。所有的1C算法都是基于这个假设设计的。1C-分类器使用的常见情况是在机器的健康预估中。在这种情况下,通常只有健康类的数据,因为收集故障类的数据是非常昂贵的&很难准确地获得,因为它需要人们打破设备,只是为了看看传感器的反应。

可能的算法,不包括上面提到的1C-SVM是。

-神经网络自动编码器。在这种情况下,重建误差可以用来量化输入是否不再属于一类。这也可以扩展到Variantional autoencoders,用于准确分离潜伏变量(对异常情况进行无监督分类)。

-神经网络1C-分类器。

-HELM-1C网络

© www.soinside.com 2019 - 2024. All rights reserved.