负类是什么?二分类中与目标相对的那一类
负类(Negative Class),也叫反类、反例或阴性类,是二分类问题中与正类相对的那一类。在二分类中,通常把我们关心、需要检测出来的那一类指定为正类,比如“患病”“欺诈交易”“垃圾邮件”,而另一类,比如“健康”“正常交易”“正常邮件”,就是负类。在数据中,负类通常用 0 或负 1 来表示。
“负”不代表“坏”
与正类中的“正”不代表“好”一样,负类中的“负”也并不表示坏的、消极的意思,而只是表示“不是我们要找的那一类”,相当于对“是不是”这个问题回答“不是”。实际上,负类往往代表的是正常的、良好的情况:在疾病诊断中,负类是“健康”,检测结果为“阴性”通常是好消息;在质量检测中,负类是“合格品”。在很多实际问题中,负类的样本数量远远多于正类:绝大多数人是健康的,绝大多数交易是正常的,绝大多数产品是合格的。
负类在混淆矩阵中
对于负类的样本,模型的判断有两种结果:被正确地判断为负类,叫作真反例,也叫真阴性;被错误地判断为正类,叫作假正例,也叫假阳性,也就是误报。比如一个健康的人被误诊为患病,一封正常的邮件被误判为垃圾邮件,一笔正常的交易被误判为欺诈而被拦截。
与负类相关的指标
特异度,也叫真反例率:所有实际为负类的样本中,被正确判断为负类的比例,等于真反例除以真反例与假正例之和。它衡量的是模型“不冤枉好人”的能力。在医学中,特异度与灵敏度是评价一种诊断方法的两个最基本的指标。假正例率:所有实际为负类的样本中,被错误判断为正类的比例,等于 1 减去特异度。它是 ROC 曲线的横轴。阴性预测值:所有被判断为负类的样本中,真正属于负类的比例。它告诉一个检测结果为阴性的人,他有多大的把握确实没有问题。
负类数量多带来的问题
由于负类的样本往往占绝大多数,在评价模型时需要特别注意。准确率可能产生误导:如果负类占 99%,一个把所有样本都判为负类的模型,准确率就有 99%,但它一个正类也没有找出来,毫无用处。误报的绝对数量可能很大:即使假正例率只有 1%,如果有一百万个负类样本,也会产生一万次误报,可能让处理这些警报的人员不堪重负。因此,在设计系统时,不仅要看比例,还要关注误报的绝对数量和处理成本。为了应对负类数量过多的问题,可以采用对负类进行欠采样、给正类更大的权重、调整判定阈值等方法。
其他语境中的“负样本”
在对比学习和度量学习中,“负样本”指的是与锚点样本不相似、应该在表示空间中被推远的样本,比如与一张猫的图片相比,一张汽车的图片就是负样本。在训练词向量的负采样方法中,负样本是随机抽取的、与当前词无关的词。在推荐系统中,用户没有点击或没有购买的物品常被当作负样本,但需要注意,用户没有点击某个物品,不一定是因为不喜欢,也可能只是没有看到,因此如何选择合适的负样本,是推荐和检索模型训练中的一个重要问题。在这些场景中,选择“难”的负样本,也就是那些与正样本比较相似、容易被混淆的负样本,往往能让模型学得更好。