分类任务中的类别不平衡问题

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

目录

一、问题定义

二、问题的解决方案

1、解决方法引入

2、理想解决方案

3、实际解决方案


一、问题定义

分类任务中不同类别的训练样本数目差别很大的情况。


二、问题的解决方案

1、解决方法引入

在线性分类器中,我们用y=\boldsymbol{w}^{T}\boldsymbol{x}+b对新样本进行分类时,我们是以一个阈值与预测的y值进行比较。通常我们选取0.5为阈值(认为真实正反例可能性相同),即:

\frac{y}{1-y}>\frac{0.5}{0.5}=1 时,预测为正例。

2、理想解决方案

但当训练集中正反例的数目不同时,观测几率为\frac{m^{+}}{m^{-}},其中m^{+}为正例数量,m^{-}为反例数量。通常我们假设训练集是真实样本总体的无偏采样,则观测几率代表真实几率。故有:

\frac{y}{1-y}>\frac{m^{+}}{m^{-}}时,预测为正例,反之为反例。

即:\frac{y}{1-y}\times \frac{m_{-}}{m_{+}}>1,这就是类别不平衡学习中的一个基本策略“再缩放”(类似代价敏感学习\frac{cost^{+}}{cost^{-}}代替\frac{m_{-}}{m_{+}},其中cost^{+}为正类被误分为反类的代价)。

3、实际解决方案

上述解决方案成立的假设为“训练集是真实样本总体的无偏采样”,但这个假设不一定成立,即很难从观测几率中推出真实几率。

因此实际处理方案有以下这三种: 

(1)直接对训练集里的反类样本进行欠采样,即去除一些反类样本,使正反类样本数量接近(可以进行多次随机欠采样,训练多个分类器,测试结果为这多个分类器的预测结果中最多的那类,这样丢失的信息就没有那么多)

(2)对训练集中的正类样本进行过采样,即增加一些正类样本,使正反类样本数量接近(过采样——可以采用对正类样本进行插值来产生额外的样本,不能单纯地重复样本,这样很容易过拟合)

(3)使用上面的理想解决方案——阈值移动


欢迎大家在评论区批评指正,谢谢啦~

猜你喜欢

转载自blog.csdn.net/weixin_55073640/article/details/125824483