2003-10-04
引言 无论是商业企业、科研机构或者政府部门,在过去若干年的时间里都积累了海量的、以不同形式存储的数据资料。但当面对越来越多迅速膨胀的超级数据库时,人们却无从着手去理解数据中包含的信息,更难以获得有价值的知识!原有的决策支持系统(DSS)和领导执行系统(EIS)已不能满足需要。数据挖掘概念的提出,使人们有能力克服这些困难,去发掘出蕴藏在数据中的信息和知识。数据挖掘是目前国际上数据库和信息决策领域的最前沿研究方向之一,引起了学术界和工业界的广泛关注。一些国际上高级别的工业研究实验室,如IBM Almaden和GTE,和众多的学术单位,如UC Berkeley,都在这个领域开展了各种各样的研究计划。 但人们对数据挖掘还存在认识上的偏差。比如对数据挖掘和知识发现、数据挖掘与数据仓库等的关系存在一定观点上的分歧。本文总结了目前学术界和工业界的认识和观点,并进行了比较和总结。本文还就与数据挖掘有关的挖掘过程、数据挖掘在商业中的实现等方面阐述了自己的观点。 1. 数据挖掘的概念 本文从探寻知识发现(Knowledge Discovery in Database)和数据挖掘的关系入手理解数据挖掘。 数据挖掘与知识发现是存在交叉的两个概念。对这两个概念之间的关系,流行有两种观点:一种观点认为:数据挖掘与知识发现是等同的概念,只不过在不同的领域叫法不同而已。在科研领域,知识发现使用较多,在工程应用领域多称之为数据挖掘。另一种观点认为数据挖掘是知识发现的一个阶段,而且是核心阶段。该观点给出的定义是:知识发现,就是从大型数据库中的数据中提取人们感兴趣的知识。这些知识是隐含的、事先未知的、潜在有用的信息。本文更倾向于第二种观点。本文从知识产生的过程这一角度看待知识发现和数据挖掘,得出以下结论: (1)知识发现是把低级别的数据转化为高级别数据的整个过程。所谓高级别数据,是具有特殊含义的数据。在工程应用中,根据不同的使用阶段和价值,又细分为信息和知识。信息可被理解为有特殊意义的数据;知识则表达为在特定应用领域,通过使用有价值的信息而在人脑中形成的、具有概括和总结特性的认识。知识可表示为概念(concepts),规则(rules),规律(regulations),模式(patterns)等形式。从知识发现的整个过程来看(图1),数据挖掘是知识发现实现从数据到信息和知识转变的关键一步。数据挖掘是从大量数据中提取可信的、新颖的、有效的模式的高级处理过程。 模式:是一个用语言L来表示的一个表达式E,它可用来描述数据集F中数据的特性,E所描述的数据是集合F的一个子集 。E作为一个模式,要求比列举数据子集中所有元素的描述方法简单。 模式是知识发现中的知识的一部分,它给出了数据的特性或数据之间的关系,是对数据所包含信息的更抽象描述。模式的表示方式很多,有时或者经常无法用显式的方法进行描述,比如用神经网络挖掘出来的模式是通过连接权值体现出来的。知识发现的最后一步—结果表达和解释负责将挖掘的模式用更容易理解的方式,如图形、自然语言和可视化技术等展现在用户面前。
(2)如果把知识发现理解为一个过程或系统,数据挖掘是这一过程或系统的一个可自动执行的工具。挖掘算法是数据挖掘重要的组成部分。为解决特定的商业问题,一种或多种算法需要被选择、编译,在适于挖掘的数据环境下实施挖掘任务。从图1看出,知识发现是需要人工参与的多环节的过程。 除以上谈到的知识发现与数据挖掘的区别外,澄清存在于OLAP和数据挖掘之间认识上的混淆会有助于对数据挖掘的理解: Gartner Group等组织把OLAP视为数据挖掘的一部分。数据挖掘包含数据描述和数据建模。OLAP系统可以提供数据仓库中数据的一般描述。但更多的认识把OLAP和数据挖掘当作互不相交的两部分。OLAP是数据汇总/聚集工具,它帮助简化数据分析。OLAP的功能基本上是用户参与的汇总和比较(上钻、下钻、旋转、切片、和其他操作);数据挖掘自动发现隐藏在大量数据中的模式等有价值的知识。图2从数据、信息和知识的角度形象地描述出OLAP和数据挖掘的逻辑关系。
另一点,OLAP大多是限于数据仓库中的数据。数据挖掘既可以分析现存的、比数据仓库提供的汇总数据粒度更细的数据,也可以分析事务的、文本的、空间的和多媒体数据。 2. 数据挖掘分类和知识发现过程 2.1. 数据挖掘分类 数据挖掘涉及的学科领域和方法很多,有人工智能、数据统计、可视化、并行计算等。数据挖掘有多种分类方法。 2.1.1. 根据挖掘任务 可分为分类模型发现、聚类、关联规则发现、序列分析、偏差分析、数据可视化等。 (1) 分类(Classification) (2) 聚集(Clustering) (3) 数据可视化(Description and Visualization) (4) 关联规则(Affinity grouping or association rules) (5) 序列分析(Sequence Analysis) (6) 偏差分析(Deviation Analysis) 2.1.2. 根据挖掘对象 可分为关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库以及环球网Web。 2.1.3. 根据挖掘方法 可粗略地分为:机器学习方法、统计方法、神经网络方法、决策树、可视化、最近邻技术等。在机器学习中,可细分为归纳学习方法(决策树、规则归纳等)、基于范例学习、遗传算法等;在统计方法中,可细分为:回归分析(多元回归、自回归等)、判别分析(贝叶斯判别、费歇尔判别、非参数判别等)、聚类分析(系统聚类、动态聚类等)、探索性分析(主元分析法、相关分析法等)等。 2.2. 知识发现过程 数据挖掘包括商业需求、大量的数据和挖掘算法三部分。商业需求是真正的数据挖掘前期要明确的工作。挖掘算法是目前研究的热点之一,主要围绕采用新的挖掘算法解决特定商业问题和对挖掘算法的改进上。由挖掘算法可形成挖掘工具。 知识发现过程可由三个主要阶段组成:数据准备、挖掘操作、结果表达和解释,知识发现是这三个阶段的反复。如图1所示。 2.2.1. 数据准备 数据集成将多文件或多数据库运行环境中的数据进行合并处理,解决语义模糊性、处理数据中的遗漏和清洗脏数据等。数据选择确定需要分析的数据集合,提高数据挖掘的质量。预处理是为了克服目前数据挖掘工具的局限性。 2.2.2. 数据挖掘 (1)先决定如何产生假设。是让数据挖掘系统为用户产生假设,还是用户自己参照数据库可能包含的知识提出假设。前一种称为发现型(discovery-driven)的数据挖掘,后一种称为验证型(verification-driven)的数据挖掘。 (2)选择合适的工具 (3)数据挖掘操作 (4)证实发现的知识 2.2.3. 结果表述和解释 把提取的信息进行分析,通过决策支持工具提交给决策者。这一阶段不仅把结果表达出来,而且知识发现系统会采用解释和推理机制,将这些知识直接提供给决策者,也可以提供给领域专家,修正已有知识库供系统共享。如果不满意,需要重复以上知识发现的过程。 3. 数据挖掘的研究热点 目前,数据挖掘的研究热点围绕挖掘算法展开。数据挖掘是综合了机器学习、人工智能、数据统计等学科的研究领域。随着数据挖掘工具在实际应用中的迅速增长,相关学科成熟的算法实现不断地加入到数据挖掘中来;挖掘算法的研究还包括对现有挖掘算法的优化和改进,比如使用全局搜索算法优化神经网络学习过程。除此以外,数据挖掘还有以下研究热点: 3.1.数据挖掘原语 我们把数据挖掘原语可以理解为有效辅助数据挖掘实施知识发现功能的思想和做法,是知识发现的辅助工具。数据挖掘原语的研究是为了支持有效的知识发现,为了让用户更加易于理解挖掘出来的知识。用户能够通过数据挖掘原语与数据挖掘系统通信,从不同的角度和深度审查发现结果,并指导挖掘过程。这组原语包括数据库说明的部分或用户感兴趣的数据集、要挖掘的知识类型、用于指导挖掘过程的背景知识、模式评估以及度量和如何显示所发现的知识等等。 3.2.数据挖掘语言及标准 数据挖掘行业是高度分散的,公司和研究机构独立开发各自的数据挖掘系统和平台,没有形成开放性的标准;同时数据挖掘本身是一门多学科综合跨度非常大的技术,这些造成了数据挖掘在通用性方面存在一系列问题 :①各种数据挖掘问题及挖掘方法基于不同的模型和技术,彼此互相孤立,联系很少;②缺少简明精确的问题描述方法,挖掘的语义通常是由实现方法决定的;③数据挖掘系统仅提供孤立的知识发现功能,难于嵌入大型应用;④数据挖掘引擎与数据库系统是松散耦合的。数据挖掘语言和标准的开发有望解决上述问题。 目前,已实现的数据挖掘语言有DMQL、MSQL和MINE RULE等;数据挖掘语言标准有PMML(DMG:数据挖掘组织协会)和OLE DB for Data Mining(微软)。 3.3.数据挖掘系统 知识发现是一个有机的整体,各个部分之间有着密切的关系。我们称围绕某一数据挖掘任务的知识发现过程为数据挖掘系统。应该说所有的算法是为某一个挖掘系统服务的。数据挖掘系统的研究是为了建立科学的系统结构,利于挖掘算法的重用、嵌入,利于算法与系统其他模块有机结合。图3是一个挖掘系统的原型结构。
3.4.基于数据仓库的数据挖掘 把数据挖掘建立在数据仓库之上,一方面能够提高数据仓库系统的决策支持能力,另一方面,由于数据仓库完成了数据的清洗、ETL(抽取,转换,装载),数据挖掘面对的是经过初步处理的数据,更加有利于数据挖掘功能的发挥。这方面的研究集中在基于数据仓库的数据挖掘系统结构的探讨上。 3.5.OLAM OLAM将OLAP和数据挖掘功能集成在一起,可以实现数据挖掘功能的联机选择,为用户选择所期望的数据挖掘功能、动态地改变数据挖掘任务提供了灵活性。OLAM和OLAP通过图形用户界面GUI接受用户指令,对数据立方体Cube进行数据分析、挖掘。由于OLAM服务器可以执行如关联、分类、预测、聚类、时序分析等多种数据挖掘任务,它通常由多个集成的数据挖掘模块组成。 3.6.数据挖掘与具体应用的结合 数据挖掘目前在医学、电信、零售业等多个应用领域均有成功的应用案例。随着越来越多的业务需求被不断明确,数据挖掘应用的领域和解决的问题会越来越广泛;一些应用系统,如ERP、SCM、HR等系统也逐渐与数据挖掘集成起来,用以提高系统的决策支持能力。这方面的研究热点包括数据挖掘与商业智能(BI)、CRM、WEB应用的结合。 4.总结 数据挖掘是当前计算机工业最热门的研究领域之一。数据挖掘是一个不断发展的、综合交叉的学科。本文从知识的形态和知识产生的视角阐述了数据挖掘与知识发现、数据挖掘与OLAP的区别与联系,本文还总结了数据挖掘的分类以及数据挖掘在知识发现过程中的地位与作用。最后,对当前数据挖掘领域的研究热点进行了详细的概括与总结。
|
信息化软件应用目录 OA 办公自动化系统
CRM 客户关系管理系统
PM 项目管理系统
SCM 供应链管理系统
CC 协同商务系统
BPM 业务流程管理
BI 商务智能
CMS 内容管理系统
KM/KBS 知识管理系统
电子商务系统
HRM 人力资源管理系统
ERP 企业资源计划
EAM 企业资产管理系统
|