1.上采样:增加样本数较少的样本,其方式是直接复制原来的样本。样本较少时采用。
2.下采样:减少样本数较多的样本,其方式是丢弃这些多余的样本。样本较多时采用。
3.合成样本:增加样本数目较少的那一类的样本,合成指的是通过组合已有的样本的各个 feature 从而产生新的样本。
一种最简单的方法就是从各个 feature 中随机选出一个已有值,然后拼接成一个新的样本,这种方法增加了样本数目较少的类别的样本数,作用与上面提到的上采样方法一样,不同点在于上面的方法是单纯的复制样本,而这里则是拼接得到新的样本。
4.改变样本权重:增大样本数较少类别的样本的权重,当这样的样本被误分时,其损失值要乘上相应的权重,从而让分类器更加关注这一类数目较少的样本。对小样本增加它的权重。
5.若极其不平衡,可以考虑把任务转换成异常检测问题。
6.组合/集成方法指的是在每次生成训练集时使用所有分类中的小样本量,同时从分类中的大样本量中随机抽取数据来与小样本量合并构成训练集,这样反复多次会得到很多训练集和训练模型。最后在应用时,使用组合方法产生分类预测结果。
难例挖掘:
困难负样本:容易被当作正样本的负样本。
选择使用正样本训练好的网络去预测困难负样本,选择得分高的负样本,将这些困难负样本加入到负样本集合中如此反复训练,网络性能将更好。
为了让算法能够更加有效, 也就是说让算法更加专注于 hard negitive examples, 我们认为 hard negitive examples 包含在[0.1, 0.5) 的可能性很大,所以训练时, 我们就在这里 随机选取样本训练
参考:机器学习模型构建时正负样本不平衡带来的问题及解决方法