一、标签分类不平衡

在学术中,使用的大部分数据集都是平衡的。也就是在supervised learning中,每一类别通常有数目相同的样本。而在我们采集自己的数据集训练时,获得的样本数量是不平衡的,某一类样本多,另一些样本少,甚至没有。比如某一疾病的医学影像,大部分都是健康的,只有小部分患病。

二、错分成本不平衡

同样,在学术中,数据集中每一类别的分类错误的成本通常是一样的。但实际中完全不是这样。还是以医学为例,将一个健康的人误诊为患病带来的伤害相对的有限的,但是将一个患病的人误诊为健康将使病人得不到治疗而延误病情,可能为此付出生命的代价。

不平衡的数据集也会导致错分成本的上升。

那么怎么解决数据集分布不平衡的问题呢?

1. 最直观的方法就是搜集更多稀缺类别的数据,使得数据分布趋于平衡。

2. 如果某几类稀缺的样本不需要区分的太细,可以考虑将这几类样本合并,更改它们的标签为同一类。

3. 在原始数据集上做文章。

a. 对样本多的类别进行欠采样,缩减这类样本的数量;

b. 对样本少的类别进行过采样,增大这类样本的数量;

c. 先进行训练,找出出样本很容易被误分类的部分。对这部分样本进行有目的的采样,而不是a中的随机采样。

4. 最后就是在算法本身上进行改进了。让算法更关注稀缺样本的类别,增加稀缺类别样本的损失权重。