类别不平衡是指分类任务中不同类别的训练样本数目差别很大的情况。
一般而言,分类学习算法有一个共同的基本假设,即不同类别的训练样本比例相当,如果不同类别比例样本数量相差较大,则会对学习器造成干扰,故有必要对不平衡样本做处理。假定正类样本比较少,反类样本比较多。
欠采样
欠采样又称下采样,去除一些反类样本,使得正、反类样本数量相当,然后再进行学习。
欠采样的时间开销很小,因为去除了很多反类样本,使得训练样本小于原始训练集,正是由于这个原因,欠采样可能会导致欠拟合的问题。
代表算法是EasyEnsamble,其利用集成学习机制,将反类划分为若干个集合供不同的学习器使用,这样,每个学习器可能丢失一些信息,但就总体全局而言,不会丢失多少信息。
过采样
过采样又称上采样,即增加正类样本数量,使得正、反类样本数量相当,然后再进行学习。
注意:过采样不能简单地的对初始正类样本进行重复采样,否则会导致严重的过拟合。代表性算法是SMOTE,是通过对训练集里的正类进行插值来产生额外的样本。
过采样的时间开销,大于欠采样。
再缩放–阈值移动
令
m
+
m^+
m+表示正类样本数量,
m
−
m^-
m−表示反类样本数量,则观测几率是
m
+
m
−
\frac{m^+}{m^-}
m−m+。假设训练集是真实样本总体的无偏采样,因此观测几率代表了真实几率。故只要分类器的预测几率高于观测几率就应判定为正类,即
若:
y
1
−
y
>
m
+
m
−
\frac{y}{1-y} > \frac{m^{+}}{m^{-}}
1−yy>m−m+
时,预测为正类。
故只需要
y
′
1
−
y
′
=
y
1
−
y
×
m
−
m
+
\frac{y^{\prime}}{1-y^{\prime}}=\frac{y}{1-y} \times \frac{m^{-}}{m^{+}}
1−y′y′=1−yy×m+m−
这是类别不平衡学习的一个基本策略–再缩放。
直接基于原始训练集进行学习,但用训练好的分类器进行预测时,将上式嵌入至决策过程中,也称为“阈值移动”。
注意,再缩放的操作不简单,因为它基于“训练集是真实样本总体的无偏采样”这个假设,而这个假设往往不成立。