2002-08-29 16:31
知识发现与数据挖掘
宋利
【摘要】本文介绍了知识发现及其数据挖掘的发展历史,数据挖掘常用技术及应用。
【关键词】知识发现,数据挖掘
1、引言
随着数据库技术的成熟和数据应用的普及,人类积累的数据量正在以指数速度迅速增长。进入九十年代,伴随着因特网(Internet)的出现和发展,以及随之而来的企业内部网(Intranet)和企业外部网(Extranet)以及虚拟私有网(VPNVirtualPrivatenetwork)的产生和应用,将整个世界联成一个小小的地球村,人们可以跨越时空地在网上交换数据信息和协同工作。这样,展现在人们面前的已不是局限于本部门,本单位和本行业的庞大数据库,而是浩瀚无垠的信息海洋,数据洪水正向人们滚滚涌来。当数据量极度增长时,如果没有有效的方法,由计算机及信息技术来提取有用信息和知识,人们也会感到面对信息海洋像大海捞针一样束手无策。据估计,一个大型企业数据库中数据,只有百分之七得到很好应用。这样,相对于“数据过剩”和“信息爆炸”,人们又感到“信息贫乏”(Informationpoor)和"数据关在牢笼中”(datainjail),奈斯伯特(JohnNaisbett)惊呼“Wearedrowningininformation,butstarvingforknowledge”(人类正被数据淹没,却饥渴于知识)。
面临浩渺无际的数据,人们呼唤从数据汪洋中来一个去粗存精、去伪存真的技术。从数据库中发现知识(KDD)及其核心技术——数据采掘(DM)便应运而生了。
2、知识发现过程
知识发现(KDD)是从数据中发现有用知识的整个过程;数据开采(DM)是KDD过程中的一个特定步骤,它用专门算法从数据中抽取模式(patterns)。1996年,Fayyad、PiatetskyShapiror和Smyth将KDD过程定义为:从数据中鉴别出有效模式的非平凡过程,该模式是新的、可能有用的和最终可理解的。
KDD过程是多个步骤相互连接、反复进行人机交互的过程。具体包括:
①学习某个应用领域:包括应用中的预先知识和目标。
②建立目标数据集:选择一个数据集或在多数据集的子集上聚焦。
③数据预处理:去除噪声或无关数据,去除空白数据域,考虑时间顺序和数据变化等。
④数据转换:找到数据的特征表示,用维变换或转换方法减少有效变量的数目或找到数据的不变式。
⑤选定数据挖掘功能:决定数据挖掘的目的。
⑥选定数据挖掘算法:用KDD过程中的准则,选择某个特定数据挖掘算法(如汇总、分类、回归、聚类等)用于搜索数据中的模式。
⑦数据挖掘:搜索或产生一个特定的感兴趣的模式或一个特定的数据集。
⑧解释:解释某个发现的模式,去掉多余的不切题意的模式,转换某个有用的模式,以使用户明白。
⑨发现知识:把这些知识结合到运行系统中,获得这些知识的作用或证明这些知识。用预先、可信的知识检查和解决知识中可能的矛盾。
3、知识发现的核心――数据挖掘
所谓数据挖掘,就是从数据库中抽取隐含的、以前未知的、具有潜在应用价值的信息的过程。数据挖掘是KDD最核心的部分。数据挖掘与传统分析工具不同的是数据挖掘使用的是基于发现的方法,运用模式匹配和其它算法决定数据之间的重要联系。
数据挖掘算法的好坏将直接影响到所发现知识的好坏。目前大多数的研究都集中在数据挖掘算法和应用上。需要说明的是,有的学者认为,数据开采和知识发现含义相同,表示成KDD/DM。它是一个反复的过程,通常包含多个相互联系的步骤:预处理、提出假设、选取算法、提取规则、评价和解释结果、将模式构成知识,最后是应用。在实际,人们往往不严格区分数据挖掘和数据库中的知识发现,把两者混淆使用。一般在科研领域中称为KDD,而在工程领域则称为数据挖掘。
4、数据挖掘中常用技术
目前市面数据挖掘应用方面有着种类繁多的商品工具和软件,大致可以归纳为下列主要类型:
[1]传统主观导向系统:这是针对专业领域应用的系统。如基于技术分析方法对金融市场进行分析。采用的方法从简单的走向分析直到基于高深数学基础的分形理论和谱分析。这种技术需要有经验模型为前提.属于这类商品有美国的Metastak,SuperCharts,CandlestickForecaster和WallStreetMoney等
[2]传统统计分析:这类技术包括相关分析、回归分析及因子分析等。一般先由用户提供假设,再由系统利用数据进行验证。缺点是需经培训后才能使用,同时在数据探索过程中,用户需要重复进行一系列操作。属于这类商品有美国的SAS,SPSS和Stargraphis等。由于近年来更先进的DM方法的出现和使用,这些厂商在原有系统中综合一些DM部件,以获得更完善的功能。以上两种技术主要基于传统的数理统计等数学的基础上,一般早已开始用于数据分析方面。
[3]神经元网络(NN)技术:神经元网络技术是属于软计算(SoftComputing)领域内一种重要方法,它是多年来科研人员进行人脑神经学习机能模拟的成果,已成功地应用于各工业部门。在DM(KDD)的应用方面,当需要复杂或不精确数据中导出概念和确定走向比较困难时,利用神经网络技术特别有效。经过训练后的NN可以想像具有某种专门知识的“专家”,因此可以像人一样从经验中学习。NN有多种结构,但最常用的是多层BP(backpropagation)模型。它已广泛地应用于各种DM(KDD)工具和软件中。有些是以NN为主导技术,例如俄罗斯的PolyAnalyst,美国的BrainMaker,Neurosell和OWL等。NN技术也已广泛地做为一种方法嵌入各种DM成套软件中。其缺点是用它来分析复杂的系统诸如金融市场,NN就需要复杂的结构为数众多神经元以及连接数,从而使现有的事例数(不同的纪录数)无法满足训练的需要。另外由受训后的NN所代表的预测模型的非透明性也是其缺点,尽管如此,它还是广泛而成功地为各种金融应用分析系统所采用。
[4]决策树:在知识工程领域,决策树是一种简单的知识表示方法,它将事例逐步分类成代表不同的类别。由于分类规则是比较直观的,因而比较易于理解,。这种方法一般限于分类任务。在系统中采用这种方法的有美国的IDIS,法国的SIPINA。英国的Clementinc和澳大利亚的C5.0。
[5]进化式程序设计(Evolutionaryprogramming):这种方法的独特思路是:系统自动生成有关目标变量对其他多种变量依赖关系的务种假设,并形成以内部编程语言表示的程序。内部程序(假设)的产生过程是进化式的,类似于遗传算法过程。当系统找到较好地描述依赖关系的一个假设时,就对这程序进行各种不同的微小修正,生成子程序组,再在其中选择能更好地改进预测精度的子程序,如此依次进行,最后获得达到所需精度的最好程序时,由系统的专有模块将所找到的依赖关系由内部语言形式转换成易于为人们理解的显式形式,如数学公式,预测表等。由于采用通用编程语言,这种主法在原则上能保证任何一种依赖关系和算法都能用这种语言来描述。这种方法的商用产品还只见诸俄罗斯的PolyAnalyst。据报导,它用于金融到医疗方面军的各种应用于,能获得者很好的结果。
[6]基于事例的推理方法(CBR—Casebasedreasoning):这种方法的思路非常简单,当预测未来情况或进行正确决策时,系统寻找与现有情况相类似的事例,并选择最佳的相同的解决方案,这种方法能用于很多问题求解,并获得好的结果,其缺点是系统不能生成汇总过去经验的模块或规则。采用这种方法的系统有美国的PatternRecognitionWorkbench和法国的KATEtools.
[7]遗传算法(GA—GeneticAlgorithms):严格说来,DA不是GA应用的主要领域,它是解决各种组合或优化问题的强有力的手段,但它在现代标准仪器表中也用来完成DA任务。这种方法的不足之处是:这种问题的生成方式使估计所得解答的统计意义的任何一种机会不再存在。另外一方面,只有专业人员才能提出染色体选择的准则和有效地进行问题描述与生成。在系统中包含遗传算法的有美国的GeneHunter.
[8]非线性回归方法:这种方法的基础是,在预定的函数的基础上,寻找目标度量对其它多种变量的依赖关系。这种方法在金融市场或医疗诊断的应用场合,比较好的提供可信赖的结果。在俄罗斯的PalyAnalyst以及美国的Neuroshell系统中包括了这种技术。
上面所列DM技术不可能是详尽的囊括,因为多年来数理统计分析以及AI与KE的研究提供了种类繁多特点各异的手段,DM开发人员完全可以根据不同任务加以选择使用,另外近年来在软计算(SoftComputing)和不确定信息处理(dealingwithUncertaintyofinformation)方法的研究,促使DM(KDD)技术向更深层次发展。
需要说明的,上面所说的DM中的数据是指数据库中表格形式中的记录和条目,这种数据称作结构型数据(Structureddata)。在一个企业中,还有一类像文本和网页形式的数据,称作非结构型数据(unstructureddata)。它来自不同的信息源,如文本图像影视和音响等,当然文本是最主要的一种非结构数据。1995年分析家已预言,像文本这样非结构型数据将是在线存贮方面占支配地位的数据形式。到1998年初,在Internet上的信息网页数,已超过5亿。随着Internet的扩展和大量在线文本的出现,将标志这巨大的非结构型数据海洋中,蕴藏着极其丰富的有用信息即知识。人们从书本中获取知识方法是阅读和理解。开发一种工具能协助用户从非结构数据中抽取关键概念以及快速而有效地检索到关心的信息,这将是一个非常引人入胜的研究领域。目前,基于图书索引检索以及超文本技术的各类搜索引擎,能协助用户寻找所需信息,但要深入发掘这类数据中的有用用信息,尚需要更高层次的技术支持,人工智能领域有关知识表示及获取的方法(如语义网络概念映射等),和自然语言理解的研究成果,可望被采用。还可能要涉及到语言学心理学等领域。最近已出现针对文本的DM工具的报导。如IBM公司的TexMiner,NetQuestion,WedCawler和megaputer公司的TextAnalyst等。
5、数据挖掘实际应用
DM(KDD)工具和软件已在各个部门得到很好的应用,并收到明显的效益。
[1]金融方面:银行信用卡和保险行业,预测存/贷款趋势,优化存/贷款策略,用DM将市场分成有意义的群组和部门,从而协助市场经理和业务执行人员更好地集中于有促进作用的活动和设计新的市场运动。
[2]在客户关系管理方面:DM能找出产品使用模式或协助了解客户行为,从而可以改进通道管理(如银行分支和ATM等)。又如正确时间销售(RightTimeMarKeting)就是基于顾客生活周期模型来实施的。
[3]在零售业/市场营销方面:是数据挖掘技术应用最早也是最重要的领域,DM用于顾客购货篮的分析可以协助货架布置,促销活动时间,促销商品组合以及了解滞销和畅销商品状况等商业活动。通过对一种厂家商品在各连锁店的市场共享分析,客户统计以及历史状况的分析,可以确定销售和广告业务的有效性。
[4]在过程控制/质量监督保证方面:DM协助管理大数量变量之间的相互作用,DM能自动发现出某些不正常的数据分布,暴露制造和装配操作过程中变化情况和各种因素,从而协助质量工程师很快地注意到问题发生范围和采取改正措施。
[5]在远程通讯部门:基于DM的分析协助组织策略变更以适应外部世界的变化,确定市场变化模式以指导销售计划.在网络容量利用方面,DM能提供对客户组类服务使用的结构和模式的了解,从而指导容量计划人员对网络设施作出最佳投资决策。
[6]化学/制药行业:从各种文献资料总自动抽取有关化学反应的信息,发现新的有用化学成分。在遥感领域针对每天从卫星上及其它方面来的巨额数据,对气象预报,臭氧层监测等能起很大作用。
[7]军事方面:使用DM进行军事信息系统中的目标特征提取、态势关联规则挖掘等。
总之,DM可广泛应用于银行金融、零售与批发、制造、保险、公共设施、政府、教育、远程通讯、软件开发、运输等各个企事业单位及国防科研上。据报导,DM的投资回报率有达400%甚至10倍的事例。
本文原载于e-works