论文部分内容阅读
不均衡学习是机器学习领域的一个分支。不均衡分类在实际生活中的应用场景下随处可见,如疾病预测,信用卡欺诈,网络攻击等,诸如此类的情况,对少数类样本的准确分类通常更有意义。然而,一方面由于在当今社会各种场景下的数据量越来越大,另一方面为了提高对不均衡数据分类的结果,各种算法尤其是集成算法的处理方式越来越复杂,导致对不均衡数据分类所需的时间越来越长,有时大规模数据使用较复杂的算法进行分类耗时长达数天,一定程度上对研究或工作效率产生负面影响。因此迫切需要更高效的方式,近些年流行的GPU运算是实现这一目标的有效途径。本文利用GPU并行计算的技术,重点解决多类不均衡数据分类效率低下的实际问题,在基本不降低算法分类准确性的前提下,大大提升算法的分类效率,满足工业界和学术界的现实需求。实验证明,对于大规模数据集,本文方法可以将原本超过5天的处理时间缩短到仅需9小时左右,充分证明了其高效性。本文主要贡献如下:一、实现5个较新多类不均衡分类算法,并完成其基于GPU平台的并行加速,此外提出1个新的高效多类不均衡分类算法Focal Boost。首先完成基于CPU运算的串行算法,包括DECOC、DOVO、Ada Boost.M1、SAMME和im ECOC(这些算法均是基于Python手动实现的,scikit-learn中没有提供除SAMME之外的全部算法实现)。实验分析多类不均衡分类算法处理数据的时间消耗,大部分在于基分类器对数据的处理,因此从设计实现基分类器基于GPU的并行加速入手,最终实现基于GPU加速的多类不均衡分类算法。为了达到保持分类高准确性的同时让算法更高效的目的,提出了一种新的多类别不均衡分类算法Focal Boost,在Boosting方法的基础上,融合近两年深度学习领域使用广泛的focal loss损失函数,将其应用于关系型数据上,并对多类不均衡数据进行分类。二、设计大规模实验验证基于GPU加速的多类不均衡分类算法的准确性,以及在处理数据时的高效率。该阶段使用19个经典的多类不均衡数据集,对基于GPU加速的多类不均衡分类算法的分类性能和加速效果进行验证,并记录处理数据的时间,最终得出结论:在保证对多类不均衡数据分类准确性的前提下,基于GPU加速的多类不均衡分类算法在处理数据的效率上体现出非常明显的优势。除此之外,设计实验分析数据集的样本容量、维度、类别数对加速性能产生的影响,实验证明样本容量越大、维度越大,类别数适当的情况下,基于GPU加速的多类不均衡分类算法的加速效果越明显。同时,实验证明Focal Boost算法在原有算法上有一定提升,与算法DOVO分类性能相当,与此同时保留了原算法的高效率。三、开源本文实现的基于GPU加速的多类不均衡分类算法软件GPU-im Learn。将本文实现的包含Focal Boost在内共6个基于GPU加速的多类不均衡分类算法,打包为第三方库文件,将全部资源(包括基于CPU运算的版本、基于CUDA和基于Py Torch的版本)上传至Git Hub平台(https://github.com/inbliz/gpuimlearn),并提供简便的安装方式,可供相关研究人员使用。