@misc{e-VDS,
author = {Culurciello, Eugenio and Canziani, Alfredo},
title = {{e-Lab} Video Data Set},
howpublished = {\url{https://engineering.purdue.edu/elab/eVDS/}},
year={2017}
}
机器学习分类算法面对不均衡数据分类时性能下降的原因很多,例如不恰当的性能评价准则、不恰当的归纳偏置、某类样本数据过少产生的绝对稀少问题、各类样本数据相差悬殊产生的相对稀少问题以及采取分而治之策略算法所独有的数据碎片问题和噪音等。
以Kaggle Dog Breed Identification比赛对120种狗的品种分类数据为例(Kaggle比赛入口:dog-breed-identification )
重构数据集,又叫重采样/重抽样/重取样,是解决数据失衡的一个有效途径。该方法主要是通过减轻数据集的不均衡程度来提高少数类的分类性能。其关键在于:如何既能消除大量的噪声信息,显著减少数据不均衡程度,又能保证最小的信息损失,以保留绝大多数对分类学习有用的样本点。重采样方法,包括过取样和欠取样。
- 过取样(Oversampling):通过增加少数类的样本来提高少数类的分类性能,最简单的过取样方法是随机复制少数类样本,缺点是没有给少数类增加任何新的信息,会使分类器学到的决策域变小,从而导致过学习。
- 欠取样(Undersampling):是通过减少多数类样本来提高少数类的分类性能,最简单的欠取样方法是随机的去掉某些多数类样本来减少多数类的规模,缺点是容易丢失多数类的一些重要信息。改进的方法是通过一定的规则和技术,找出边界样本和噪音样本,有选择地去掉对分类作用不大,即远离分类边界或者引起数据重叠的多数类样本,并将其从大类中去掉,只留下安全样本和小类样本作为分类器的训练集。
事实上全连接层是制约输入大小的关键因素,因为卷积和池化层不需要输入固定大小的数据,只需要拿到前一层的Feature Map,然后做卷积池化输出,只有全连接层因为权重维度固定不能改,所以层层向回看导致所有输入都必须固定大小。
总体有两种思路:从图像数据出发,通过Resize或者Crop统一大小;从模型出发,比如物体检测中使用的SPP-Net,取消了全连接层的设计,就可以支持任意大小输入。现实生活中我们收集的数据往往都是尺寸不同的,全部Resize对模型来说非常简单,但并不是最好的方式。且Preprocess时增大了计算成本,因此从模型入手是更好的方式。
- Resize&Crop:比如对于ImageNet,通常都是将图像的宽缩放到256, 然后再随机Crop224X224大小的图片作为训练样本。
- SPP(Spatial Pyramid Pooling空间金字塔池化):SPP-Net思想在检测算法RFCN中用到,即在所有卷积层结束后得到不同size的feature map,然后在不同尺寸的feature map上画上固定大小的方格,在方格里面取个平均。