分类问题:如何解决样本分布不均衡

分类问题:如何解决样本分布不均衡

提出问题

样本分布不均衡是解决分类问题过程中经常遇到的一种情况。

当数据集中某一类的样本数量远超于其他样本的时候,模型自然会有一种倾向使得分类结果偏向于该类样本,这是概率统计中先验的性质。

在极端情况下,如果有一类样本的数量占了数据集的绝大多数,那么哪怕模型直接将所有的样本都预测为该类样本,模型预测的错误率依然不会太低。

为了发现这种情况,我们可以采用AUC等其他的指标。当出现样本不均衡时,AUC会趋于0.5

解决问题

1. 改变采样的方式

既然不同类别的样本的数量相差悬殊时,会导致模型的预测出现较为明显的偏差,那么我们可以通过采样的方式来平衡不同类别的数量。

采样的方式有两种:

第一种是欠采样,就是对数量较多类别的样本再次采样,取其中的一部分,使其最终输入模型的数量与其他类别样本的数量相仿。欠采样显然是最理想的方案,因为完美的平衡了不同类别样本的数量,从根本上解决了问题。但是,在解决实际问题的时候,我们往往没有那么多的数据集可以供我们挥霍,所以在现实中这种方法的可行性并不高。

第二种是重采样,意思是,对数量较少的类别的样本重复采样,使其最终输入模型的数量与数量多的类别的样本的数量相仿。但是,虽然重采样可以在样本数量少,样本珍惜的情况下,手动的使不同类别样本的数量趋于平衡,但是它很大程度上破坏了数据的分布(其实欠采样也是)。

2. 施加惩罚项

样本分布不均衡一个很直观的体现就是,哪怕我把所用样本都预测为样本数量较多的类别,我的误差也不会太高。这样,模型在以误差(错误率)为指标的情况下,依然能取得较高分数。

那么,如果我们对“将样本数量较少的类别的样本分类错误”这一情况施加惩罚呢?

很好理解,在这样的情况下,哪怕模型在错误率方面的得分很高,但因为惩罚存在,整体的分数会下降。所以模型会主动避免这样的情况出现。

接下来的问题是,我们该如何设计惩罚项呢?

首先想到的是分类问题中相当经典的SVM模型中的软间隔。我们可以对每一个点施加一个约束,约束如果分类错误,该点距离划分超平面点距离不能超过多少。统计每一个约束,我们的目标是让模型在基于错误率的得分高的同时,也要保证所有点误分类到超平面的和不能太大,即这部分的得分不能太低。

所以,惩罚项的核心是 ∑ i = 1 n ξ i \displaystyle\sum_{i=1}^n{\xi_i} i=1nξi

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Grayson Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值