在实际中,训练模型用的数据并不是均衡的,在一个多分类问题中,每一类的训练样本并不是一样的,反而是差距很大。比如一类10000,一类500,一类2000等。解决这个问题的做法主要有以下几种:
欠采样:就是把多余的样本去掉,保持这几类样本接近,在进行学习。(可能会导致过拟合)
过采样:就是增加比较少样本那一类的样本数量,比如你可以收集多一些数据,或者对数据增加噪声,如果是图像还可以旋转,裁剪,缩放,平移等,或者利用PCA增加一些样本,等方法
第三种:就是直接采用不均衡数据进行训练,可以在代价函数那里需要增加样本权重,用来平衡这个问题,也就是类别数量少的那一类代价就高,权重就比较大。在评价模型好坏的时候也需要考虑样本权重问题。