关联规则挖掘算法的研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据挖掘的结果一般表现为模式。模式可以看作是我们所说的知识,它 给出了数据的特性或数据之间的关系,是对数据包含的信息更抽象的描述。 如“成绩优秀的学生学习都非常刻苦”。并且,数据挖掘的结果必须能被用 户理解。数据挖掘的目标就是将数据中隐含的模式提取出来,从而帮助人们 更好的了解数据中包含的信息。
数据挖掘和知识发现作为一门新兴的研究领域,涉及到诸如机器学习、 模式识别、统计学、数据库、人工智能、数学和可视化技术等等众多学科。 特别的,它可看作数据库理论和机器学习的交叉学科,作为一种可独立应用 的技术,一经出现立即受到广泛的关注。正是由于数据库技术和机器学习技 术的发展,也是为了满足人们实际工作中的需要,数据库中的知识发现技术 逐渐发展起来。KDD 就是利用机器学习的方法从数据库中提取有价值知识 的过程,是数据库技术和机器学习两个学科的交叉学科。数据库技术侧重于 对数据存储处理的高效率方法的研究,而机器学习则侧重于设计新的方法从 数据中提取知识。KDD 利用数据库技术对数据进行前端处理,而利用机器 学习方法从处理后的数据中提取有用的知识。
§1.3 本文的主要工作
本文共分六章。第一章主要介绍数据挖掘与关联规则的发展和本文的 工作。第二章至第四章为本文全部工作的细节:第二章介绍关联规则挖掘中 常用的一些术语与经典工作;第三章提出一种基于项目集聚类与垂直数据分
-3-
第一章 绪 论
布思想的最大频繁项目集发现算法;第四章描述了基于覆盖这一偏序关系的 规则集缩减算法及具有顺序无关性和非回溯性的增量式规则集缩减方法;第 五章简述了算法模型实现和上述算法的一个简单的例;第六章对本文的工作 做了总结概括,并讨论了进一步的工作。
随着数据在日常决策中的重要性越来越显著,人们对数据处理技术的要 求也不断提高,需要能够对数据进行更深层次的处理,以得到关于数据的总 体特征以及对发展趋势的预测,而这些功能对传统的数据库管理系统来说是 无法做到的,并且目前用于对这些数据进行分析处理的工具也很少。
例如:超市的经营者希望将经常被同时购买的商品放在一起,以增加销 售量;保险公司想知道购买保险的客户一般具有哪些特征;医学研究人员希 望从已有的成千上万份病例中找出患某种疾病的病人的共同特征,从而为治 愈这种疾病提供一些帮助。对于上述问题,现有的信息管理系统中的数据分 析工具无法给出答案,不能对这些数据所包含的内在信息的含义进行提取。
-4-
第二章 关联规则挖掘的相关工作
第二章 关联规则挖掘的相关工作
§2.1 关联规则的有关概念
??项目 (Item):交易数据库中的一个属性字段,每个字段有一定的取值 范围。对超级市场来讲,项目一般是指一次交易中的一个物品。例如:客 户在某次交易中购买了“牛奶” 、“面包”和“黄油”,则“牛奶” 、“面 包”和“黄油”就代表了三个不同的项目。 ?? 交易(Transaction): 某个客户在一次交易中,发生的所有项目的集 合。在上个例子中,交易为:{“牛奶” ,“面包” ,“黄油” }。 ?? 项目集(Itemset):包含若干个项目的集合。项目集可能是一个交易, 也可能不是一个交易,但一个交易一定是一个项目集。在上个例子中,{“牛 奶” ,“面包” ,“黄油” }、{“牛奶” }、{“牛奶” ,“面包” }、 { “面包” ,“黄油” }等都是项目集,但只有{“牛奶” ,“面包” ,“黄 油” }才是一个交易。 ?? 项目集的维数:把一个项目集所包含的项目的个数称为此项目集的维数 或项目集的长度。长度为 k 的项目集,称作 k 维项目集。例如:项目集 I={“牛 奶” ,“面包” ,“黄油” }的维数或长度为 3,记作 3- 项目集。 ?? 支持度(Support):有关支持度有不同的概念。 ① 假定 X 是一个项目集,D 是一个交易集合或交易数据库,称 D 中包 含 X 的交易的个数为 X 在 D 中的支持度。例如:D={T1,T2,T3,T4}包含 4 个交易,其中 T1={A,B,C}、T2={B}、T3={A,B,C,D}、T4={B,C,D},如 果 X={B,C},则在 D 中包含 X 的交易有:T1,T3,T4,此时称 X 在 D 中的支 持度为 3。 ② 假定 X 是一个项目集,D 是一个交易集合或交易数据库,称 D 中包 含 X 的交易的个数与 D 中总的交易个数之比为 X 在 D 中的支持度。例如: D={T1,T2,T3,T4}包含 4 个交易,其中 T1={A,B,C}、T2={B}、T3={A,B, C,D}、T4={B,C,D},如果 X={B,C},则在 D 中包含 X 的交易有:T1,T3, T4,此时 D 中总的交易个数为 4,故 X 在 D 中的支持度为 75%。这两个不同 的概念使用在不同的场合,但其内在含义是一致的。而后一个定义使用得 更广泛,因为它是一个规格化的概念,保证了支持度的范围在 0 到 1 之间。 把 X 的支持度记作 sup(X),而关联规则 X? Y 的支持度则记作 sup(X ? Y)。 ??可信度(Confidence):对形如 X? Y 的关联规则,其中 X 和 Y 都是项 目集,定义规则的可信度为交易集合 D 中既包含 X 也包含 Y 的交易个数与 D 中仅包含 X 而不包含 Y 的交易个数之比,或者说是项目集 X? Y 的支持度与 X 的支持度之比,即 sup(X ? Y)/ sup(X)。把规则 X? Y 的可信度记作 conf(X? Y)。一个规则的可信度的范围在 0 到 1 之间。事实上可信度即是
数据挖掘有多种分类方法。其中根据发现知识的种类可以把数据挖掘分 为通用规则挖掘(General Rules)、总结规则挖掘(Summarization Rules)、特征 规则挖掘(Characterization Rules)、关联规则挖掘(Association Rules)、分类挖 掘(Classification)、聚类挖掘(Clustering)、序列模式分析(Sequence Pattern Analysis)、时间序列分析(Time Series Analysis)、趋势分析(Trend Analysis)和 偏差分析(Deviation Analysis)等。其中关联规则挖掘是目前最活跃,研究最 深入的领域[27][28]。本文对关联规则的挖掘问题进行了深入的研究。
第二步虽然很简单,但仍然有很重要的研究内容,例如从大量规则中找 到有意义的规则,让用户更方便地解释和理解规则也非常重要,如果用户无 法使用挖掘结果,数据挖掘就变得没有意义了。对大型数据库来说,通常算 法所返回的结果都非常庞大,而且还可能伴随着错误信息,这给用户决策带 来了极大困难。即使在挖掘过程中进行各种限制,也不能完全解决问题, 因 而规则的后处理也就变得很重要了。本文在对规则进行深入的研究之后,提 出了基于偏序关系(覆盖关系)的有效的规则集缩减方法。
关联规则的挖掘工作可以分成两个步骤,第一个步骤是从交易数据集合 中发现所有满足用户给定的最小支持度的频繁项目集(对一个项目集 X,如 果 X 的支持度不小于用户定义的最小支持度阈值,称 X 为频繁项目集或大 集);第二个步骤是在频繁项目集的基础上生成所有满足用户给定的最小可 信度的关联规则。.
目前的大部分工作都集中在第一步。其主要原因是数据量巨大所造成 的,算法的效率以及可扩展性都具有很强的挑战性。本文中发现最大频繁项 目集的有效算法,利用了频繁项目集的结构特性来快速发现相关的数据库项 目,并且利用有效的格遍历技术,可以快速识别所有的最大频繁项目集,此算 法只扫描数据库一次或两次。
-5-
第二章 关联规则挖掘的相关工作
指在出现了项目集 X 的交易中,项目集 Y 也同时出现的概率有多大。 ?? 最小支持度(Minimum Support):由用户定义的衡量支持度的一个阈值, 表示项目集在统计意义上的最低重要性,记作 minsup。 ?? 最小可信度(Minimum Confidence):由用户定义的衡量可信度的一个 阈值,表示规则的最低可靠性,记作 minconf。 ??频繁项目集(Frequent Itemset):对一个项目集 X,如果 X 的支持度不 小于用户定义的最小支持度阈值,即 sup(X)? minsup,称 X 为频繁项目 集或大集(Large Itemset)。 ??非频繁项目集(Not Frequent Itemset):对一个项目集 X,如果 X 的支 持度小于用户定义的最小支持度阈值,即 sup(X)< minsup,称 X 为非频 繁项目集或小集(Small Itemset)。 ?? 最大频繁项目集(Maximal Frequent Itemset ):某频繁项目集说是最 大频繁项目集,如果它不是其他任何频繁项目集的子集。
过去,人们依靠经验,大量的计算和人脑的指挥来处理这些深层次的信 息,为决策提供技术支持。然而数据量的爆炸性的增长使得传统的手工处理 方法逐渐变得不切实际了,现在的用户很难再象从前那样,自己根据数据的 分布找出规律,并根据此规律精确分析决策。由于数据的繁杂,人工对数据 进行处理,很难找出关于数据较为全面的信息,这样许多有用的信息仍然隐 含在数据中而不能被发现和利用,造成数据资源的浪费。需要采集自动化程 度更高,效率更高的数据处理方法来帮Fra Baidu bibliotek人们更高效地进行数据分析,自动 发现数据中隐藏的规律或模式,为决策提供支持。数据挖掘就是为迎合这一 要求而产生并迅速发展起来的一门技术,是用于开发信息资源的一种崭新的 数据处理技术。
§1.2 关联规则
在数据挖掘的知识模式中,关联规则是比较重要的一种。关联规则是数 据中一种简单但很实用的规则。关联规则模式属于描述性模式,发现关联规
-2-
第一章 绪 论
则的算法属于无监督学习的方法。 在数据挖掘研究中,关联规则挖掘的研究开展得最广泛,关联规则最初
来源于商业 POS 系统中,应用于交易数据库,用来发现超级市场中用户购 买的商品之间的隐含关系,以便为商场的决策提供依据。条形码技术的发展 以及商场 POS 机的设置使得超级市场存储了数以万计的数据记录,这些记 录详细记录了每个客户每次交易的时间、商品、数量和价格等信息,从而为 数据挖掘提供了数据基础。关联规则最初由 Rakesh Agrawal,Tomase Imielinski 和 Arun Swami 提出。例如关联规则可以表示为“购买了面包和黄 油的用户中有 90%又购买了牛奶”,决策者可以根据关联规则提供的信息进 行优化商场布置(例如:把用户经常购买的商品摆放在一起)以及为进货和 广告宣传等提供决策依据。关联规则虽然来源于 POS 中,但是可以应用于 很多领域。关联规则的应用包括商场的顾客购物分析、商品广告邮寄分析、 网络故障分析等. 只要一个客户在同一个时间里买了多样东西,或者在一段 时间了做了好几样事情就可能是一个潜在的应用。
第一章 绪 论
第一章 绪 论
§1.1 数据挖掘(Data Mining)
随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存
储的数据量急剧增大,在大量的数据背后隐藏着许多重要信息,而这些重要 信息可以很好地支持人们的决策。目前数据库系统所能做到的只是对数据库 中已有的数据进行存取,人们通过这些数据所获得的信息量仅仅是整个数据 库所包含的信息量的一部分,隐藏在这些数据之后的更重要的信息是关于这 些数据的整体特征的描述及对其发展趋势的预测,这些信息在决策生成的过 程中具有重要的参考价值。
正如 John N aisbett 所说,“我们已被信息所淹没,但是却正在忍受缺乏 知识的煎熬”。知识发现 KDD (Knowledge Discovery in Database)的出现很好 地满足了数据处理的需要。知识发现,也有人称之为数据挖掘,实际两者是 有区别的,但一般可以不加区别地使用两者。
从开始到现在,人们给 KDD 下过很多定义。随着 KDD 研究的不断深 入,人们对 KDD 的理解越来越全面,对 KDD 的定义也不断修改。数据挖 掘,或数据库中的知识发现 KDD 比较公认的定义是由 William J Frawley、
-1-
第一章 绪 论
Gregory Piatesky-Shapiro 和 Ussma M Fayyad 等人提出的。数据挖掘就是从 大型数据库中提取出人们感兴趣的知识。这些知识是隐含的、先前未知的、 对决策有潜在价值的,提取的知识表示为概念(Concepts)、规则(Rules)、 规律(Regularities)和模式(Patterns)等形式。这些规则蕴涵了数据库中一组对 象之间的特定关系,揭示出一些有用的信息,为经营决策、市场决策、市场 策划和金融预测等提供依据。数据挖掘虽然只有几年的历史,然而由于其极 大的潜在使用价值,使得数据挖掘技术已经深入到许多领域,并已经开发出 了许多成功的产品。数据挖掘广泛用于下列领域。例如:科学研究、市场营 销、金融投资、风险评估、欺诈识别、产品制造、通信网络管理、医学应用、 网络应用、语音合成。
相关文档
最新文档