首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常检测与监督学习

异常检测与监督学习
EN

Stack Overflow用户
提问于 2014-04-26 00:42:48
回答 2查看 6.4K关注 0票数 5

我有非常小的数据属于正类,而大量的数据来自负类。根据教授的说法。Andrew Ng (anomaly detection vs supervised learning),我应该使用异常检测而不是监督学习,因为数据高度倾斜。

如果我错了,请纠正我,但这两种技术在我看来是一样的,即在(监督)异常检测和标准监督学习中,我们用正常和异常样本训练数据,并对未知数据进行测试。有什么不同吗?

我应该只执行负类的欠采样还是正类的过采样,以获得相同大小的两种类型的数据?它会影响整体的准确性吗?

EN

回答 2

Stack Overflow用户

发布于 2016-04-06 08:45:40

实际上,在监督学习中,你有标记的数据集(例如,好的,坏的),并且你在训练模型时传递标签值,以便它学习区分“好”和“坏”结果的参数。

在异常检测中,它是无监督的,因为您不会传递任何标记值()。你所要做的就是只使用“非异常”数据进行训练。然后选择epsilon值并使用数值(如F1分数)进行评估,以便您的模型将获得真正积极的良好平衡。

关于尝试过采样/欠采样,以便您的数据不会倾斜,有两件事。

  1. Ng教授提到,如果你的正类只有10k或100k中的10个,那么你需要使用异常检测,因为你的数据是高度倾斜的。如果你通常知道什么是“坏”值,
  2. 监督学习是有意义的。如果你只知道什么是“正常”/“好”,但你的“坏”值每次都可能非常不同,那么这是一个很好的异常检测案例。
票数 6
EN

Stack Overflow用户

发布于 2014-04-28 05:59:04

在异常检测中,您将从得到良好支持的数据部分确定模型参数(正如Andrew所解释的那样)。由于您的负面类有许多实例,因此您将使用这些数据进行“学习”。核密度估计或GMM是通常使用的方法的示例。因此,可以学习“常态”的模型,并且可以使用阈值来检测相对于您的派生模型被认为是异常的实例。这种方法与传统监督学习的不同之处在于,您只使用了一部分数据(在您的案例中为负类)进行训练。您可能希望在训练后将积极的实例标识为异常。

至于你的第二个问题,对负类进行欠采样将导致信息丢失,而对正类进行过采样不会增加信息。我不认为遵循这条路线是可取的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23298692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档