异常检测算法(二):OneClassSVM【严格讲,不是outlier检测方法,而是novelty检测方法】【但数据维度很高或对相关数据分布没任何假设情况下,也可作为一种很好的outlier检测方法】

OneClassSVM两个功能:

  • 无监督异常值检测;
  • 解决非平衡样本分类;

在做非平衡样本分类的问题时,其中如果有一类比例严重失调,就可以直接用这个方式来做:OneClassSVM;

OneClassSVM还有一个功能就是异常值检测。

scikit-learn官网:2.7. Novelty and Outlier Detection

严格地讲,OneClassSVM不是一种outlier detection方法,而是一种novelty detection方法:它的训练集不应该掺杂异常点,因为模型可能会去匹配这些异常点。 但在数据维度很高,或者对相关数据分布没有任何假设的情况下,OneClassSVM也可以作为一种很好的outlier detection方法。

在分类问题中,当两类样本及其不平衡时,也可以将个数比例极小的那部分当做异常点来处理,从另外一种角度来完成分类任务!

一、OneClass、二分类、多分类

典型的2类问题:识别邮件是否是垃圾邮件,一类“是”,另一类“不是”

典型的多类问题:人脸识别,每个人对应的脸就是一个类,然后把待识别的脸分到对应的类中去

而OneClassClassification,它只有一个类,属于该类就返回结果“是”,不属于就返回结果“不是”,乍一听感觉与2分类没什么区别,其实他们的思想有很大差异。在

你可能感兴趣的:(异常检测(Anomaly,Detection),异常检测,OneClassSVM,novelty,outlier)