数据挖掘:概念与技术(第三版)之第七章的学习记录

来源:互联网 发布:2012网络歌曲排行榜 编辑:程序博客网 时间:2024/05/17 23:54

高级模式挖掘

在第六章我们讲了频繁模式的挖掘,本章主要讲高级模式挖掘。
模式挖掘相对于频繁模式挖掘来说,是一个更一般的术语。就是说模式挖掘不仅包括了频繁模式挖掘还包括了如稀有模式,负模式。然而,很多情况下,这两个术语是混用的。所以说,实际上频繁模式在模式挖掘里面占的比重相当相当大。
我们首先来理清一下,到底什么是模式?
模式就是数据中蕴含的规律或规律性的东西。我们知道KDD分为描述性和预测性,挖掘出一个模式(模型?)是数据挖掘的一个目标,而模式经过评估和和表示后就是知识。
回想一下上一章的频繁模式挖掘,我们主要想挖出的就是频繁项集,频繁序列,频繁结构,强规则这一类的东西。这些东西其实就是模式,在我们经过评估和表示以后,就是知识。我们就可以根据这些知识来重新调整超市中的上货规则呀,定价策略这些。
而随着技术的发展以及业务的需求,最初的频繁模式挖掘也慢慢发展成了高级模式挖掘。本章就主要讲高级模式挖掘。
书P180-181页回顾和介绍了一些名词的定义,包括频繁模式的三种形式(简单的平凡模式,闭模式和极大模式)和本章将要介绍的一些概念。值得注意的是,这些概念都是围绕着模式和规则描述的。
181页的图7.1初看不是很好理解,但学完本章回头再看就会理解了。主要是要理解什么是模式,明白模式或规则的不同类型,知道因为有各种不同的数据和应用领域,所以有各种模式挖掘方法。

接下来,会具体讲解高级模式挖掘。
首先在7.2节,我们会关注在多层和多维空间中的模式挖掘。

挖掘多层关联规则
对于很多应用来说,在较高的抽象层进行挖掘,发现的规则可能只是很常识性的规则,在这种时候,我们希望进行下钻以发现其他更有用的规则;而在较低抽象层进行挖掘时,可能会挖掘出很多很多琐碎而无用的知识。在这种需求的推动下,我们很希望有一种足够灵活的挖掘模式。这种挖掘模式能够非常便捷地在不同的抽象层进行挖掘和转化。

在多个抽象层的数据上挖掘产生的关联规则称为多维关联规则。注意,这句话的主体是关联规则。因为这个关联规则是在多个抽象层的数据上挖掘产生的,所以它(关联规则)被称为多层关联规则。
挖掘这种,最原始的方法是在书上184页最上面一笔带过。它说的是可以从最上层开始,逐步向下到较低的、更特定的概念层,在每个概念层,使用Apriori或其他算法计算频繁项集然后累积计数,直到底层不能再找到频繁项集为止。
而书上下面介绍的,都是这种方法的变形。实际上,说是变形只不过是对最小支持度阀值的处理上有区别而已(原始方法的最小支持度阀值是固定的)。具体看一下应该能理解。
在本小节末尾,书上提到,挖掘多层关联规则可能产生的一个严重的副作用是,由于项之间存在父母,祖先关系,可能会产生一些多个抽象层上的冗余规则。这其实很好理解,毕竟我们是在多层结构上进行挖掘的。

挖掘多维关联规则
在分析时,我们不会满足同一维度之间的规则。例如,我们不仅想知道买了啤酒还会买尿布这种规则,我们可能还想知道是什么样的人会买啤酒。因此这里引入了多维关联规则的概念。
多维关联规则讲的是:涉及两个或多个维或谓词的关联规则称作多维关联规则。注意这里的主体是关联规则。
根据规则的维是否重复出现,多维关联规则分为维间关联规则或混合维关联规则。这里我们主要研究维间关联规则。
我们知道数据库的属性可能是标称的或者数值(量化)的。经过前面的学习,我们知道标称的可以映射成量化的,而量化的也可以转换成标称的。
在这里,我们挖掘的目的是挖出规则或者模式。所以,我们要把量化属性转换成标称属性。这很好理解,因为我们要的是规则,而规则是一类的代表。我们不能说数1=》2,而只能说A=》B。
所以,通常的做法是把量化属性离散化为多个区间,而后在挖掘时把它们看作标称数据。
然后这种简单的离散化可能导致大量的规则,并且许多规则可能还没有什么用。所以,这里介绍了三种方法

(1)数据立方体方法(2)基于聚类的方法(3)揭示异常行为的统计学方法

来帮助克服这些困难,以便发现新颖的关联关系。

具体看书上7.2.3节。

挖掘稀有模式和负模式
有时,令人感兴趣的不是频繁模式,而是发现稀有的,或者反映项之间负相关的各种模式。
书上在讲解零事务问题的时候,着重探讨了这样一个问题。即评估模式是否是负相关的主要影响可能是零事务,而不是被观测的模式。书189页仔细看下。

在上面讨论稀有模式的时候,我们说到,稀有模式是其支持度低于用户指定的最小支持度阀值的模式。然后,由于大多数项集的出现频度通常都低于甚至远低于最小支持度阀值,因此实践中允许用户指定稀有模式的其他条件是可取的。
所以,实际上这里上是引出了基于约束的频繁模式挖掘。

基于约束的频繁模式挖掘
通常,我们认为用户具有很好的判断能力,知道沿着什么方向挖掘可能导致有趣的模式。因此,一种很好的做法是,让用户说明他们的这种直观或期望,作为限制搜索空间的约束条件。
具体看书7.3,好理解。

挖掘高维数据和巨型模式
有些应用需要挖掘数百或数千维的数据,使用前面的方法来挖掘这种高维数据,其性能损耗非常大。所以我们需要新的方法来解决这个问题。
目前有两个方向来解决这一问题。
第一个方向就是利用垂直数据格式,这在之前就已经介绍;第二个方向是开发新的挖掘方法,称为模式融合,用于挖掘巨型模式。
前面的看书都好说,关键是这个模式融合。我建议大家不要去看196页的图7.8,这张图以及本节前文对此方法描述的”跳跃“一词,一度误导了我。实质上,这个方法的名字”融合“才是体现了这个方法的思维方式。
书上首先引入了核模式这一概念,然后说到:巨型模式有更多的核模式,因此巨型模式更鲁棒。所以基于这个特性,模式融合可以融合少量较短的频繁模式。这也是它为什么被称为模式融合的原因
整个模式融合方法包括两个阶段:
1、池初始化
模式融合假定有一个短频繁模式的初始池。这是一个短长度的频繁模式挖掘集。这个初始值可以用任意已有的有效挖掘算法挖掘。
2、迭代的模式融合
用户首先指定一个参数K的值(K代表挖掘模式的最大个数),然后从当前池中随机地选取K个种子,对于每个种子,我们找出直径为τ的球内的所有模式。然后,每个”球“中的所有模式融合在一起,形成一个超模式集,这些超模式形成新的池,然后再从这个新的池子中随机地找到K个种子,然后重复上面的工作,一直迭代,直到不能融合为止。

这个方法的巧妙之处在于能够绕过中型模式。可能有的同学不太理解,我再解释下。
回顾上面的方法,我们看到,此方法的核心就是核模式。
只要我们选到的是巨型模式的核模式,那么通过几次这种”融合“的重复操作,就能够很快速的到达巨型模式,即便不是巨型模式的核模式,由于它的融合特性的存在,导致了它不是用单个项增量地扩展,而是与池中多个模式进行凝聚,这样也能够很快的到达巨型模式。
这样看起来,就省略了很多步骤。所以说书中用了”跳跃“一词,指的是这个意思,而不是其他意思。我之前就理解成了从核模式直接一步一步跳到了巨型模式,这是不正确的。
而使得模式融合方法有底气这样”跳“着走的原因是巨型模式有非常好的鲁棒性,但因此也使得的我们最后产生的是巨型模式的一个近似解。
那么这个近似解的质量怎么样呢?为此,我们引入了一个质量评估模型。经模型评估,模式融合能够有效地返回高质量的结果。

下面关于7.5,7.6详细看书就行,我目前感觉不是太重要。

阅读全文
0 0
原创粉丝点击