论文学习一:卷积神经网络中类别不平衡问题的系统研究
翻译自论文:A systematic study of the class imbalance problem in convolutional neural networks
摘要内容
实验数据:MNIST、CIFAR-10、ImageNet
不平衡问题解决方法:oversampling(过采样)、undersampling(欠采样)、two-phase training(两阶段训练)、thresholding(阈值)。
基于实验结果得出的结论:1) 类别不平衡不利于分类性能;2) 多数场景下,过采样方法解决类别不平衡问题效果明显;3) 过度采样应该应用到完全消除不平衡的水平上,而欠采样当不平衡只能在一定程度上消除时性能更好;4) 与一些典型的机器学习模型相反,过采样不一定会导致卷积神经网络过拟合;5) thresholding should be applied to compensate for prior class probabilities when overall number of properly classi ed cases is of interest。
类别不平衡的解决方法
1. 数据层面的方法
改变训练数据集的类别分布。
过采样: random minority oversampling:随机复制少数类的样本(易导致过拟合);SMOTE:合成新的少数类样本,合成的策略是对每个少数类样本a,从它的最近邻中随机选一个样本b,然后在a、b之间的连线上随机选一点作为新合成的少数类样本;Cluster-based oversampling:先将数据集聚类再分别在每一聚类上过采样;DataBoost-IM;class-aware sampling:特定用于使用随机梯度下降优化的神经网络。
欠采样:随机删除多数类的样本直到所有类别样本数量相当。
2. 分类器层面的方法
保持数据不变,改变训练算法。
阈值:调整分类器的决策阈值。调整神经网络输出的基础方法:neural networks estimate Bayesian a posteriori probabilities。给定一个数据
x
,类别
代价敏感学习:不同类别的样本误分类的代价不同。实施方式:阈值移动、再缩放等等。
混合方法:EasyEnsemble、SMOTEBoost、two-phase training:在平衡数据集上预训练,再基于原始不平衡数据微调输出层。
实验研究及结果分析请参阅作者论文。