0 引言 知识发现(Knowledge Discovery in Database,KDD)、数据挖掘(Data Mining,DM,又称数据开采),是一种以计算机为工具,将人工智能、统计、计算机及数据库等技术相结合,旨在从数据中提取总结出新信息的技术。知识发现这个词是1989年8月美国底特律的第一届KDD国际学术会议上正式形成的。1995年在加拿大召开了第一届知识发现和数据挖掘国际学术会议,此后,知识发现与数据挖掘开始流行起来。。 顾名思义,知识发现的目的是从数据中发现知识。而数据挖掘则是知识发现中的一个特定步骤。二者都是从数据中发现知识,它们的区别可以这样来理解:知识发现比数据挖掘更广义,而数据挖掘则是更具体、更深入的概念。 现在的科学技术已越来越体现出这样一个特点:传统学科之间相互渗透整合而形成新的研究领域或学科,这种现象越来越普遍。知识发现和数据挖掘在一定程度上可以作为这方面的一个例子。 企业在长期的业务过程中积攒了大量的数据,人们希望这些数据能够提供更深入的信息,以辅助业务决策。同时,由于计算机技术的广泛运用,对企业已经积累起来的越来越多的数据,通过运用计算机来进行分析、发现规律、发现知识已经成为可能的事。但是,我们并不一定知道这些有价值的信息是什么,结论是什么。当今市场上大多数分析工具都只能验证假设,这些假设局限于分析者自身的经验、知识背景,甚至是想象。如何克服以验证假设为主的分析方法的局限性,从大量数据中提取过去不知道、但可以理解的、可以采取行动带来效益的知识,从而指导今后的行动,是目前存在的一个巨大需求。在这个背景下,以IBM为代表的一些机构经过数年研究,首先推出了相应软件,并将其产品冠予数据挖掘这个名字。 数据挖掘的目的是从巨大的信息宝库中揭示出未被人知的关系和模式,通过对大量事实、关系、趋势、模式、例外和异常的分析提炼来完成。为完成这项工作而开发的一些软件采用了一系列计算机技术、统计技术、人工智能、集合论、信息论、模糊数学等方法。而且,几乎只要一种方法可能会对数据挖掘有用,就会被采用到数据挖掘中来。这就使数据挖掘成了一个内容庞杂、发展迅速的技术领域,据信大约每3个月就有一种新技术进入市场。但到目前为止,KDD与DM的主体技术框架仍然主要是基于人工智能、统计方法、计算机技术与数据库技术的。 1 知识发现与数据挖掘技术发展 简史计算机的应用发展大致可归结为三个阶段:数值计算——数据处理——知识处理。数值计算偏重于算法研究,实现数值计算的典型语言有FORTRAN、PASCAL、C等。数据处理面对的是大量数据,典型的语言有数据库语言。以数据库为基础,出现了所谓的管理信息系统(MIS),它是一个由人和计算机相结合的对管理信息进行收集、传递、储存、加工、维护和使用的系统。可以方便地对数据库进行查询、修改、汇总,及时提供所需要的计算结果,提高管理效率。对于复杂系统,光靠人工提出计算一些指标来进行管理有时还不够。而需要建立数学模型,通过计算机对模型进行优化求解来寻找最佳方案。典型的例子是运筹学中的线性规划、动态规划等。运用这些手段,合理调配人力、物力、财力等资源,以便更好地实现系统目标。这就是所谓决策支持系统(DSS),它由三个基本部分构成:问题处理及人机交互部分+模型库+数据库。 数据库运用的时间越久,积累的数据就越多。随着数据的积累,希望从这些数据中提取出有用信息的需求越来越强烈。1992年Inmon在“建立数据仓库”一书中提出了数据仓库概念。数据仓库是面向主题的、集成的、稳定的历史数据的集合,用于管理决策。它将分散的企业内各种跨平台的数据经过重新组合和加工,构成面向决策的数据集合。数据仓库最根本的特点是物理地存放数据,而且这些数据并非是最新的、专有的,而是来源于许多其它的数据库。 数据仓库的建立并不是要取代原有的数据库,而是要建立一个较全面、完善的信息应用平台,用于支持高层决策分析。数据仓库是数据库技术的一种新的应用,采用数据库管理系统来管理其中的数据。它有几个特点:1)面向主题:如保险公司应用数据是人寿保险、车险、健康险等,而数据仓库主题可以是:客户、保险金、索赔等。2)集成:统一数据结构和编码等。3)稳定:一旦数据进入数据仓库,一般不再更新。 4)数据量大:10GB、TB级。另外,它还需要相应的前端访问工具,这主要包括可视化工具、联机分析处理等。可视化工具是用图形的形式展示数据,以期了解数据结构的特点。联机分析处理可以进行灵活的在线分析,如多维数据的切片切块。 从这些大量积累的历史数据中提取出有用的信息,这就是知识发现和数据挖掘的任务。它们属于知识处理的范围。知识发现和数据挖掘除了运用上述访问工具之外,还广泛使用人工智能、统计等技术。 人工智能始于50年代,人工智能概念是在1956年Dartmouth大学召开的研讨会上首次提出来的。当时也出现了一批研究成果,例如: Newell等人的逻辑理论程序系统,于1956年证明了名著《数学原理》第2章52条定理中的38条,并于1963年完成全部52条定理的证明。Samuel研制的跳棋程序,可以积累经验自动学习,该程序于1959年击败Samuel本人,1962年击败一个州冠军并因而引起轰动。另外还有求解不定积分、三角函数、代数方程等问题的“通用问题求解程序GPS”和“LISP表处理语言”等。但不久,因为研究碰到了困难(例如Samuel的跳棋程序赢了州冠军后没能赢全国冠军、机器翻译结果不佳等),人们的热情降低了,人工智能走向低潮。60年代末70年代专家系统的出现,开始了人工智能研究的新一轮高潮,出现了大批成功的专家系统应用案例。80年代后期,随着人工神经网络研究的重新复苏,人工智能的研究也获得长足发展。当然,人工神经网络正在逐步成为一个独立学科。专家系统、机器学习等人工智能的分支学科也在迅速发展,它们共同丰富着人工智能技术。 典型的专家系统由三部分组成:知识库+推理机+人机接口,这有点类似前面提到的决策支持系统。目前专家系统的主要应用领域有:翻译、预测、诊断、设计、控制。专家系统面临的主要困难包括:知识表示(规则形式、谓词逻辑、语义网络……)和知识获取。 人工神经网络是人工智能研究的又一个成果,它可以完成类似统计学中的判别、回归、聚类等功能。由于它是非线性模型,一般认为它比传统的统计学工具更为理想。然而,它在理论上却远不如传统统计学那样自成一统。人工神经网络最大的长处是可以自动地从数据中学习,从而形成知识,这些知识有些是我们过去所不知道的,因此它具有较大的创新性。与之相比,专家系统则偏重于对已有知识的应用,而不是形成新知识。因此有人主张,把人工神经网络整合到专家系统中,用人工神经网络来自动地从数据中提取模式,然后再在这些模式的基础上形成知识,改进已有的专家系统的功能。 知识发现和数据挖掘综合应用了上述这些技术,从大量数据中发现规律,提取模式,形成新的知识。尽管现在已经有了专用软件,但这项技术还不能说已经十分成熟。 2 知识发现与数据挖掘方法简介 到了这里,我们可以理解,知识发现和数据挖掘所面对的数据一般来自数据仓库,同时,它采用了一系列方法来多角度地分析数据,试图从数据中提取模式,形成知识。 KDD的工作流程如下: 数据——目标数据——预处理数据——变换数据——模式——知识↑ ↑ ↑ ↑ ↑选择 预处理 变换 数据挖掘 解释评价也有人将它的一般步骤总结为: ①确定问题,已有知识和目标。 ②建立目标数据集:一个或多个子集。 ③数据清理、预处理:去除噪声、冗余。 ④变换:减少变量数。 ⑤数据挖掘:搜索或产生模式或特定数据集。 ⑥解释:解释模式,去掉不切题的模式,形成知识。 ⑦评价:检验或证明知识。 SAS公司总结的KDD步骤为“SEMMA”,即: Sample:从数据仓库中选取有关数据。 Explore:探索数据特征,可采用可视化方法(统计、多维、动态、旋转显示),预处理。 Modify:问题的明确化,调整数据和技术选择。 Model:用统计、人工神经网络、决策树等数据挖掘方法建立模型。 Assess:对模型和知识进行评价。 从以上描述可以看出数据挖掘在知识发现中起到的作用。 |
|
来自: dolphin_xuzhen > 《数据挖掘》