第1章 绪论
1.1 引言
近年来,随着数据获取与数据存储设备价格的不断下降,各行各业所记录与积累的数据量也在大幅增长,其催生了一个新的名词——大数据(big data)。可以说,大数据是一把双刃剑,它在为信息产业快速发展带来机遇的同时,也向现有的信息技术提出了强有力的挑战。若信息产业的从业者应对得当,则将如徐子沛先生所言:“大数据将成为人类文明新的土壤,在这片土壤之上,人类将开始建设一个智能社会”[1]。
那么,如何从纷繁复杂的大数据中挖掘出有用的知识,并用其来加速科学技术发展及辅助商业决策呢?这便需要用到两项关键技术:机器学习与数据挖掘,二者相互关联且密不可分。其中,机器学习主要为数据挖掘任务提供模型与工具,故其更加偏重于理论;而数据挖掘则更多地关注于不同数据类型的特点及不同领域和层面用户的实际需求,并根据这些需求向机器学习寻求理论帮助,换言之,数据挖掘更加注重实际应用。近几年,随着大数据概念的不断升温,机器学习与数据挖掘技术也已逐渐成为科学界及产业界关注的焦点[2]。
一直以来,分类技术(classification)都是机器学习与数据挖掘研究领域的重要组成部分,其流程为:首先,通过数据采集设备收集一定数量的样本(如图像、文本、视频、数字等)并进行简单的预处理操作;然后,由有经验的领域专家为这些样本手工添加类别标注;继而,利用上述已添加类别标注的样本训练一个分类模型,原则在于要保证该模型可最大限度地区分不同类别的样本;最后,采用已训练好的分类模型对未知样本的类属进行预测。截至目前,已出现了大量的分类模型构建方法,较为常用的有:决策树(decision tree)[3]、K近邻(K-nearest neighbors, KNN)[4]、朴素贝叶斯(naive Bayes)[5]、Logistic回归(Logistic regression)[6]、多层感知器(multilayer perceptron, MLP)[7]、支持向量机(support vector machine, SVM)[8]及极限学习机(extreme learning machine, ELM)[9]等。分类技术也已被成功地应用于很多实际领域中,从而明显提升了人类生产、生活、交通、安防及医疗卫生等领域的智能化水平,进而将大量的人力资源从枯燥重复的劳动中解脱出来,提高了人类社会在政治、经济与文化等方面的运行效率。
然而,传统的分类技术通常存在一个致命缺陷,即当其在样本分布不均衡的数据上训练时(如采用99个健康人和1个病人的体检指标创建疾病诊断模型,99990个正常数据包和10个病毒数据包构建网络入侵检测模型等),往往会出现分类面偏倚的现象,从而无法得到理想的分类效果,在严重情况下,模型甚至会完全失效。上述问题在机器学习与数据挖掘领域通常被称为“类别不平衡”(class imbalance)问题,人们也习惯地将用于解决上述问题的算法统称为类别不平衡学习算法[10-12]。自20世纪90年代末以来,类别不平衡学习一直是机器学习与数据挖掘领域的研究热点与难点之一,很多业内的主流会议与期刊也都曾以此为题举办过专刊或研讨会,如AAAI'00[13], ICML'03[14], ACM SIGKDD Explorations Newsletter'04[15]以及PAKDD'09[16]等。在ICDM'05会议上,类别不平衡问题更是被列为数据挖掘领域待解决的十大难题之一[17]。时至今日,学术界及产业界对该问题的研究热情仍未消退,且随着大数据的出现而呈现逐渐升温的态势。图1-1为采用“class imbalance∩classification”作为关键词在工程索引(EI Village)中查询到的近年来该领域发表文献情况。
图1-1 在EI Village中以“class imbalance∩classification”作为关键词所检索到的近年文献发表情况
从图1-1中可以看出,尽管存在轻微的波动,但在近10年,该领域的文献发表数仍表现出逐年递增的趋势,特别是在2012年后,每年发表的文献数均保持在120篇以上。事实上,考虑到关键词及文献库选取的局限性,上述统计结果是在打了严重折扣的情况下得到的,实际上要远多于此。由此可见,类别不平衡学习已逐渐发展成为机器学习与数据挖掘领域的重要分支之一。
在本章的后续部分,将陆续对类别不平衡问题的基本概念、常用的类别不平衡学习技术及类别不平衡学习所适用的应用领域做概要性的介绍,以使读者能对类别不平衡学习有初步简单的了解与认识,为后续章节的学习打下坚实的基础。