类别不平衡问题的解决方法:过采样、欠采样和再平衡

本文探讨了在机器学习中遇到的类别不平衡问题,介绍了三种解决方法:欠采样、过采样和再缩放。欠采样通过减少多数类样本,过采样通过增加少数类样本,再缩放则是调整分类阈值。每种方法都有其优缺点,如欠采样可能导致信息丢失,过采样可能引起过拟合,而再缩放则需要修改分类器的决策规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类别不平衡问题: 指的是在分类任务中不同类别的训练样本数目差异很大的问题。

我们简单举一个例子:如果我们要判断一名大学生究竟是研究生还是本科生,我们已知在大学中本科生的数量会远远高于研究生的数量,我们假设本科生与研究生比例为9:1。此时,我们只需要将所有学生都判断成是本科生,这样我们的模型就有90%的正确率。但是这样的模型是没有意义的,因为它不可以识别研究生。

所以,各种分类学习的方法都有一个基本的假设:不同类别的训练样例数目相当,或者差异不大。

但是,当这一假设不成立的时候,我们的分类学习方法可能不会得到良好的结果。为了解决这一问题,现在大体上有三种方法。不失一般性,我们认为正例的样本数量远高于反例。

方法一:欠采样

欠采样(亦称为下采样)的思想很简单:对训练集中的正例进行欠采样,即去除一些正例,使得正例和反例的数目相当,在进行学习。

欠采样法的优势在于,它缩小了样本数目,时间成本将会缩小;但是,也就是因为其缩小了样本数量,模型的准确率可能得不到保证,并且随机删除样例也会造成信息的丢失。

目前比较好的方法是将欠采样应用到集成学习中,即对正例进行多次欠采样,之后配以反例,从而形成多组正例/反例数据集,供多个学习器使用。这样看来,每个学习器都采用了欠采样,但是在全局看来不会丢失重要信息。

方法二:过采样

过采样(亦称为上采样)的思想也很简单:对训练集中的反例进行过采样,即增加一些反例使得正例和反例的数目相同,之后在进行学习。

过采样的方法增加了数据量,同时也增加了学习的时间成本。需要注意的是:过采样不能简单的从反例中随机抽取样本,因为这样会导致严重的过拟合问题。

目前比较好的解决方法是通过对反例的插值来产生额外的反例,进而将正例和反例的数量调整至大致相当。

方法三:再缩放

我们分类器的工作原理是预测出 y y y值, y y y表达的是正例的可能性。然后将 y y y与一个阈值进行比较,通常都是与0.5进行比较,若 y > 0.5 y>0.5 y>0.5时判为正例,否则为反例。

上式也可写为:若 y 1 − y > 1 \dfrac{y}{1-y} > 1 1yy>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值