数据库里的知识发现,本文主要内容关键词为:库里论文,发现论文,知识论文,数据论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
随着计算机数据管理技术的进步,各行各业生成和收集数据的能力大为提高,数据量与日俱增。据估计当今信息量每20个月就翻一倍。知识是人类的宝贵财富,在这些堆积如山的数据中包含着许多待提取的有用知识。这些知识就如同成熟的庄稼,不及时收割便会浪费,人们迫切需要新一代的计算技术和工具来帮助开采数据山中蕴藏的矿藏,并加以提炼,使之成为有用知识。该类技术和工具的研究和开发已形成了一个新兴领域,叫作数据库里的知识发现(KDD,knowledge discovery in databases),也可以称为数据库探宝。该名称是1989年首届KDD 讨论会上定义的,旨在强调知识是人们在数据中探索的最终目标。
作为一个新兴的领域,KDD吸引了多个学科的关注。KDD过程是一个多步骤数据中探宝的过程,其中关键步骤是数据开采(data mining ),开采所得结果经过适当的解释和处理便转换成可用的知识。
多学科的新兴领域
在KDD这个新兴的领域中,汇集了来自机器学习、模型识别、 数据库、统计学、人工智能以及管理信息系统等各学科的成果。多元化的投入使这一学科得以蓬勃发展,而且已初具规模。在连续六年的研讨年会后,1995年夏在加拿大成功地举行第一届KDD国际会议, 此后每年都有KDD的国际会议在夏季举行。在美国国家科学基金会(NSF)的数据库研究项目中,KDD被列为90年代最有价值的研究项目。 人工智能研究领域的科学家也普遍认为,下一个人工智能应用的重要课题之一将是以机器学习算法为主要工具进行大规模的数据开采。
除了数据开采这个重要步骤外,KDD 的其余步骤对于从数据中揭示有价值的知识也必不可少,否则便是盲目开采,无法找到真正有用的东西。连同数据开采在内,KDD过程还有:数据预处理、数据抽样、 数据清理、综合已知知识、解释开采结果。只有对全过程的每一个必要的步骤给予足够重视,数据中的探宝才不会是徒劳一场。
KDD 与机器学习以及模式识别领域交叉之处是数据开采理论和算法,即构造数据模型以揭示某种规律。KDD 着眼于找出易于理解的规律,然后将其表达成有参考价值的知识,并侧重于大规模的实际应用数据开采。
KDD与统计学也有着许多共同感兴趣的研究领域, 特别在数据分析方法的开发方面, 统计方法旨在从抽样分析中提取未知的数据模型。KDD软件系统常常会包括一定的统计过程,诸如数据抽样和建模、 判断假设以及误差控制。但KDD的统计过程与传统的统计过程不同,KDD较注重模型的提取而且通常是在较大的数据集里进行,数据结构也较为丰富。
KDD 与数据库领域紧密相关, 与之邻近的一个领域是数据仓库(data warehousing)。该领域研究的主题是用计算机存放、收集、清理日常需处理的数据,使之随时可供查用。这类技术又称为联机分析处理(OLAP,on-line analytical processing),OLAP旨在简化和支持联机分析,而KDD的目的则在于使这一过程尽可能地自动化。
图1 KDD过程概览。
数据库知识发现的过程
KDD 的过程可以包括在指定的数据库中用数据开采算法提取模型,以及围绕着数据开采所进行的预处理和结果表达等一系列的计算步骤。在实际应用中,成功的知识发现有赖于对这一过程的整体认识和过程中各步骤的把握。尽管数据开采是整个过程的中心,但它通常只占整个过程中15%~25%的工作量。以下KDD过程是基于布拉赫曼(Brachman )和阿南德(Anand)在1996年所作的总结:
(1)了解应用领域中相关知识。 搞清所寻求的知识和所要达到的预期目的。当数据来自不同的多个来源,分析者又不是应用者时,这一步尤为重要。
(2)建造目标数据集。抽样选取所需数据, 并置于合适的分析环境内。重点关注有意义的子集,即有望使数据开采达到预期目的的数据。
(3)数据清理和预处理。删除数据中有误和无关的部分, 并将其准备成数据开采工具所需的表达形式。
(4)数据形式精简与转换。 进一步精简所选数据中的有用部分,转换数据成为有效形式,使数据开采更有效。
(5)确定数据开采性质。给所进行KDD的目的确定类型,如分类、趋向分析、模型描述或其他。
(6)选择合适的数据开采算法。
(7)数据开采。寻求感兴趣的模型并表达成易理解的形式, 例如,分类规划或树等。
(8)解释和评估所得的模型。有必要时反复进行前述步骤。
(9)对发现的知识模型加固与试用。
不难看出,整个过程是一个以知识使用者为中心,人机交互的探索过程。KDD 系统实际上是由一组功能各异而又相互作用的子系统组成的。对KDD系统的使用者来说,有三项最关键的指标:灵活性、 自动化程度、效率。使用者在过程中的每一步都要作出实时抉择,理想的KDD 系统应当允许使用者随时介入并主导全过程。
值得强调的是,在数据开采之前,知识使用者与KDD 系统的使用者(通常也是KDD系统的开发者)之间的密切合作尤为重要。 如果在预处理和建造目标数据库时把有价值的数据漏掉了,那末怎样开采也找不到想要的宝藏,从而造成不理想甚至错误的开采结果,产生诸如找不到模型、与现实矛盾的模型、无用的模型等问题。知识使用者通常是应用领域里的专家或数据分析人员,也是目标数据库的提供者。一旦获得了一个表达合适且蕴涵所需知识的目标数据库后,便可进入数据开采了。
数据开采
知识发现的目的是以系统使用者的用途而定的,通常有两种:验证使用者的假设和发现新的模型。在发现新的模型中又可分为两大类:预测和总结性描述。这里主要就发现型的数据开采进行一些说明。大多数的数据开采方法起源于机器学习、模式识别和统计学。预测和描述的目的是通过应用以下几种主要数据开采方法来达到的。
分类(classification):发现每一数据与既定类别间的映象函数。
回归(regression):发现每一数据与一实变量间的映象函数以及变量间的函数关系。
组集(clustering):试图将数据组合成有限个集合并以此种组集方式来描述各组数据所代表的类型。
总结(summarization):对数据子集作一个简洁的描述, 其形式包括表格、总结性规则、图表等。
关系模拟(dependency modeling ):寻求描述变量间重要依赖关系的模型。
变化和偏差检测(change and deviation detection):探测数据现状与历史记录与标准之间的显著变化和偏离。
实施上述方法需要解决实际问题的数据开采算法。大多数的数据开采都是由以下几种普遍使用的算法来解决问题的:
决策树和规则(decision tree and rules)
非线性回归和分类(nonlinear regression and classification)
基于事例法(example-based methods)
bayesian网络(bayesian networks)
人工神经网络(neural networks)
归纳逻辑程序(inductive logic programming)
不同开采任务往往需要使用不同算法,选择合适的算法也是重要的技巧之一。一旦决定了数据开采算法,下一步就是实现开采系统。当数据分析较复杂时,通常直接使用程序语言编程来实现数据开采算法,即首先将选择好的数据存放成容易处理的文件形式,然后进行开采。当数据分析较普通时,可用现成的KDD软件工具系统。 参考互联网上的一个目录
http://www.kdnggets.com/siftware.html,便可了解个大概。 这些数据开采工具可分为三类:
通用开采工具系统,仅支持KDD的数据开采步骤, 并且需要大量预处理和善后处理工作。
通用多功能开采工具系统,执行多种知识发现任务,如综合分类、图象表达、查询和组集于一个系统。
专门开采工具系统,是为专门的应用领域设计的,特别合适专业人员应用。例如,IBM公司的专业篮球赛统计数据分析程序。
工具系统总发展趋势是使数据开采技术能更进一步为企事业单位接受和使用,另一方面也可以理解成以使用者的语言表达知识概念。
应用与展望
相当数量的KDD应用和实验系统在各个领域里不断地涌现, 具代表性的领域有市场预测、投资、制造业、银行、通讯等领域。
对于今天的全球经济而言,市场预测是十分重要的一个研究领域。享有信誉的市场研究公司, 如美国的A. C. Nielsen 和InformationResources,欧洲的GFK和Infratest Burk等都先后开始使用KDD 工具来应付迅速增长的销售和市场信息数据库。商家的激烈竞争导致了市场快速饱和,产品的更新迅速,使得经营者对市场信息的需求格外强烈。通过统计数字可以获取顾客的购买行为和竞争对手动向的正确信息,研究公司收集和分析数据,整理后的数据以及分析结果出售给他们的顾客—经营者。这些顾客还可再加上自己收集的数据作进一步分析,致力寻找有利的促销方法或计划下一阶段生产的模型。 据商业周刊( Business Week)1994年的报道, 半数以上的零售商准备或已经采用数据库信息分析技术促进其事业发展。
英国广播公司(BBC)也应用KDD技术来预测电视收视率,以便合理安排电视节目时刻表。信用卡公司American Express自采用KDD 技术后, 信用卡使用率增加了10 %~15 %。 由A.C.Nielsen 公司推出的Opportunity Explorer系统在不少公司深受欢迎。这项产品使用KDD 技术并用自然语言和图表的多媒体形式提供数据总结报告。IBM和SGI公司开发的KDD工具专用于揭示顾客与其所购物品间的关系。Carlberg 公司(http://carlassoc.com)开发了一个工具系统来预测S&P500指数(标准—普耳500家上市公司股票的综合指数)。 该系统以人工神经网络为算法,选用利率、红利、原油价格等作为目标数据集,其预测效果出乎意料地成功。
对于信用卡和电讯服务公司来说,欺诈报警(fraud detection )是有力的防范措施。HNC Falcon信用风险估计系统已被许多银行采用来报告可疑的信用卡使用活动。美国财政部开发的FAIS系统对非法资金周转行为有报警启示的功能,正逐步为各级政府机构所采用。AT&T也开发了侦探国际电话欺诈行为的系统,可以尽快地发现国际长途电话使用中的不正常现象。
在质量控制中应用KDD技术也带来可观的经济效益。 通用电器公司(GE)与法国飞机发动机制造公司(SNECMA)合作研制的CASSIOPEE 监控系统被三家欧洲航空公司用于诊断和预测波音737的故障。 该系统于1996年获欧洲一等创造性应用奖。
最新的知识发现系统要数发现代理(discovery agents)了。这类系统向用户征询所需知识的范围和要求,然后自动去互联网上搜寻。发现代理系统已在音乐和新闻等领域取得成功的应用,有兴趣的话可查看www.fly.com和www.farcast.com。
尽管数据开采和知识发现技术发展迅速,但在实际推广应用中还面临着以下问题。
缺乏训练。大多数商学院的毕业生只熟悉传统的统计验证技术而对有关KDD的技术了解不够。
工具系统欠缺。现有的工具大多偏重预测方法,并且局限于数据开采阶段而不是从头到尾地KDD自动化过程。
数据难得。为了解决一个问题往往要从好几个数据库选择所需数据。这些选来的数据常常不是统一的规格,以至于数据预处理成为KDD 过程中工作量较重的一部分。
所得模型过于繁杂。当模型的寻求范围较广时,有时会得到多于期望的繁杂而无规律的模型。使用统计控制、规则简化等方法,加上运用专业知识,可使得所得模型简洁而有意义。
对时间和空间敏感的数据如何及时全面地进行处理是个问题。
复杂的数据。当数据形式为文字、图象、录音、录象等与互联网有关的信息,复杂的数据形式使KDD将面临巨大挑战。 成功解决此类数据开采将有很深远的意义。
大型数据库。今天的数据库有不少超过200GB, 而目前的工具和算法仅能应付1GB的数据。
保密问题。当涉及到人事档案以及政府、企事业内部数据库,人们必须遵循有关规定,不得超逾揭示范畴。
正确的决策会带来丰厚的回报,应用KDD 技术的领域应当是信息丰富,环境多变,尚无模型,需要知识帮助作出决策的领域。但即使宜于采用KDD技术的问题,人们还需要对利益和花费作一个权衡。 需考虑的方面有:是否有更为简单方法、数据是否充分和数据的复杂性、方法的可行性。
KDD是一个多学科交叉的新兴研究领域, 其范围之广远非本文能详尽,特别是许多KDD方法有其很强的专业特色, 但我们也可找到不同的KDD方法里存在的许多共同点。目前KDD技术尚存在着困难和挑战,但是无疑它的发展潜力是巨大的。随着KDD技术的传播与发展, 越来越多的知识宝藏被KDD工具从数据中发掘出来,将更多的造福人类。
注释:
[1]Fayyad Usama M,Piatetsky-Shapiro Gregory,Smyth Padhraic,Uthurusamy Ramasamy,ed.Advances in Knowledge Discovery and Data Mining.AAAI Press/The MIT Press,1996
[2]Fayyad Usama M,Piatesky-Shapiro Gregory,Smyth Padhraic.Knowledge Discovery and Data Mining: Towards a Unifying Framework.In Proc of KDD-96,82
[3]Piatetsky-Shapiro Gregory,Brachman Ron, Khabaza Tom,Kloesgen Willi,Simoudis Evangelos.An Overview of Issues in Developing Industrial Data Mining and Knowledge Discovery Applications.In Proc of KDD-96,89