1.1 大数据时代的数据挖掘
大数据(Big Data)一词,经常被用以描述和定义信息爆炸时代产生的海量信息。2012 年 3 月底,美国政府发布了大数据研发专项研究计划 (Big Data Initiative),拟投入 2 亿美元用于研究开发科学探索、环境和生物医学、教育和国家安全等重大领域和行业所需的大数据处理技术和工具,把大数据研究上升为国家战略。2016年5月,美国发布了联邦大数据研究与开发战略计划(以下简称“计划”),其目标是对联邦机构的大数据相关项目和投资进行指导。该“计划”主要围绕代表大数据研发关键领域的7个战略进行,包括促进人类对科学、医学和安全所有分支的认识;确保美国在研发领域继续发挥领先作用;通过研发来提高美国和世界解决紧迫的社会和环境问题的能力。
中国计算机学会于2012年10月成立了大数据专家委员会(以下简称大专委),并在2012年12月发布了调研报告,阐述了数据科学的热点问题和发展趋势。我们已经处在大数据时代,大数据已经成为当前计算机科学领域最重要、最前沿的研究问题之一。2016年,我国“十三五”规划纲要发布,纲要指出,实施国家大数据战略。把大数据作为基础性战略资源,全面实施促进大数据发展行动,加快推动数据资源共享开放和开发应用,助力产业转型升级和社会治理创新。
在大数据时代,数据的产生和收集是基础,而数据挖掘则是大数据应用中最关键也是最基本的工作。通常来讲,数据挖掘(Data Mining)或知识发现(Knowledge Discovery)泛指从大量数据中挖掘出隐含的、先前未知但潜在的有用信息的一个工程化和系统化的过程。
1.1.1 大数据的特点“4V+4V”
从数据的表现形式看,业界普遍认为大数据具有如下的“4V”特点[1]。
(1)海量(Volume):数据体量巨大,从TB级别跃升到PB级别。
(2)多样(Variety):数据类型繁多,如网络日志、视频、图片、地理位置信息等。
(3)高速(Velocity):处理速度快,需实时分析,这也和传统的数据挖掘技术有着本质的不同。
(4)价值(Value):价值密度低,商业价值高,合理利用低密度价值的数据并对其进行正确、准确的分析,将会带来巨大的价值。
上述“4V”特点描述了大数据区别于以往部分抽样的“小数据”的主要方面。然而,实践是大数据最终价值的体现,从实际应用和大数据处理的复杂性看,我们认为大数据还具有如下新的“4V”特点。
(1) 变化性(Variable)
在不同的场景、不同的研究目标下,数据的结构和意思可能会发生变化,因此,在实际研究中要考虑具体的上下文场景。
(2)真实性(Veracity)
获取真实、可靠的数据,是保证分析结果准确、有效的前提,只有通过真实而准确的数据才能获取真正有意义的结果。
(3)波动性(Volatility)
由于数据本身含有噪声以及分析流程不规范,导致采用不同的算法或手段会得到变化的或有差异的分析结果。
(4) 可视化(Visualization)
在大数据环境下,通过数据可视化可以更加直观地阐释数据的意义,帮助理解数据,解释结果。
国内外不同的专家和学者对大数据有不同的理解定义,中国科学院计算技术研究所的李国杰院士认为:大数据就是“海量数据”加“复杂数据类型”[2]。维基百科对大数据的定义是:大数据是由于规模、复杂性、实时性而导致的无法在一定时间内用常规软件工具对其进行获取、存储、搜索、分享、分析、可视化的数据集合。Gartner咨询公司给出的定义是:大数据是需要采用新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。而互联网数据中心将大数据定义为:为了更经济地从高频率的、大容量的、不同结构和类型的数据中获取价值而设计的新一代架构和技术。
结合上述大数据的“8V”特征,作者认为,大数据的核心和本质是实际应用、算法、数据和平台架构4个要素的有机结合(如图1-1所示)。大数据是应用驱动的,大数据来源于实践,海量数据产生于实际应用中。
图1-1 大数据架构
数据挖掘源于实践中的应用需求,用具体的应用数据作为驱动,以算法、工具和平台作为支撑,最终将发现的知识和信息用到实践中,从而提供量化的、合理的、可行的,并且能够产生巨大价值的信息。另外,挖掘大数据所蕴含的有用信息,需要开发分析和解决问题的相关数据挖掘和机器学习算法。算法的设计和开发要以具体的应用数据为驱动,同时也要在实际问题中得到应用和验证,而算法的实现与应用需要高效的处理平台。高效的处理平台需要能有效地分析海量的数据及对多源数据进行集成,同时有力支持数据挖掘算法以及数据可视化的执行,并对数据分析的流程进行规范。总而言之,这个思想是对上述大数据的理解和认识的一个综合与凝练,体现了大数据的本质和核心。建立在此架构上的大数据挖掘,能够有效处理大数据的复杂特征,挖掘大数据的价值。
大数据技术发展一日千里,表1-1给出了大专委对2017大数据发展趋势的预测。
表1-1 2017年大数据发展趋势预测
10个预测可以分为三大类。首先,相比往年情况,大专委在2017年的10条预测里更加关注技术本身。从表1-1中的趋势描述可以看出,有7条是纯技术的话题,不像往年有多条都是关于产业或者资本的。因此,大专委寄希望于技术本身,希望从中寻求更多的突破。第二是安全和隐私,安全和隐私几乎每年都会排在第三、第四的位置上,也就是说安全和隐私几乎是成为阻碍大数据发展的唯一制约因素。对隐私泄露的担忧使得数据的开放步伐放慢,使得大家对大数据的深度应用感到担忧。因此,安全的保障成为大数据发展迫切需要解决的问题。另外,大专委除了将关注点放在技术上之外,还期望在政策和法规上能给予大数据发展有效的帮助。即在关注技术和市场时,相对在市场需求和政府诉求上,更加偏重于政府的诉求。这是一个有意思的现象,即我们期望依靠政府和法律的协同力量推动大数据的发展。
1.1.2 数据挖掘
不同的学者对数据挖掘可能有着有不同的理解,作者认为数据挖掘可以用下面的4个主要特性来总结和概括。
(1)应用性
数据挖掘是理论算法和应用实践的完美结合。数据挖掘源于实际生产生活中应用的需求,挖掘的数据来自于具体应用,同时通过数据挖掘发现的知识又要运用到实践中,辅助实际决策。所以,数据挖掘来自于应用实践,同时也服务于应用实践。数据是根本,数据挖掘应该以数据为导向。理论算法的设计和开发都会考虑到实际问题的需求,然后针对此问题进行抽象和泛化。同时,好的算法能够运用在实际中,能在实际应用中得到检验。
(2)工程性
数据挖掘是一个由多个步骤组成的工程化过程。数据挖掘的应用特性决定了数据挖掘不仅仅是算法分析和应用,而是一个包含数据准备和管理(Data Preparation and Management)、数据预处理和转换(Data Pre-Processing and Transformation)、挖掘算法开发和应用(Mining Algorithm)、结果展示和验证 (Results Interpretation and Evaluation)以及知识积累和使用(Knowledge Representation)的完整过程。而且在实际应用中,典型的数据挖掘还是一个交互和循环的过程。
(3)集合性
数据挖掘是多种功能的集合。常用的数据挖掘功能包括数据探索分析(Data Exploration)、关联规则挖掘(Association Mining)、时间序列模式挖掘 (Sequential Pattern Mining)、分类预测 (Classification and Prediction)、聚类分析 (Clustering Analysis)、异常检测 (Anomaly Detection)、数据可视化(Data Visualization) 和链接分析(Link Analysis)等。一个具体的应用案例往往涉及多个不同的功能。不同的功能通常有不同的理论和技术基础,而且每一个功能都有不同的算法支撑。
(4)交叉性
数据挖掘是一个交叉学科,它利用了来自统计分析(Statistics)、模式识别(Pattern Recognition)、机器学习 (Machine Learning)、人工智能 (Artificial Intelligence)、信息检索 (Information Retrieval)、数据库 (Database)等诸多不同领域的研究成果和学术思想。同时一些其他领域如随机算法(Randomized Algorithm)、信息论 (Information Theory)、可视化 (Visualization)、分布式计算 (Distributed Computing)和最优化 (Optimization)也对数据挖掘的发展起到重要的作用。数据挖掘与这些相关领域的区别可以由前面提到的数据挖掘的3个特性来总结,最重要的是数据挖掘更侧重于应用。
综上所述,应用性是数据挖掘非常关键的一个特性,是它和其他学科的一个重要区别。同时数据挖掘的应用特性和它的其他特性相辅相成,这些特性从一定程度上决定了数据挖掘的研究和发展,同时也为如何学习和掌握数据挖掘提出了指导性的意见。
从研究发展上来看,实际应用的需求是数据挖掘领域很多方法提出和发展的根源。从最开始的顾客交易数据分析(Market Basket Analysis)、多媒体数据挖掘(Multimedia Data Mining)、隐私保护数据挖掘(Privacy-Preserving Data Mining)到文本数据挖掘(Text Mining)和 Web 挖掘(Web Mining),再到社交媒体挖掘(Social Media Mining),都是由应用推动的。工程性和集合性决定了数据挖掘研究内容和方向的广泛性。其中,工程性使得整个研究过程中的不同步骤都属于数据挖掘的研究范畴。集合性使得数据挖掘有多种不同的功能,而如何将多种功能联系和结合起来,可以说从一定程度上影响了数据挖掘研究方法的发展。比如说,20世纪90年代中期,数据挖掘的研究主要集中在关联规则和时间序列模式的挖掘。20世纪90年代末,研究人员开始研究基于关联规则和时间序列模式的分类算法,如 Classification Based on Association(CBA),将两种不同的数据挖掘功能有机地结合起来。21世纪初,一个研究的热点是半监督学习(Semi-Supervised Learning)和半监督聚类(Semi-Supervised Clustering),也是将分类和聚类这两种功能有机结合起来。近年来的一些其他研究方向,如子空间聚类(Subspace Clustering)(特征抽取和聚类的结合)和图分类(Graph Classification)(图挖掘和分类的结合),也是将多种功能联系和结合在一起。最后,交叉性导致了研究思路和方法设计的多样化。
数据挖掘的特性对如何能学习和掌握数据挖掘提出了指导性意见。应用性使得在进行数据挖掘时需要熟悉应用业务和把握应用需求。需求是数据挖掘的目的。业务和算法技术的紧密结合非常重要。了解业务,把握需求,才能有针对性地对数据进行分析,挖掘其价值。工程性决定了要掌握数据挖掘的条件。一个好的数据挖掘工作人员应该首先是一个工程师,有很强的处理大规模数据和开发原型系统的能力。集合性使得在具体应用数据挖掘时,要综合集成不同功能,使用多种算法。交叉性决定了在学习数据挖掘时,要主动了解和广泛吸收来自相关领域的思想和技术。
1.1.3 从数据挖掘应用的角度看大数据
大数据具有如下特征:数据量大、类型多样、数据变化快、时效性强以及价值密度低。很多文献指出,这些特征对数据挖掘在理论和算法研究方面提出了新的要求和挑战。大数据是现象,核心是要挖掘数据的价值。在这里,我们结合数据挖掘的各种特性,尤其是其应用性,从应用业务的角度,对大数据提出如下两点认识。
首先,大数据是“一把手工程”。在一个企业,大数据通常涉及多个业务部门,业务逻辑复杂。一方面,要对大数据进行收集和整合,需要业务部门的配合和沟通以及业务人员的大力参与,这些需要企业高层的重视和认可,提供必要的资源调配和支持。另一方面,要对数据挖掘的结果进行验证和运用,更离不开领导的拍板。数据挖掘的结果大多是相关关系,而不是因果关系,这些结果还可能有很大的不确定性。另外,有时候数据挖掘的结果可能与企业运作的常识不一致,甚至相悖。所以,要利用数据挖掘,必然离不开领导的决定。
其次,大数据需要数据导入、整合和预处理。很多时候,企业在应用数据挖掘时,可能并不清楚要挖掘和发现什么。尤其是当数据量很大,还有很多不同数据源的时候,具体业务逻辑复杂,数据之间的关系琐碎,导致企业的业务流程和数据流程很难被理解,对数据挖掘到底能帮助企业做什么并没有直观和清楚的认识。所以,很多时候都不可能先把数据事先规划好和准备好,这样在具体的数据挖掘中,就需要在数据的导入、整合和预处理上有很大的灵活性,只有通过业务人员和挖掘人员的配合,不断尝试,才能有效地将企业的业务需求与数据挖掘的功能联系起来。