机器学习的样本类别不均衡问题与解决方法

1、类别不平衡问题的定义:

类别不平衡(class-imbalance)就是指分类任务中,不同类别的训练数据数目差别很大的情况。

2、类别不平衡问题的影响:

假设训练样例中正例数目m+,负例数目m-,那么观测几率为 m+/m- 。
设一个样本预测为正例的概率为p,则预测为负例的概率为1-p,则分类器的预测几率为p/1-p。
通常情况下,我们假设训练集是真实样本总体的无偏采样,那么当预测几率大于观测几率的情况下,我们就可以将样本判定为正例。即 p/1-p > m+/m-
而在实际情况下,我们会认为正例与负例的数目是相差不大的,即我们是基于p/1-p > 1来判定正例的,也就是当p>0.5时,就判定为正例。根据上面的分析,在样本类别不均衡的情况下,这一判断标准是不正确的,我们就需要对预测值进行调整。即p/1-p > m+/m-,解得p>m+/((m+)+(m-)).
这就是类别不平衡的一个重要处理策略:再缩放。

3、再缩放实际上是难以操作的:

因为“训练集是样本总体的无偏采样”这一假设并不是总成立的。

4、实际应用中对类别不平衡的处理方法:

(1)过采样:通过增加训练样例中的正例,使正反例数目接近,再进行训练
注意:不能简单的对正例进行重复采样,否则容易造成过拟合。
过采样代表算法:SMOTE:通过对训练集里的正例进行插值来产生额外的正例。
(2)欠采样:通过去除训练样例中的部分负例,使正反例数目接近,再进行训练
注意:负采样若随机丢弃负例,则容易丢失重要信息。
欠采样的代表算法:EasyEnsemble:将负例划分为若干个集合供不同的学习器使用,这样对每个学习期都进行了欠采样,但不会丢失全局信息。
(3)阈值移动:即用原来的数据集进行训练,在进行预测的时候根据“再缩放”原理,调整预测的阈值。

你可能感兴趣的:(机器学习)