数据挖掘算法综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据挖掘方法综述
[摘要]数据挖掘(DM,DataMining)又被称为数据库知识发现(KDD,Knowledge Discovery in Databases),它的主要挖掘方法有分类、聚类、关联规则挖掘和序列模式挖掘等。
[关键词]数据挖掘分类聚类关联规则序列模式
1、数据挖掘的基本概念
数据挖掘从技术上说是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在的有用的信息和知识的过程。这个定义包括好几层含义: 数据源必须是真实的、大量的、含噪声的、发现的是用户感兴趣的知识, 发现的知识要可接受、可理解、可运用, 并不要求发现放之四海皆准的知识, 仅支持特定的发现问题, 数据挖掘技术能从中自动分析数据进行归纳性推理从中发掘出潜在的数据模式或进行预测, 建立新的业务模型帮助决策者调整策略做出正确的决策。数据挖掘是是运用统计学、人工智能、机器学习、数据库技术等方法发现数据的模型和结构、发现有价值的关系或知识的一门交叉学科。数据挖掘的主要方法有分类、聚类和关联规则挖掘等
2、分类
分类(Classification)又称监督学习(Supervised Learning)。监
督学习的定义是:给出一个数据集D,监督学习的目标是产生一个联系属性值集合A和类标(一个类属性值称为一个类标)集合C的分类/预测函数,这个函数可以用于预测新的属性集合(数据实例)的类标。这个函数就被称为分类模型(Classification Model),或者是分类器(Classifier)。分类的主要算法有:决策树算法、规则推理、朴素贝叶斯分类、支持向量机等算法。
决策树算法的核心是Divide-and-Conquer的策略,即采用自顶向下的递归方式构造决策树。在每一步中,决策树评估所有的属性然后选择一个属性把数据分为m个不相交的子集,其中m是被选中的属性的不同值的数目。一棵决策树可以被转化成一个规则集,规则集用来分类。
规则推理算法则直接产生规则集合,规则推理算法的核心是Separate-and-Conquer的策略,它评估所有的属性-值对(条件),然后选择一个。因此,在一步中,Divide-and-Conquer策略产生m条规则,而Separate-and-Conquer策略只产生1条规则,效率比决策树要高得多,但就基本的思想而言,两者是相同的。
朴素贝叶斯分类的基本思想是:分类的任务可以被看作是给定一个测试样例d后估计它的后验概率,即Pr(C=c j︱d),然后我们考察哪个类c j对应概率最大,便将那个类别赋予样例d。构造朴素贝叶斯分类器所需要的概率值可以经过一次扫描数据得到,所以算法相对训练样本的数量是线性的,效率很高,就分类的准确性而言,尽管算法做出了很强的条件独立假设,但经过实际检验证明,分类的效果还是
非常好的。
支持向量机(SVM)是另一类的线性学习系统,用最大边距决策边界来分割正例和负例,学习问题用一个二次优化问题来描述。非线性的决策边界可以用原始数据向更高维的特征空间变换得到。支持向量机不仅有扎实的理论基础,而且在许多应用领域比其他算法更准确,尤其是在处理高维数据时。到目前为止它是解决文本分类问题的最准确的算法,也被广泛用于网页分类和生物信息领域。
3、聚类
聚类(Clustering)又称为监督学习(Supervised Learning),它可以发现数据属性和类别属性之间的关联模式,并通过利用这些模式来预测未知数据实例的类别属性。聚类分析的主要思想是使得同类中的对象距离尽可能小,而类与类之间的距离尽可能大。聚类分析关注于根据一些不同种类的度量构造一些相似的对象组成的群体。关键的思想是确定对分析目标有利的对象分类方法。聚类是一个将数据集划分为若干组或若干类的过程,并使得同一个组内的对象具有较高的相似度,而不同组之间的数据对象相似却很小。相似或不相似的度量是基于数据对象描述的取值来确定的。通常就是利用各对象间的距离来进行描述。将一群物理的或抽象的对象,根据它们之间的相似程度,分为若干组,其中相似的对象构成一组,这一过程就称为聚类过程,一个聚类,又称簇,就是由彼此相似的一组对象所构成的集合,不同聚类中的对象通常是不相似的。
聚类分析是按照不同对象之间差异,根据每个样本对象的各种特征,通过无监督训练将样本按类似性分类,把相似性大样本归为一类,并占据特征空间的一个局部区域,每个局部区域的聚合中心又起着相应类型代表的作用。聚类分析是一种典型的组合优化问题。通常用于将某些具有一定特征的各个个体进行分类。聚类算法主要有两种类型:划分聚类和层次聚类。
K-均值聚类算法是著名的划分聚类算法(K-means Clustering)。它的主要思想是给定一个数据点集合和需要的聚类数目K(K是由用户指定的),K-均值算法根据某个距离函数反复地把数据分入K个聚类中。在算法的开始,先随机选取K个数据点作为初始的聚类中心。然后计算每个数据点与各个种子聚类中心之间的距离,把每个数据点分配给距离它最近的聚类中心。聚类中心以及分配给它的数据点就代表一个聚类。一旦全部数据点都被分配了,每个聚类的聚类中心会根据聚类中现有的数据点被重新计算。这个过程将被不断重复直到满足某个终止条件。K-均值算法的主要优点是简洁高效,缺点是只能应用于那些均值能够被定义的数据集上,且对于异常值十分敏感。
层次聚类是另一种主要的聚类方法。它生成一系列嵌套的聚类树来完成聚类。单点聚类(仅包含一个数据点)处在树的最底层,在树的顶层有一个根节点聚类。根节点覆盖了全部数据点。层次聚类主要有合并(自下而上)聚类和分裂(自上而下)聚类两种方式。层次聚类算法的主要优点是它能够使用任何形式的的距离和相似度函数,缺点是效率低下,因为它需要平方的计算复杂度。
4、关联规则
关联规则是描述数据库中数据项之间存在潜在关系的规则,数据项之间的关联即根据一个事务中某些项的出现,可推导出另一些项在同一事务中也出现,挖掘关联规则的问题可以分为:发现最大项目集和生成规则两个步骤。而发现最大项目集是挖掘关联规则的核心.关联规则挖掘算法中,最初有AISHE和SETM两个算法,但它们在执行过程中产生了很多不必要的候选项目集,计算量较大。因而在关联规则挖掘中处理的数据量很大,所以需要采用一些有效的技术来提高算法的效率.另外可以使用并行技术来解决。在并行算法中涉及了计算、通讯、内存利用等的协调关系。其实,有价值的关联规则经常出现在相对较高的概念层上,从较低的概念层中很难发现有用的关联规则。目前关联规则已经从单一的概念层发展到多概念层上,在概念层上一层层往下,从一般到具体,发现的关联规则能提供的信息也更具体,这是个逐步深化的知识发现过程,成为广义关联规则。Apriori 算法是关联规则挖掘的经典算法。
Apriori算法基于演绎(Apriori)原理(或称为向下封闭属性)来高效地产生所有频繁项目集。即如果一个项集满足某个最小支持度要求,那么这个项集的任何非空子集必须满足这个最小支持度。Apriori算法的步骤是先生成一个支持度高于最小支持度的频繁项目集,然后从频繁项目集中生成所有的可信关联规则,即置信度大于最小置信度的规则。