数据挖掘技术综述

时间:2022-09-25 02:15:30

数据挖掘技术综述

摘要:数据挖掘是一个利用各种分析方法和分析工具在大规模海量数据中建立模型和发现数据间关系的过程,这些模型和关系可用来帮助做出决策和预测。本文主要论述了数据挖掘技术的常用方法。

关键字:数据挖掘方法

中图分类号: C37 文献标识码: A

数据挖掘,也可以称为数据库中的知识发现 (Knowledge Discover Database,KDD),就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程[16]。实际上这是一个模式提取的过程,主要基于人工智能、机器学习、统计学等技术,高度自动化的分析企业原有的数据,做出归纳行的推理,从中挖掘出潜在的模式,预测客户的行为,帮助企业的决策者调整市场策略,减少风险,做出正确的决策。

1 数据挖掘的分类

数据挖掘就是发现隐藏在数据中的模式。它所发现的模式按功能模型一般可分为两大类:描述型(descriptive)的模式和预测型(predictive)模式[21]。描述型的模式是对当前数据中存在的事实做规范的描述,它所揭示的是当前数据的一般特性;预测型模型则是以时间为关键参数,对于时间序列型数据,根据其历史和当前的值去预测其未来的值。根据模式的特征,预测和描述可以通过下面的任务来完成。

图1 数据挖掘模型

1) 关联规则(Association Rules)

关联模式是数据项之间存在的关联规则,是在同一事件中出现不同项之间的相关性,例如客户在一次购买活动中所购买的不同商品之间的关联性。在数据挖掘领域,对于关联模式的研究开展得比较深入,人们提出了多种关联规则挖掘算法,如Apriori,DHP,Partition,Sampling,FP-Growth等算法。这些算法能够发现数据库中形如“80%的客户在一次购买活动中购买X商品的同时也购买Y商品”之类的知识。

2) 分类分析(Classification)

分类就是构造一个分类模型,把具有某些特征的数据项映射到某个给定的类别上。这个过程分为两步:模型的创建和模型的使用。模型的创建是指通过对训练数据集的学习建立分类模型;模型使用是指使用分类模型对测试数据和新的数据进行分类。其中的训练数据集是带有类标号的,也就是在分类之前,要划分的类别是已经确定的,通常分类模型是以分类规则、决策树或数学表达式的形式给出的。

分类模式往往表现为一棵树,从树根开始搜索,沿着数据满足的分支走。走到树叶时就能确定类别。已有许多数据分类方法,如决策树方法、统计方法及粗糙集方法等。Metha, Agrawal, Rissanen等人开始研究面向数据库的分类方法。J. Han等人在他们开发的知识发现系统DBMiner中采用了基于概括的决策树方法,该方法集成了面向属性的归纳和决策归纳技术。

3) 聚类分析(Clustering)

聚类就是根据数据的属性对一系列未分类数据进行类别划分,把一组个体按照相似性分成若干个类或簇,即“物以类聚”。其目的是使类间的数据差别尽能大,类内的数据差别尽可能小,即“最小化类间的相似性,最大化类内的相似性”原则。与分类模式不同的是聚类中要划分的类别是未知的,它是不依赖于预先定义的类和带类标号的训练数据集的非监督学习(unsupervised learning ),无需背景知识,其中类的数量由系统按照某种性能指标自动确定。聚类分析的方法有很多,其中包括系统聚类法、分解法、加入法、动态聚类法、模糊聚类法、运筹方法等。采用不同的聚类方法,对于相同的记录集合可能有不同划分结果。

4) 回归分析(Regression)

回归模式的函数定义与分类模式相似,主要差别在于分类模式采用离散预测值(例如类标号),而回归模式则采用连续的预测值。它通过具有己知值的变量来预测其他变量的值。在最简单的情况下,回归采用的是类似于线性回归的标准统计技术。但在大多数现实世界中的问题是不能用简单的线性回归所能预测的。如商品的销售量、股票价格、产品合格率等,很难找到简单有效的方法来预测,因为要完全地描述这些事件的变化需要上百个变量,而且这些变量本身往往都是非线性的。为此学术界提出了很多试图解决这个问题方法,如逻辑回归、决策树和神经网络等。

5) 序列模式分析(Sequential)

序列模式分析和关联规则分析相似,它是描述基于时间或其他序列的经常发生的规律或趋势,并对其进行建模。它能发现数据库中形如“在某一段时间内,75%的顾客购买商品A,接着购买商品B,然后又购买商品C,即序列A-B- C出现的频度较高”之类的知识。序列模式将关联模式和时间序列模式结合起来,重点考虑数据之间在时间维上的关联性。在进行序列模式挖掘时主要有以下几个问题值得注意:首先是序列的持续时间,也就是某个时间序列的有效时间或者是用户选择的一个时间段:其次是时间折叠窗口,即在某一段时间内发生的事件可以被看作是同时发生的;最后是所发现的模式时间间隔。

6) 偏差分析(Deviation)

偏差分析是指对差异或极端特例的描述,如聚类划分外的偏离值。在大多数据挖掘方法中都是将这些偏差信息作为噪声而丢掉,然而在一些实际应用中,这种罕见的数据可能比正常的数据更有价值。比如网络的入侵检测和信用卡的欺诈检测等。我们可在通过这些异常数据的偏差来分析其中的原因,以便对其采用相应的措施。

2 数据挖掘的主要方法

数据挖掘是一门新兴的研究领域,其技术基础是人工智能(Artificial Intelligence )。它借鉴了信息论、数理逻辑、进化计算、神经计算和统计学等理论和算法[22]。在此介绍几种主流的方法。

1) 遗传算法

遗传算法是一种基于生物进化过程的组合优化方法,它是生物学和计算机相结合的产物,由美国密西根大学的D.J Holland教授和他的同事们在1975年首次提出的。根据适者生存的原则模拟自然界的生命进化机制,形成当前群体适合的规则组成新群体,以及这些规则的后代。

基于这些思想,根据遗传算法的最适合模型,并进一步对数据模型进行优化。

由于遗传算法是一种弱算法,具有高效性和灵活性的特点,在数据挖掘中也用于评估其他算法的适应度。

遗传算法擅长于数据聚类,通过事件的类比和空间上的类比,可以把大量繁杂的信息数据进行系统化、条理化,从而找出数据之间的内在关系,得出有用的概念和模式。再建立数据模式时,将遗传算法与神经网络相结合,可以更好地提高模型的适应性。因此遗传算法广泛应用于自动控制、机器学习、模式识别和组合优化等领域。

2) 神经网络

神经网络(neural network )是由多个神经元按照某种方式相互连接形成,靠网络状态对外部输入信息的动态响应来处理信息,网络的信息分布式存储于连接权系数中,使网络具有很强的容错性和鲁棒性。神经网络的核心是结构和算法,例如Hopfield网就是以结构见长,而BP (back propagation)网是以算法见长。

神经网络和基于符号的传统技术相比,具有直观性、并行性和抗噪声性。目前,已出现了许多网络模型和学习算法,主要用于分类、优化、模式识别、预测和控制等领域。在数据挖掘领域,主要采用前向神经网络提取分类规则。

在数据挖掘领域,将神经网络用于数据挖掘,重点要解决好以下两个问题:一是降低训练时间,二是挖掘结果的可理解性

3) 统计分析方法

统计分析方法是利用统计学、概率论的原理对数据库中的各属性进行统计分析,从而找出其中的关系和规律。统计分析方法是最基本的数据挖掘方法之一。常用的统计分析方法有

判别分析法:建立一个或多个判别函数,并确定一个判别标准,然后对未知属性的对象根据观测值将其划分归为已知类别中的一类。

因子分析法:用较少的综合变量来表达多个观察变量。根据相关性大小把变量分组,使得各组内的变量之间相关性较高,不同组变量的相关性较低。

相关分析和回归分析法:相关分析是用相关关系来度量变量间的相关程度。回归分析是用数学方程来表示变量间的数量关系,方法有线性回归和非线性回归。

偏最小二乘回归法:是一种新型的多元统计数据分析方法,它主要研究的是多因变量(结果)对多自变量(原因)的回归建模,特别当各变量内部高度线性相关时,用偏最小二乘回归法更有效。另外,偏最小二乘回归较好地解决了样本个数少于变量个数等问题。

在数据挖掘中,统计分析方法适用于分类挖掘和聚类挖掘。

4) 粗集方法

粗集(rough set)理论的特点是不需要预先给定某些特征或属性的数量描述,而是直接从给定问题出发,通过不可分辨关系和不可分辨类确定问题的近似域,从而找出该问题中的内在规律。粗集理论同模糊集、神经网络、证据理论等其它理论均成为不确定性计算的一个重要分支。

粗集理论是由波兰华沙理工大学的Z.Pawlak教授于1982年提出的一种研究不完整、不确定知识和数据的表达、学习及归纳的理论方法。粗集理论采用了上近似集合、下近似集合和边界来定义粗糙集。

粗糙集合理论可以用于分类,发现不准确数据或噪声数据内在的联系。找出可以描述给定数据集中所有概念的属性子集是个难题。在给定的现实世界数据中,往往有些类不能被可用的属性区分,则可以用粗糙集合来近似地定义这些类。根据目前己有的给定问题的知识,将问题的论域进行划分,然后对划分后的每一个组成部分确定其对某一概念的支持度,即肯定支持此概念或不支持此概念和模糊概念。上述情况分别用3个近似集合来表示。即将知识定义为对事物的分类能力。这种能力分别由上近似集、下近似集、等价关系等概念来体现。

5) 决策树方法

决策树((decision tree)是一个类似于流程图的树型结构,其中树的每一个内部节点代表对一个属性的测试,其分支代表测试的每一个结果:树的每一个叶子节点代表一个类别。决策树通过一系列的规则对数据进行分类。目前许多基于规则进行归纳的商用数据挖掘系统都是采用决策树方法。

决策树分类方法的优点:

1、决策树方法结构简单,便于人们理解;

2、决策树模型效率高,对训练及数据量大的情况较为合适;

3、决策树方法具有较高的分类精确度;

4、决策树可以清晰的显示哪些字段比较重要。

建立一棵决策树可能只要对数据库进行几遍扫描之后就能完成,这也意味着需要计算的资源较少,而且可以很容易的处理包含很多预测变量的情况,因此决策树模型可以建立的很快,并适用于大量的数据处理。常用的算法有CHAID,CART,Quest、C5.0和ID3算法。

建立决策树的过程,即树的生长过程是不断地把数据进行切分的过程,每次切分对应一个问题,也对应一个节点。对每个切分都要求分成的组之间的差异最大。各种决策树算法之间的k要区别就是对这个“差异”衡量方式的区别。

对决策树的批评常见的是,认为其在为一个节点选择怎样进行分割时使用的“贪心”算法。此种算法在决定当前分割时根本不考虑此次选择会对将来的分割产生什么样的影响。换句话说,所有的分割都是顺序完成的,一个节点完成分割之后不可能以后还有机会回头考虑此次分割的合理性,每次分割都是依赖于它前面的分割方法,只要第一次分割有一点点不同,那么由此得到的整个决策树就会完全不同。

除上述方法外,还有把数据与结果转化表达成可视化形式的可视化技术、模型方法和归纳学习等方法。

参考文献

[1]陶翠霞,浅谈数据挖掘及其发展状况,科技信息,2008年第4期

[2]王立伟,数据挖掘研究现状综述,图书与情报,2008 年第5 期

上一篇:浅析建筑本体表现的要素 下一篇:市政给排水管线施工技术