178
第 12 第 第第第第第第 Chapter 12 Applications of Data Mining 第第第 (Congfu Xu), PhD, Asso. Profe ssor 第第第第第第第第第第第 2005 第 5 第 17 第第 2006 第 10 第 30 第第第第第第 第第第第第第第 第第第第第第第第第 《》

第 12 讲 数据挖掘应用 Chapter 12 Applications of Data Mining

  • Upload
    dakota

  • View
    170

  • Download
    0

Embed Size (px)

DESCRIPTION

浙江大学研究生 《 人工智能引论 》 课件. 第 12 讲 数据挖掘应用 Chapter 12 Applications of Data Mining. 徐从富 (Congfu Xu), PhD, Asso. Professor 浙江大学人工智能研究所 2005 年 5 月 17 日第一稿 2006 年 10 月 30 日第二次修改. 目录. 关联规则挖掘 聚类分析 分类与预测 Web 挖掘 流数据挖掘 隐私保护数据挖掘. 关联规则挖掘. 关联规则挖掘简介 关联规则基本模型 关联规则价值衡量与发展. 关联规则简介. - PowerPoint PPT Presentation

Citation preview

Page 1: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

第 12 讲 数据挖掘应用Chapter 12 Applications of Data Mining

徐从富 (Congfu Xu), PhD, Asso. Professor

浙江大学人工智能研究所2005 年 5 月 17 日第一稿

2006 年 10 月 30 日第二次修改

浙江大学研究生《人工智能引论》课件

Page 2: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

目录一. 关联规则挖掘二. 聚类分析三. 分类与预测四. Web 挖掘五. 流数据挖掘六. 隐私保护数据挖掘

Page 3: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

一.关联规则挖掘1. 关联规则挖掘简介2. 关联规则基本模型3. 关联规则价值衡量与发展

Page 4: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

1. 关联规则简介 关联规则反映一个事物与其他事物之间的相互依存性和关联性。如果两个或者多个事物之间存在一定的关联关系,那么,其中一个事物就能够通过其他事物预测到。 典型的关联规则发现问题是对超市中的货篮数据( Market Basket )进行分析。通过发现顾客放入货篮中的不同商品之间的关系来分析顾客的购买习惯。

Page 5: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

什么是关联规则挖掘 关联规则挖掘

首先被 Agrawal, Imielinski and Swami 在 1993 年的 SIGMOD 会议上提出 在事务、关系数据库中的项集和对象中发现频繁模式、关联规则、相关性或者因果

结构 频繁模式 : 数据库中频繁出现的项集

目的 : 发现数据中的规律 超市数据中的什么产品会一起购买?— 啤酒和尿布 在买了一台 PC 之后下一步会购买 ? 哪种 DNA 对这种药物敏感 ? 我们如何自动对 Web 文档进行分类 ?

Page 6: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

频繁模式挖掘的重要性 许多重要数据挖掘任务的基础

关联、相关性、因果性 序列模式、空间模式、时间模式、多维 关联分类、聚类分析

更加广泛的用处 购物篮分析、交叉销售、直销 点击流分析、 DNA 序列分析等等

Page 7: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

2. 关联规则基本模型① 关联规则基本模型② Apriori 算法

Page 8: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

① 关联规则基本模型 IBM 公司 Almaden 研究中心的 R.Agrawal 首先提出关联规则模型,并给出求解算法 AIS 。随后又出现了 SETM 和 Apriori 等算法。其中,

Apriori 是关联规则模型中的经典算法。 给定一组事务产生所有的关联规则满足最小支持度和最小可信度

Page 9: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则基本模型(续) 设 I={i1, i2,…, im} 为所有项目的集合, D 为事务数据库,事务 T 是一个项目子集( TI )。每一个事务具有唯一的事务标识 TID 。设 A 是一个由项目构成的集合,称为项集。事务 T 包含项集 A ,当且仅当 AT 。如果项集 A 中包含 k 个项目,则称其为 k项集。项集 A 在事务数据库 D 中出现的次数占 D中总事务的百分比叫做项集的支持度。如果项集的支持度超过用户给定的最小支持度阈值,就称该项集是频繁项集(或大项集)。

Page 10: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则基本模型(续) 关联规则是形如 XY 的逻辑蕴含式,其中 XI , Y

I ,且 XY= 。如果事务数据库 D 中有 s% 的事务包含 XY ,则称关联规则 XY 的支持度为 s% ,实际上,支持度是一个概率值。若项集 X 的支持度记为 support (X) ,规则的信任度为 support (XY)/support (X) 。这是一个条件概率 P (Y | X) 。也就是:

support (XY)=P (X Y) confidence (XY)=P (Y | X)

Page 11: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

规则度量:支持度与可信度查找所有的规则 X & Y Z 具有最小支持度和可信度

支持度 , s, 一次交易中包含 {X 、 Y 、 Z} 的可能性可信度 , c, 包含 {X 、 Y} 的交易中也包含 Z 的条件概率

交易ID 购买的商品2000 A,B,C1000 A,C4000 A,D5000 B,E,F

设最小支持度为 50%, 最小可信度为 50%, 则可得到 A C (50%, 66.6%) C A (50%, 100%)

买尿布的客户二者都买的客户

买啤酒的客户

Page 12: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则基本模型(续) 关联规则就是支持度和信任度分别满足用户给定阈值的规则。 发现关联规则需要经历如下两个步骤:

找出所有频繁项集。 由频繁项集生成满足最小信任度阈值的规则。

Page 13: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Let min_support = 50%, min_conf = 50%:A C (50%, 66.7%)C A (50%, 100%)

Customerbuys diaper

Customerbuys both

Customerbuys beer

Transaction-id Items bought10 A, B, C

20 A, C

30 A, D

40 B, E, F

Page 14: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

For rule A C:support = support({A}{C}) = 50%confidence = support({A}{C})/support({A}) = 66.6%

Min. support 50%Min. confidence 50%

Transaction-id Items bought10 A, B, C

20 A, C

30 A, D

40 B, E, F

Frequent pattern Support{A} 75%

{B} 50%

{C} 50%

{A, C} 50%

Page 15: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

② Apriori 算法的步骤 Apriori 算法命名源于算法使用了频繁项集性质的先验( Prior )知识。 Apriori 算法将发现关联规则的过程分为两个步骤:

通过迭代,检索出事务数据库中的所有频繁项集,即支持度不低于用户设定的阈值的项集;利用频繁项集构造出满足用户最小信任度的规则。

挖掘或识别出所有频繁项集是该算法的核心,占整个计算量的大部分。

Page 16: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

频繁项集 为了避免计算所有项集的支持度(实际上频繁项集只占很少一部分), Apriori 算法引入潜在频繁项集的概念。若潜在频繁 k 项集的集合记为 Ck ,频繁 k 项集的集合记为 Lk ,

m 个项目构成的 k 项集的集合为 ,则三者之间满足关系 Lk Ck 。构成潜在频繁项集所遵循的原则是“频繁项集的子集必为频繁项集”。

kmC

kmC

Page 17: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则的性质: 性质 6.1 频繁项集的子集必为频繁项集。 性质 6.2 非频繁项集的超集一定是非频繁的。 Apriori 算法运用性质 6.1 ,通过已知的频繁项集构成长度更大的项集,并将其称为潜在频繁项集。潜在频繁 k 项集的集合 Ck 是指由有可能成为频繁 k项集的项集组成的集合。以后只需计算潜在频繁项集的支持度,而不必计算所有不同项集的支持度,因此在一定程度上减少了计算量。

Page 18: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Apriori 算法 (1) L1={ 频繁 1 项集 }; (2) for(k=2;Lk-1;k++) do begin (3) Ck=apriori_gen(Lk-1); //新的潜在频繁项集 (4) for all transactions tD do begin (5) Ct=subset(Ck,t); //t 中包含的潜在频繁项集 (6) for all candidates cCt do (7) c.count++; (8) end; (9) Lk={cCk|c.countminsup} (10) end; (11) Answer=

k kL

Page 19: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

实例Database TDB

1st scan

C1L1

L2

C2 C2

2nd scan

C3 L33rd scan

Tid Items10 A, C, D20 B, C, E30 A, B, C, E40 B, E

Itemset sup{A} 2{B} 3{C} 3{D} 1{E} 3

Itemset sup{A} 2{B} 3{C} 3{E} 3

Itemset{A, B}{A, C}{A, E}{B, C}{B, E}{C, E}

Itemset sup{A, B} 1{A, C} 2{A, E} 1{B, C} 2{B, E} 3{C, E} 2

Itemset sup{A, C} 2{B, C} 2{B, E} 3{C, E} 2

Itemset{B, C, E}

Itemset sup{B, C, E} 2

Page 20: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Visualization of Association Rules: Pane Graph

Page 21: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Visualization of Association Rules: Rule Graph

Page 22: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

提高 Apriori算法的方法 Hash-based itemset counting (散列项集计数) Transaction reduction (事务压缩) Partitioning (划分) Sampling (采样)

Page 23: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则挖掘算法 Agrawal 等人提出的 AIS , Apriori 和 AprioriTid Cumulate 和 Stratify , Houstsma 等人提出的 SETM Park 等人提出的 DHP Savasere 等人的 PARTITION Han 等人提出的不生成候选集直接生成频繁模式 FPG

rowth 其中最有效和有影响的算法为 Apriori , DHP 和 PAR

TITION , FPGrowth 。

Page 24: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

用 Frequent-Pattern tree (FP-tree) 结构压缩数据库 , 高度浓缩,同时对频繁集的挖掘又完备的避免代价较高的数据库扫描

开发一种高效的基于 FP-tree 的频繁集挖掘算法采用分而治之的方法学:分解数据挖掘任务为小任务避免生成关联规则 : 只使用部分数据库 !

挖掘频繁集 不用生成候选集

Page 25: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

头表Item frequency head f 4c 4a 3b 3m 3p 3

最小支持度 = 0.5

TID Items bought (ordered) frequent items100 {f, a, c, d, g, i, m, p} {f, c, a, m, p}200 {a, b, c, f, l, m, o} {f, c, a, b, m}300 {b, f, h, j, o} {f, b}400 {b, c, k, s, p} {c, b, p}500 {a, f, c, e, l, p, m, n} {f, c, a, m, p}

步骤 :1. 扫描数据库一次,得到频繁1- 项集2. 把项按支持度递减排序3. 再一次扫描数据库,建立 FP-tree

用交易数据库建立 FP-tree

Page 26: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

完备 : 不会打破交易中的任何模式包含了频繁模式挖掘所需的全部信息

紧密去除不相关信息—不包含非频繁项支持度降序排列 : 支持度高的项在 FP-tree 中共享的机会也高决不会比原数据库大(如果不计算树节点的额外开销 )例子 : 对于 Connect-4 数据库 ,压缩率超过 100

FP-tree 结构的好处

Page 27: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

基本思想 ( 分而治之 )用 FP-tree地归增长频繁集

方法 对每个项,生成它的 条件模式库 , 然后是它的 条件 FP-tree对每个新生成的条件 FP-tree ,重复这个步骤直到结果 FP-tree 为空 , 或只含维一的一个路径

(此路径的每个子路径对应的项集都是频繁集 )

用 FP-tree 挖掘频繁集

Page 28: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

1) 为 FP-tree 中的每个节点生成条件模式库2) 用条件模式库构造对应的条件 FP-tree

3) 递归构造条件 FP-trees 同时增长其包含的频繁集

如果条件 FP-tree只包含一个路径,则直接生成所包含的频繁集。

挖掘 FP-tree 的主要步骤

Page 29: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

从 FP-tree 的头表开始 按照每个频繁项的连接遍历 FP-tree 列出能够到达此项的所有前缀路径,得到条件模式库

条件模式库item cond. pattern basec f:3a fc:3b fca:1, f:1, c:1m fca:2, fcab:1p fcam:2, cb:1

{}

f:4 c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

头表Item frequency head f 4c 4a 3b 3m 3p 3

步骤 1: 从 FP-tree 到条件模式库

Page 30: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

节点裢接任何包含 ai, 的可能频繁集,都可以从 FP-tree

头表中的 ai沿着 ai 的节点链接得到前缀路径

要计算路径 P 中包含节点 ai 的频繁集,只要考察到达 ai 的路径前缀即可,且其支持度等于节点 ai 的支持度

FP-tree 支持条件模式库构造的属性

Page 31: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

对每个模式库计算库中每个项的支持度用模式库中的频繁项建立 FP-tree

m- 条件模式库 :fca:2, fcab:1

{}

f:3

c:3

a:3m-conditional FP-tree

All frequent patterns concerning mm, fm, cm, am, fcm, fam, cam, fcam

{}

f:4c:1

b:1

p:1

b:1c:3

a:3

b:1m:2

p:2 m:1

头表Item frequency head f 4c 4a 3b 3m 3p 3

步骤 2: 建立条件 FP-tree

Page 32: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

EmptyEmptyf

{(f:3)}|c{(f:3)}c

{(f:3, c:3)}|a{(fc:3)}a

Empty{(fca:1), (f:1), (c:1)}b

{(f:3, c:3, a:3)}|m{(fca:2), (fcab:1)}m

{(c:3)}|p{(fcam:2), (cb:1)}p条件 FP-tree条件模式库项

通过建立条件模式库得到频繁集

Page 33: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

{}

f:3

c:3

a:3m- 条件 FP-tree

“am” 的条件模式库 : (fc:3)

{}

f:3

c:3am- 条件 FP-tree

“cm” 的条件模式 : (f:3){}

f:3cm- 条件 FP-tree

“cam” 条件模式库 : (f:3){}

f:3cam- 条件 FP-tree

第 3 步 : 递归挖掘条件 FP-tree

Page 34: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

3. 关联规则价值衡量与发展① 关联规则价值衡量② 关联规则最新进展

Page 35: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

① 规则价值衡量 对关联规则的评价与价值衡量涉及两个层面:

系统客观的层面用户主观的层面

Page 36: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

系统客观层面 使用“支持度和信任度”框架可能会产生一些不正确的规则。只凭支持度和信任度阈值未必总能找出符合实际的规则。

Page 37: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

用户主观层面 只有用户才能决定规则的有效性、可行性。所以,应该将用户的需求和系统更加紧密地结合起来。 可以采用基于约束( Consraint-based )的数据挖掘方法。具体约束的内容有:数据约束、 限定数据挖掘的维和层次、规则约束。 如果把某些约束条件与算法紧密结合,既能提高数据挖掘效率,又能明确数据挖掘的目标。

Page 38: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

② 关联规则新进展 在基于一维布尔型关联规则的算法研究中先后出现了

AIS 、 SETM 等数据挖掘算法。 R.Agrawal 等人提出的 Apriori 是经典算法。随后的关联规则发现算法大多数建立在 Apriori 算法基础上,或进行改造,或衍生变种。比如 AprioriTid 和 Apriori

Hybrid 算法。 Lin 等人提出解决规则挖掘算法中的数据倾斜问题,从而使算法具有较好的均衡性。 Park 等人提出把哈希表结构用于关联规则挖掘。

Page 39: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则新进展(续) 数据挖掘工作是在海量数据库上进行的,数据库的规模对规则的挖掘时间有很大影响。 Agrawal 首先提出事务缩减技术, Han 和 Park 等人也分别在减小数据规模上做了一些工作。 抽样的方法是由 Toivonen 提出的。 Brin 等人采用动态项集计数方法求解频繁项集。 Aggarwal 提出用图论和格的理论求解频繁项集的方法。

Prutax 算法就是用格遍历的办法求解频繁项集。

Page 40: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则新进展(续) 关联规则模型有很多扩展,如顺序模型挖掘,在顺序时间段上进行挖掘等。 还有挖掘空间关联规则,挖掘周期性关联规则,挖掘负关联规则,挖掘交易内部关联规则等。 Guralnik 提出顺序时间段问题的形式描述语言,以便描述用户感兴趣的时间段,并且构建了有效的数据结构 SP树(顺序模式树)和自底向上的数据挖掘算法。 最大模式挖掘是 Bayardo 等人提出来的。

Page 41: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则新进展(续) 随后人们开始探讨频率接近项集。 Pei 给出了一种有效的数据挖掘算法。 B.Özden 等人的周期性关联规则是针对具有时间属性的事务数据库,发现在规律性的时间间隔中满足最小支持度和信任度的规则。 贝尔实验室的 S.Ramaswamy 等人进一步发展了周期性关联规则,提出挖掘符合日历的关联规则( Calen

dric Association Rules )算法,用以进行市场货篮分析。 Fang 等人给出冰山查询数据挖掘算法。

Page 42: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则新进展(续) T.Hannu 等人把负边界引入规则发现算法中,每次挖掘不仅保存频繁项集,而且同时保存负边界,达到下次挖掘时减少扫描次数的目的。 Srikant 等人通过研究关联规则的上下文,提出规则兴趣度尺度用以剔除冗余规则。 Zakia还用项集聚类技术求解最大的近似潜在频繁项集,然后用格迁移思想生成每个聚类中的频繁项集。 CAR ,也叫分类关联规则,是 Lin 等人提出的一种新的分类方法,是分类技术与关联规则思想相结合的产物,并给出解决方案和算法。

Page 43: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

关联规则新进展(续) Cheung 等人提出关联规则的增量算法。 Thomas 等人把负边界的概念引入其中,进一步发展了增量算法。如,基于 Apriori框架的并行和分布式数据挖掘算法。 Oates 等人将MSDD 算法改造为分布式算法。还有其他的并行算法,如利用垂直数据库探求项集聚类等。

Page 44: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

二.聚类分析I. 聚类分析简介II. 聚类分析中的数据类型III. 划分方法IV. 层次方法

Page 45: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

I. 聚类( Clustering )分析简介 聚类( Clustering )是对物理的或抽象的对象集合分组的过程。 聚类生成的组称为簇( Cluster ),簇是数据对象的集合。簇内部的任意两个对象之间具有较高的相似度,而属于不同簇的两个对象间具有较高的相异度。相异度可以根据描述对象的属性值计算,对象间的距离是最常采用的度量指标。

Page 46: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

聚类分析简介(续) 聚类分析是数据分析中的一种重要技术,它的应用极为广泛。许多领域中都会涉及聚类分析方法的应用与研究工作,如数据挖掘、统计学、机器学习、模式识别、生物学、空间数据库技术、电子商务等。

Page 47: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

聚类分析简介 (续) 从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。采用 k-均值、 k- 中心点等算法的聚类分析工具已被加入到许多著名的统计分析软件包中,如 SPSS 、 SAS 等。

Page 48: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

聚类分析简介 (续) 从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。

Page 49: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

聚类分析简介(续) 从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。 就数据挖掘功能而言,聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。 聚类分析还可以作为其他数据挖掘任务(如分类、关联规则)的预处理步骤。 数据挖掘领域主要研究面向大型数据库、数据仓库的高效实用的聚类分析算法。

Page 50: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

聚类的常规应用 模式识别 空间数据分析

在 GIS 中,通过聚类发现特征空间来建立主题索引;在空间数据挖掘中,检测并解释空间中的簇;

图象处理 经济学 (尤其是市场研究方面 ) WWW

文档分类分析 WEB 日志数据来发现相似的访问模式

Page 51: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

应用聚类分析的例子 市场销售 : 帮助市场人员发现客户中的不同群体,然后用这些知识来开展一个目标明确的市场计划; 土地使用 : 在一个陆地观察数据库中标识那些土地使用相似的地区; 保险 : 对购买了汽车保险的客户,标识那些有较高平均赔偿成本的客户; 城市规划 : 根据类型、价格、地理位置等来划分不同类型的住宅; 地震研究 : 根据地质断层的特点把已观察到的地震中心分成不同的类;

Page 52: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

什么是一个好的聚类方法 ? 一个好的聚类方法要能产生高质量的聚类结果——簇,这些簇要具备以下两个特点:高的簇内相似性低的簇间相似性

聚类结果的好坏取决于该聚类方法采用的相似性评估方法以及该方法的具体实现;

聚类方法的好坏还取决与该方法是能发现某些还是所有的隐含模式;

Page 53: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

II. 聚类分析中的数据类型 聚类分析主要针对的数据类型包括区间标度变量、二元变量、标称变量、序数型变量,以及由这些变量类型构成的复合类型。 一些基于内存的聚类算法通常采用数据矩阵和相异度矩阵两种典型的数据结构。

Page 54: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

数据矩阵( Data Matrix ) 设有 n 个对象,可用 p 个变量(属性)描述每个对象,则 np矩阵

称为数据矩阵。数据矩阵是对象 -变量结构的数据表达方式。

npnn

p

p

xxx

xxx

xxx

21

22221

11211

Page 55: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

相异度矩阵( Dissimilarity Matrix ) 按 n 个对象两两间的相异度构建 n阶矩阵(因为相异度矩阵是对称的,只需写出上三角或下三角即可):

其中 d (i, j)表示对象 i 与 j 的相异度,它是一个非负的数值。当对象 i 和 j越相似或“接近”时, d (i, j) 值越接近 0;而对象 i 和 j越不相同或相距“越远”时, d (i, j) 值越大。显然,d (i, j)=d (j, i) , d (i, i)=0 。相异度矩阵是对象 - 对象结构的一种数据表达方式。

0 )2 ,( )1 ,( 0 )2 ,3( )1 ,3(

0 )1 ,2( 0

ndnd

ddd

Page 56: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

评价聚类质量 差异度 /相似度矩阵 : 相似度通常用距离函数来表示; 有一个单独的质量评估函数来评判一个簇的好坏; 对不同类型的变量,距离函数的定义通常是不同的; 根据实际的应用和数据的语义,在计算距离的时候,不同的变量有不同的权值相联系; 很难定义“足够相似了”或者“足够好了”

只能凭主观确定;

Page 57: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

聚类分析中的数据类型区间标度变量; 二元变量; 标称型,序数型变量;混合类型变量;

Page 58: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

对象间距离的计算 设两个 p 维向量 xi = (xi1, xi2,…, xi p)T和 xj=(xj1, xj2,…, xj p)T分别表示两个对象,有多种形式的距离度量可以采用。 闵可夫斯基( Minkowski )距离: 曼哈坦( Manhattan )距离: 欧几里得( Euclidean )距离: 切比雪夫( Chebyshev )距离: 马哈拉诺比斯( Mahalanobis )距离:

Page 59: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

III.划分方法简介 对于一个给定的 n 个对象或元组的数据库,采用目标函数最小化的策略,通过迭代把数据分成 k个划分块,每个划分块为一个簇,这就是划分方法。 划分方法满足两个条件:

( 1 )每个分组至少包含一个对象; ( 2 )每个对象必属于且仅属于某一个分组。

常见的划分方法有 k-均值方法和 k- 中心点方法。其他方法大都是这两种方法的变形。

Page 60: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

k-均值算法 k-均值聚类算法的核心思想是通过迭代把数据对象划分到不同的簇中,以求目标函数最小化,从而使生成的簇尽可能地紧凑和独立。

首先,随机选取 k 个对象作为初始的 k 个簇的质心;然后,将其余对象根据其与各个簇质心的距离分配到最近的簇;再求新形成的簇的质心。 这个迭代重定位过程不断重复,直到目标函数最小化为止。

Page 61: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

k-均值算法 输入 期望得到的簇的数目 k, n个对象的数据库。 输出 使得平方误差准则函数最小化的 k个簇。 方法

选择 k个对象作为初始的簇的质心; repeat 计算对象与各个簇的质心的距离,将对象划分到距离其最近的簇; 重新计算每个新簇的均值; until簇的质心不再变化。

Page 62: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

K-均值算法

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

K=2Arbitrarily choose K object as initial cluster center

Assign each objects to most similar center

Update the cluster means

Update the cluster means

reassignreassign

Page 63: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

IV. 层次聚类层次聚类按数据分层建立簇,形成一棵以簇为节点的树,称为聚类图。 按自底向上层次分解,则称为凝聚的层次聚类。 按自顶向下层次分解,就称为分裂的层次聚类。

Page 64: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

凝聚的和分裂的层次聚类 凝聚的层次聚类采用自底向上的策略,开始时把每个对象作为一个单独的簇,然后逐次对各个簇进行适当合并,直到满足某个终止条件。 分裂的层次聚类采用自顶向下的策略,与凝聚的层次聚类相反,开始时将所有对象置于同一个簇中,然后逐次将簇分裂为更小的簇,直到满足某个终止条件。

Page 65: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

凝聚的和分裂的层次聚类

a, b, c, d, e

c, d, e

d, e

a, b

e d c b a

第 4步

第 3步

第 2步

第 1步

第 0步

凝聚的(AGENS)

第 0步

第 1步

第 2步

第 3步

第 4步

分裂的(DIANA)

Page 66: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

层次聚类方法的优缺点 层次聚类方法的优点在于可以在不同粒度水平上对数据进行探测,而且容易实现相似度量或距离度量。 单纯的层次聚类算法终止条件含糊,而且执行合并或分裂簇的操作后不可修正,这很可能导致聚类结果质量很低。由于需要检查和估算大量的对象或簇才能决定簇的合并或分裂,所以这种方法的可扩展性较差。通常考虑把层次聚类方法与其他方法(如迭代重定位方法)相结合来解决实际聚类问题。 层次聚类和其他聚类方法的有效集成可以形成多阶段聚类,能够改善聚类质量。这类方法包括 BIRCH 、 CURE 、 ROC

K 、 Chameleon 等。

Page 67: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

三.分类与预测1. 简介2. 决策树

Page 68: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

1. 简介① 分类② 预测

Page 69: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

① 分类 分类的目的是提出一个分类函数或分类模型(即分类器),通过分类器将数据对象映射到某一个给定的类别中。 数据分类可以分为两步进行。

第一步建立模型,用于描述给定的数据集合。通过分析由属性描述的数据集合来建立反映数据集合特性的模型。这一步也称作有监督的学习,导出模型是基于训练数据集的,训练数据集是已知类标记的数据对象。 第二步使用模型对数据对象进行分类。首先应该评估模型的分类准确度,如果模型准确度可以接受,就可以用它来对未知类标记的对象进行分类。

Page 70: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

训练集与测试集 训练集:数据库中为建立模型而被分析的数据元组形成训练集。训练集中的单个元组称为训练样本 , 每个训练样本有一个类别标记。一个具体样本的形式可为 :( v1, v2, ..., vn; c ); 其中 vi表示属性值 ,c表示类别。 测试集:用于评估分类模型的准确率。

Page 71: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

分类的两个阶段a.模型训练阶段 训练集

b.使用模型 分类阶段评估准确率(测试集)对类标号未知的新数据分类

Page 72: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

分类模型的构造方法机器学习方法:决策树法知识表示是决策树规则归纳知识表示是产生式规则神经网络方法:BP算法 ,模型表示是前向反馈神经网络模型粗糙集 (rough set)知识表示是产生式规则

Page 73: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

② 预测 预测的目的是从历史数据记录中自动推导出对给定数据的推广描述,从而能够对事先未知的数据进行预测。 分类和回归是两类主要的预测问题。分类是预测离散的值,回归是预测连续值。 用预测法预测类标号为分类 用预测法预测连续值为预测

Page 74: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

评估分类和预测方法的五条标准 预测的准确率计算速度鲁棒性 可伸缩性 可解释性

Page 75: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

2. 决策树① 决策树学习简介② 决策树实例③ 决策树学习的算法

Page 76: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

① 决策树学习简介 决策树( Decision Tree )学习是以样本为基础的归纳学习方法。 决策树的表现形式是类似于流程图的树结构,在决策树的内部节点进行属性值测试,并根据属性值判断由该节点引出的分支,在决策树的叶节点得到结论。内部节点是属性或属性的集合,叶节点代表样本所属的类或类分布。 经由训练样本集产生一棵决策树后,为了对未知样本集分类,需要在决策树上测试未知样本的属性值。测试路径由根节点到某个叶节点,叶节点代表的类就是该样本所属的类。

Page 77: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

② 决策树实例 关于 PlayTennis 的决策树如图所示:

High

Overcast

Normal Strong Weak

Sunny Rain

Outlook

Wind Humidity

No

Yes

Yes No Yes

Page 78: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

③ 决策树学习的算法 决策树学习的基本算法是贪心算法,采用自顶向下的递归方式构造决策树。 Hunt 等人于 1966 年提出的概念学习系统 CLS 是最早的决策树算法,以后的许多决策树算法都是对 CLS 算法的改进或由 CLS衍生而来。 Quinlan于 1979 年提出了著名的 ID3方法。以 ID3 为蓝本的 C4.5 是一个能处理连续属性的算法。 其他决策树方法还有 ID3 的增量版本 ID4 和 ID5 等。 强调在数据挖掘中有伸缩性的决策树算法有 SLIQ 、 S

PRINT 、 RainForest 算法等。

Page 79: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

四.Web 挖掘

Knowledge

WWW

Page 80: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

目录I. Web 挖掘简介II. Web 日志挖掘

Page 81: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

I. Web Mining 简介1. 产生原因2. 应用3. 分类4. 过程

Page 82: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

1. 产生原因网络信息搜集的需求与收集结果低效性的矛盾迫切需要对网络资源的整序与检索。传统数据挖掘和文本挖掘技术的不断完善和应用。

Page 83: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

2. 应用查询相关信息 从 Web 数据发现潜在的未知信息 了解用户的兴趣爱好 信息个性化

Page 84: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

3. Web 挖掘分类Web Mining

Web Content Mining

Web Usage Mining

Web Structure

Mining

Page 85: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

① Web内容挖掘 Web内容挖掘是从文档内容或其描述中抽取知识的过程。 Web内容挖掘策略

直接挖掘文档的内容在其它工具搜索的基础上进行改进

Page 86: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Web内容挖掘(续) 提取文字、图片或者其他组成网页内容成分的信息,即通过有效的内容挖掘能告诉我们哪些页面是德文或者法文的?哪些站点卖我们喜欢的东西?哪些页面介绍了我们感兴趣的知识?搜索引擎、智能代理和一些推荐引擎都使用内容挖掘来帮助客户在浩瀚的网络空间中寻找所需的内容。

Page 87: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

② Web 结构挖掘 Web 结构挖掘研究的是 Web 文档的链接结构,揭示蕴含在这些文档结构中的有用模式,处理的数据是 Web 结构数据。是从 W

WW 的组织结构和链接关系中推导知识。由于文档之间的互连, WWW 能够提供除文档内容之外的有用信息。利用这些信息,可以对页面进行排序,发现重要的页面。

Page 88: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Web 结构挖掘(续) 提取网络的拓扑信息——网页之间的链接信息,即通过有效的结构挖掘能告诉我们哪些页面被其他页面所链接?哪些页面指向了其他页面?哪些页面的集合构成了一个独立的整体?

Page 89: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

③ Web 日志挖掘 Web 日志挖掘的主要目标则是从 Web 的访问记录中( Web服务器 log 日志)抽取感兴趣的模式。 WWW 中的每个服务器都保留了访问日志( Web access log ),记录了用户访问和交互的信息。分析这些数据可以帮助理解用户的行为,从而改进站点的结构,或为用户提供个性化的服务。

Page 90: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Web 日志挖掘(续) 一般的访问模式跟踪

通过分析日志数据来了解用户的访问模式和倾向,以改进站点的组织结构 个性化的使用记录跟踪

倾向于分析单个用户的偏好,其目的是根据不同用户的访问模式,为每个用户提供定制的站点。

Page 91: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Web 日志挖掘(续) 提取关于客户如何运用浏览器浏览和使用这些链接的信息,即通过有效的日志挖掘能告诉我们那些客户访问了哪些页面?在每一页上待了多长时间?下一步单击了什么?在站点中是按照怎样的访问路线通向检查计数器,又是通过怎样的路线直接退出的?

Page 92: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Web内容挖掘 Web 结构挖掘 Web 日志挖掘处理数据类型

IR方法:无结构数据、半结构数据数据库方法:半结构化数据 Web 结构数据 用户访问 Web数据

主要数据 自由化文本、 HTML 标记的超文本

HTML 标记的超文本 Web 文档内及文档间的超链Serverlog,Proxy serverlog,Client log

表示方法 词集、段落、概念、 IR 的三种经典模型 对象关系模型 图 关系表、图

处理方法 统计、机器学习、自然语言理解 数据库技术 机器学习、专有算法 统计、机器学习、关联规则

主要应用 分类、聚类、模式发现模式发现、数据向导、多层数据库、站点创建与维护

页面权重分类聚类模式发现

Web站点重建,商业决策

Page 93: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

4. Web 挖掘过程 资源发现:在线或离线检索Web 的过程,例如用爬虫( crawler )或( spider )在线收集 Web页面 信息选择与预处理:对检索到的 Web资源的任何变换都属于此过程。

词干提取高低频词的过滤汉语词的切分

综合过程:自动发现 Web站点的共有模式 分析过程:对挖掘到的模式进行验证和可视化处理

Page 94: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

II. Web 日志挖掘1. Web 日志挖掘数据类型2. Web 日志挖掘应用3. Web 日志挖掘过程

Page 95: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

服务器日志

Page 96: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

数据类型 Client IP: 128.101.228.20 Authenticated User ID: - - Time/Date: [10/Nov/1999:10:16:39 -0600] Request: "GET / HTTP/1.0" Status: 200 Bytes: - Referrer: “-” Agent: "Mozilla/4.61 [en] (WinNT; I)"

Page 97: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

2. Web 日志挖掘应用 Applications

电子商务中发现潜在客户增强终端用户信息获取的质量提高Web服务器的性能合理放置广告提高站点设计欺诈和入侵检测预测用户行为

Page 98: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

3. Web 日志挖掘过程

Page 99: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

服务器日志数据库

访问序列数据库

事务数据库

关联规则序列模式聚类与分类

模式分析

用户访问 源数据处理 数据预处理 模式挖掘

Page 100: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

访问者 注册用户

各类网站

Web数据库

Web日志处理文件

过滤模块

挖掘综合模块

Web使用模式挖掘算法库

关联分析

序列分析

新方法分析

页面访问情况

客户生活模式

商品销售特点

客户群规律

评估界面

方法驱动模块

方法选择专家系统及知识库

挖掘结果报表输出

Page 101: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Web 日志挖掘过程① 预处理② 数据挖掘③ 模式分析

Page 102: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

① 数据预处理 数据清理 用户对话识别页面视图识别路径完整

Page 103: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining
Page 104: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

数据清理根据一组原始的日志项,完成一系列基本任务,如归并日志、解析日志等。对于一些网站,需要过滤掉图象文件,这可以通过检查文件后缀实现。一般地,我们需要对日志中的状态码( status code )进行检查。

Page 105: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

清理后的 Sample LogIP Address Time/Date Method/URI Referrer Agent

202.120.224.415:30:01/2-Jan-01GET Index.htm http://ok.edu/link.htm Mozilla/4.0(IE5.0W98)202.120.224.415:30:01/2-Jan-01GET 1.htm http://ex.edu/index.htmMozilla/4.0(IE5.0W98)202.120.224.415:30:01/2-Jan-01GET A.htm http://ex.edu/index.htmMozilla/4.0(IE5.0W98)

202.120.224.415:37:09/2-Jan-01GET E.htm http://ex.edu/C.htm Mozilla/4.0(IE5.0W98)

202.120.224.415:33:04/2-Jan-01GET Index.htm http://ok.edu/res.php Mozilla/4.0(IE4.0NT)202.120.224.415:33:04/2-Jan-01GET 1.htm http://ex.edu/index.htmMozilla/4.0(IE4.0NT)202.120.224.415:33:04/2-Jan-01GET A.htm http://ex.edu/index.htmMozilla/4.0(IE4.0NT)

202.120.224.415:35:11/2-Jan-01GET B.htm http://ex.edu/A.htm Mozilla/4.0(IE4.0NT)202.120.224.415:35:11/2-Jan-01GET C.htm http://ok.edu/A.htm Mozilla/4.0(IE5.0W98)

Page 106: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

用户对话识别 1.IP Address & Agent 2.Embedded Session ID 3.Registration(User Profile) 4.Cookie 5.Software Agent (Applet&Scrtipt) 6.Modified Browser

Page 107: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

用户对话识别(续)方法 说明 隐私性保护 优点 缺点

IP地址 /代理服务器 假定每个独立 IP地址 /代理服务器组是独立用户

低 通常可用,无需附加技术。 无法保证唯一性,在随机或者轮换 IP情况下失效嵌入式对话 ID 通过动态形成页面将 ID 加入每个链接

低 / 中等 通常可用,不需依赖于 IP地址 无法了解重复访问,需要完全动态站点。注册 用户确切地登陆站点 中等 可以跟踪单个用户,而不仅仅是浏览器

不是全部用户都愿意注册Cookie 在客户端机器上保留标识符 中等 /高 可以跟踪重复访问 能被禁止。不为大众接收

软件代理服务器 程序载入浏览器从而将日志数据返回高 可以得到单个 We

b站点的确切日志数据很可能被拒绝。不为大众接收

改进型浏览器 浏览器记录日志数据 非常高 可以得到关于整个Web 的日志数据

用户必须确切地得到软件

Page 108: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

用户对话识别

15:33:04/2-Jan-01GET Index.htm http://ok.edu/res.php15:33:04/2-Jan-01GET 1.htm http://ex.edu/index.htm15:33:04/2-Jan-01GET A.htm http://ex.edu/index.htm15:35:11/2-Jan-01GET B.htm http://ex.edu/A.htm

15:30:01/2-Jan-01GET Index.htm http://ok.edu/link.htm15:30:01/2-Jan-01GET 1.htm http://ex.edu/index.htm15:30:01/2-Jan-01GET A.htm http://ex.edu/index.htm15:37:09/2-Jan-01GET E.htm http://ex.edu/C.htm15:35:11/2-Jan-01GET C.htm http://ok.edu/A.htm

Mozilla/4.0(IE5.0W98)202.120.224.4

User1:

202.120.224.4Mozilla/4.0(IE4.0NT)User2:

Page 109: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

页面视图识别

1-A http://ok.edu/res.phpB A.htm

1-A http://ok.edu/link.htm

E C.htm1-C A.htm

Mozilla/4.0(IE5.0W98)202.120.224.4

User1:

202.120.224.4Mozilla/4.0(IE4.0NT)User2:

Page 110: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

路径补全 解决由于 Cache带来的问题路径不全的问题

Page 111: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

数据挖掘统计分析 频繁项集和关联规则 聚类分析和分类 序列模式

Page 112: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

统计分析主要用于改进系统的性能、设计等包括:

1) 最频繁访问的页面2) 每个页面的平均访问时间3) 通过一个站点的平均时间

Page 113: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

频繁项集和关联规则可以寻找出经常频繁访问的 page 组,可用于修改 Web 站点的设计或提前缓冲页面,改进系统的性能。

Page 114: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

包括两方面的应用:•*user 用于Market segmentation( 市场分割 ) 和个人内容定制•*page(content)后者主要用于 IR 和冲浪辅助

聚类和分类

Page 115: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

序列模式可用于用户的 visit pattern. 包括:1.趋势分析2.拐点检测

Page 116: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

模式分析 目的是根据实际应用,通过用户的选择和观察,把发现的规则、模式和统计规律转换为知识。

Visualization

Page 117: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

五.流数据挖掘 流数据简介 流数据频繁模式挖掘简介 流数据频繁模式挖掘算法

Page 118: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

I. 数据流简介 概念

一系列连续且有序的点组成的序列 x1,…, xi, …, xn, 称为数据流;按照固定的次序,这些点只能被读取一次或者几次

特点大数据量,甚至无限频繁的变化和快速的响应线性扫描算法,查询次数有限

random access is expensive

Page 119: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

DBMS 与 DSMS 持久的关系 One-time queries 随机的访问 “无限”的磁盘空间 当前状态有效 相对较低的更新率 很少“实时服务” 假定数据精确无误 访问策略由查询处理器在数据库设计时确定

瞬间的流 连续的查询 序列化的访问 有限的主存 数据的到达顺序是关键 数据传输率未知 实时响应 过时 / 模糊的数据 变化的数据及数据量

Page 120: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Scratch SpaceScratch Space(Main memory and/or Disk)(Main memory and/or Disk)

User/ApplicationUser/Application

Continuous QueryContinuous Query

Stream QueryStream QueryProcessorProcessor

ResultsResultsMultiple streamsMultiple streams

DSMS

Page 121: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

DSMS

Scratch Store

DSMS

Input streams

RegisterQuery

StreamedResult

StoredResult

ArchiveStored

Relations

Page 122: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

目前的 DSMS 项目 STREAMSTREAM (Stanford): A general-purpose DSMS CougarCougar (Cornell): sensors AuroraAurora (Brown/MIT): sensor monitoring, dataflow Hancock Hancock (AT&T): telecom streams NiagaraNiagara (OGI/Wisconsin): Internet XML databases OpenCQOpenCQ (Georgia Tech): triggers, incr. view maintenance TapestryTapestry (Xerox): pub/sub content-based filtering TelegraphTelegraph (Berkeley): adaptive engine for sensors TradebotTradebot (www.tradebot.com): stock tickers & streams TribecaTribeca (Bellcore): network monitoring Streaminer Streaminer (UIUC): new project for stream data mining

Page 123: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

应用领域新的应用领域 – 以连续的、有序的“流”的形式输入数据

网络监听和流量控制 (Network monitoring and traffic engineering)

电话通信 (Telecom call records)网络安全 (Network security )金融领域 (Financial Application)工业生产 (Manufacturing Processes)网页日志与点击流 (Web logs and clickstreams)

Page 124: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

应用实例网络安全

数据包流,用户的会话信息查询 : URL 过滤,异常监测,网络攻击和病毒来源

金融领域交易数据流, 股票行情, 消息反馈查询 : 套汇可能性分析,模式

Page 125: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

现有的研究方向 流数据建模 (Stream data model)

STanford stREam datA Manager (STREAM) Data Stream Management System (DSMS)

流检索 /查询建模 (Stream query model) Continuous Queries Sliding windows

流数据挖掘 (Stream data mining) Clustering & summarization (Guha, Motwani et al.) Correlation of data streams (Gehrke et al.) Classification of stream data (Domingos et al.)

Page 126: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

II. 流数据频繁模式挖掘简介静态数据 流数据

关系特点 静态稳固 短暂易失查询方式 一次完成 连续查询存取方式 随机访问 序列访问存储容量 无限的辅存 有限的主存响应速度 无要求或尽量快 必须快存储特点 被动存储 主动存储更新速度 低 不可预测响应特点 “ ”较少 实时服务 实时响应

Page 127: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

流数据频繁模式挖掘要求① 只能对数据流进行一次扫描;② 处理的数据项是无穷的;③ 实时响应数据处理要求。

Page 128: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

数据流管理系统的抽象体系结构

处理

器总结存储区

静态存储区

处理队列

输入监控器

输出缓

对静态数据的更新

用户处理要求

流输入

流输出

工作存储区

Page 129: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

III.流数据频繁模式挖掘算法

大量高速到达的数据流

挖掘数据流引擎

内存中的大纲

近似结果

确定区间近似结果

概率区间近似结果

Page 130: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

确定区间( deterministic bounds )近似算法:计算一个近似结果,但这个近似结果能够落入由真实结果构成的区间;概率区间( probabilistic bounds )近似算法:计算一个近似结果,但这个近似结果能够以较高的概率落入由真实结果构成的

区间。

Page 131: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

算法比较

0T

MM

T

(a)概率区间近似算法 (b)确定区间近似算法

0

Page 132: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

滑动窗口技术 自然滑动窗口

31 days 24 hours 4 qtrs12 months

Time Now

24hrs 4qtrs 15minutes7 days

Time Now

25sec.

Page 133: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

对数滑动窗口

Page 134: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

六.隐私保护数据挖掘 隐私保护数据挖掘简介 隐私保护数据挖掘面向企业信用评估的分布式隐私保护数据挖掘研究

Page 135: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

一、隐私保护数据挖掘简介 What Why Who Goal How An Example

Page 136: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

什么是数据挖掘 数据挖掘是从大量数据中提取或“挖掘”知识的过程。 数据挖掘以客观、有效的数据源为物质基础。 数据挖掘得到的知识是一种数据归纳的结果,是一种统计的知识。

Page 137: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

什么是隐私针对不同的应用环境,隐私定义不同。 在信息时代,隐私指用户隐藏个人信息的权利和控制自己的信息给其他人的能力。

Page 138: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

什么是隐私保护数据挖掘 “getting valid data mining results without lear

ning the underlying data values”噪声背景的数据挖掘受限制的数据挖掘

Page 139: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

数据挖掘可能会违反用户的隐私 数据挖掘以准确的数据为数据源,进行数据归纳分析。 个体隐私

记录级和属性级上的隐私 组织隐私

结果级上的隐私,统计分析后的结果

Page 140: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

什么人需要隐私保护数据挖掘? 政府和公用事业部门

疾病控制中心 保险公司

工商业组织 跨国公司

每个国家的法律是不同的 军事情报分析 犯罪行为分析 反恐分析

Page 141: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

隐私的限制不会阻止数据挖掘 数据挖掘的目标是结果的总结

关联规则 分类 聚类

结果本身不会违反隐私 不包含个人身份信息 反映的是整个数据的归纳统计结果,而不是针对每个单位

The problem is computing the results without access to the data!

Page 142: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

隐私保护数据挖掘的目标 PPDM encompasses the dual goal of meeting privacy

requirements and providing valid data mining results. 保护隐私和满足安全性要求(安全性) 产生正确的数据挖掘归纳结果(准确性) 提供高效的数据挖掘算法(高效性)

Accuracy

Efficiency

Privacy

Page 143: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

如何进行隐私保护数据挖掘转变数据库原始数据库

数据挖掘存取控制

可以存取进行挖掘

数据挖掘

不允许存取进行挖掘

Page 144: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

计算频繁项集: ABC ≥ 5%?

2ABC=9

DBSize=200

1ABC=18

DBSize=300

3ABC=5

DBSize=100

ABC: R+count-freq.*DBSize

R=17

ABC: 17+5-.05*100ABC: 17ABC: 17+9-.05*200ABC: 12

ABC: 12+18-.05*300ABC: 19 ABC: 19 ≥ R?

ABC: YES!

Page 145: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

二、隐私保护数据挖掘 隐私保护数据挖掘分类

保护个体用户隐私保护组织用户隐私

研究方法数据隐藏安全多方计算

Page 146: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

保护个体用户隐私 这是一种记录和属性级上的隐私保护。在原始数据库中,类似于标识符、姓名、地址和喜好等用户数据作为用户的隐私应该被保护。保护敏感的原始数据的隐私保护数据挖掘方法应该能够使得用户的敏感的原始数据被修改,以便数据的使用者不能对用户的原始数据进行直接存储,不能查看用户的隐私,以此保护用户的私有数据。

Page 147: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

个体隐私 : 保护记录 每个项都不允许泄漏记录的一部分是可以泄漏的

个人身份信息

Page 148: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

个人身份信息删除标识符但是我们无法保证身份不能被推断

候选码一些个体特有的属性

Data Mining enables such tracing!

Page 149: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

保护组织用户隐私 这是一种结果级上的隐私保护,这里的目标不仅是保护个体用户的不被泄漏,而且一些重要的策略模式和数据挖掘之后的结果同样不能泄漏,在商业领域,这些模式被认为是能够提供有竞争力好处的知识,隐私必须被很好地保护。在数据挖掘的统计模型中,有很多挖掘出的知识也会泄漏用户的隐私。保护敏感的挖掘知识的隐私保护数据挖掘方法能够保护用户的敏感知识,以便不会被泄漏用作其他的目的,造成用户重要信息的泄密。

Page 150: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

组织隐私 保护个体隐私是不够的 保护从组织中获得的敏感知识

策略模式数据挖掘的结果

目标:身份信息不能泄漏数据挖掘之后的模式和知识同样不能泄漏

Page 151: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Database

用户

数据挖掘挖掘得到的知识

变换后数据库隐藏敏感的知识

Page 152: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

P3P

发布的隐私策略协同达成的一致策略

Page 153: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

隐私保护数据挖掘架构 B2B 的架构中,具体的事务分布在几个不同的站点。每个站点拥有一个包含大量事务的私有数据库。这里用到的主要计算技术是安全多方计算( Secured multiparty computation )及其变种。 B2C 的架构中,一个系统包含一个数据挖掘站点和众多的数据提供者。在线调查表是这种 B2C架构的一个典型的例子。其中包含一个调查表收集器和分析器以及众多的数据提供者。

Page 154: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

解决方法分类 数据隐藏 (Data Obfuscation)

对数据进行挖掘时,不能看到真实的数据安全多方计算

仅仅可信的结点可以看到数据

Page 155: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

数据隐藏 目标 : 隐藏被保护信息

私有数据可用噪声较大真实值不能确定得到

Page 156: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

主要技术匿名技术 随机的数据转换 (random data perturbation)阻塞技术 (blocking)聚集或融合技术 (aggregation or merging)交换技术 (swapping)采样技术 (sampling)

Page 157: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

基于阻塞的技术 (blocking)

AA BB CC DD11 11 11 0011 00 11 1100 00 00 1111 11 11 0011 00 11 11

AA BB CC DD11 11 11 0011 00 ?? 11?? 00 00 1111 11 11 0011 00 11 11

BlockingAlgorithm

Initial DatabaseInitial Database New DatabaseNew Database

主要用于组织隐私的保护

Page 158: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

随机的数据转换 (random data perturbation)

A B C D1 1 1 01 0 1 10 0 0 11 1 1 01 0 1 1

Sample DatabaseSample DatabaseA B C D

1 1 1 0

1 0 00 1

0 0 0 1

1 1 1 0

1 0 00 1

Distorted DatabaseDistorted Database

DistortionAlgorithm

Page 159: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

随机的数据转换 目标

统计属性可以较精确得到 个体数据不能得到

离散型变量转换 布尔型变量 分类型 (Category) 变量

连续型变量转换布尔型变量转换 分类型变量转换 连续型变量转换

Page 160: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

布尔型变量转换 购物篮问题 数据位以概率 p 被翻转 对经过变化的数据进行挖掘

1T DC M C1

0

1,

1Cp p

M CCp p

Page 161: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

分类型变量转换 Select-a-size Randomization Cut and Paste Randomization

Page 162: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Select-a-size Randomization

给定大小为 t 的事务 , 构造 t’:选择 j 属于 0 到 m

P[j 被选择的概率 ]= pm[j]把事务加入 t 的 j 个项加入事务 ·t’;其它不在事务 t 的属性以概率 pm 加入事务 t’

参数 pm[j] 和 pm的选择基于需要的隐私度

Page 163: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining
Page 164: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Cut and Paste Randomization

给定大小为 t 的事务 , 构造 t’:在 0 到 Km间选择 j把事务 t 的 j 个项加入 t’;事务 t 的其它项以概率 pm加入 t’

参数 Km和 pm的选择基于所需要的隐私度

Page 165: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

连续型变量隐私保护挖掘方法 Agrawal and Srikant, SIGMOD’00

Bayes’ rule 改进 by Agrawal and Aggarwal, SIGMOD’01

Expectation Maximization (EM)

Page 166: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Bayes’ rule

Agrawal and Srikant (2000) Decision Trees Perturb Data with Value Distortion

用户提供 xi+r 代替 xi

r 是一个随机变量,服从分布平均分布 [-a, a]高斯分布 (u, σ)

Page 167: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Bayes’ rule

x1,x2,…,xn 是 n 个独立同分布的随机变量 y1,y2,…,yn 是 n 个独立同分布的随机变量 W=X+Y 给定 FY和 W ,估计 FX

Page 168: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining
Page 169: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

安全多方计算 Motivation: 分布式隐私保护数据挖掘 目标:

结果公布每个用户只知道自己的数据

Page 170: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

A

B C

中心

A B C

随机方法 安全多方计算方法

Page 171: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

比较 数据隐藏 安全多方计算复杂性 一般 高

计算、通信安全性 较高 高主要问题 安全性和准确性的折衷 效率适用领域 较广

Web, Corporate小规模分布式

Corporate

Page 172: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining
Page 173: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

分布式隐私保护数据挖掘的目标安全性分析

知道自己的数据和最终的结果不清楚其它用户的数据

避免相互勾结 通信分析

Page 174: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

分布式隐私保护数据挖掘方法 Semi-Honest Model Malicious

Page 175: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

分类水平分布型数据 (Horizontal Partitioning)垂直分布型数据 (Vertical Partitioning)

Page 176: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

水平型分布数据

Page 177: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

垂直分布型数据

Page 178: 第 12 讲  数据挖掘应用 Chapter 12  Applications of  Data Mining

Thank you !!!Thank you !!!