朴素贝叶斯 在符号型数据库分类中的实现

24
朴朴朴朴朴 朴朴朴朴朴 朴朴朴朴朴朴朴朴朴朴朴朴朴 王王王 朴朴朴朴朴朴朴朴朴朴朴朴 Department of Mathematics and Computer Science H ebei University

Upload: mira-weeks

Post on 04-Jan-2016

254 views

Category:

Documents


7 download

DESCRIPTION

河北大学. 朴素贝叶斯 在符号型数据库分类中的实现. 王海波. 河北大学数学与计算机学院 Department of Mathematics and Computer Science Hebei University. 结 构. 重点 贝叶斯理论 贝叶斯分类器 实验结果与分析 参考文献. 重点: 朴素贝叶斯在 符号 型数据库上的实现. 这里所说的符号型数据库是指属性的取值满足以下特点 :. 离散. 无序. 有限. 无运算. 描述用到的符号. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 朴素贝叶斯 在符号型数据库分类中的实现

朴素贝叶斯朴素贝叶斯在符号型数据库分类中的实现

王海波

河北大学数学与计算机学院Department of Mathematics and Computer Science Hebei University

Page 2: 朴素贝叶斯 在符号型数据库分类中的实现

结 构

重点 贝叶斯理论 贝叶斯分类器 实验结果与分析 参考文献

Page 3: 朴素贝叶斯 在符号型数据库分类中的实现

重点:重点: 朴素贝叶斯在朴素贝叶斯在符号符号型数据库上型数据库上的实现的实现 这里所说的符号型数据库是指属性的取值满足以下特点:

离散 无序 有限 无运算

Page 4: 朴素贝叶斯 在符号型数据库分类中的实现

Ω={A1×A2×...×Am} ,是由所有未知类别的可能样本组成的集合; Ωc={A1×A2×...×Am×C} 是由所有已知类别的样本组成的集合。 D Ωc 是训练样例集合。

Ω 中的元素 x 表示为 x = <a1,a2 ,…,am> 。 Ωc 中的元素 x 表示为 x = <a1,a2 ,…,am,cj> 。其中 ai 表示第 i个属性的某个取值。

描述用到的符号描述用到的符号 我们用 Ai 表示第 i个属性, C表示决策属性; aik

表示第 i个属性的第 k个取值, cj 表示第 j类;加上绝对值则表示相应的个数,如 |Ai| 表示第 i个属性的取值个数, |cj| 表示第 j类样例个数。

Page 5: 朴素贝叶斯 在符号型数据库分类中的实现

贝叶斯定理贝叶斯定理

设 x∈Ω 是一个类别未知的数据样本, cj 为某个类别,若数据样本 x属于一个特定的类别 cj ,那么分类问题就是决定 P(cj|x) ,即在获得数据样本 x时,确定 x的最佳分类。所谓最佳分类,一种办法是把它定义为在给定数据集 D中不同类别 cj 先验概率的条件下最可能( most probable )分类。贝叶斯理论提供了计算这种可能性的一种直接方法

更精确地讲,贝叶斯法则基于假设的先验概率、给定假设下观察到不同数据的概率,提供了一种计算假设概率的方法

Page 6: 朴素贝叶斯 在符号型数据库分类中的实现

贝叶斯公式贝叶斯公式

先验概率 P(cj)

P( cj|x) =P(x|cj)P(cj)

P(x)

联合概率 P(x|cj) 后验概率 P(cj|x)

Page 7: 朴素贝叶斯 在符号型数据库分类中的实现

如果没有这一先验知识,那么可以简单地将每一候选类别赋予相同的先验概率。不过通常我们可以用样例中属于 cj 的样例数 |cj| 比上总样例数 |D|来

近似,即

先验概率先验概率 P(cP(cjj))

P(cj) 代表还没有训练数据前, cj 拥有的初始概率。 P(cj) 常被称为 cj 的先验概率 (prior probability) ,它反映了我们所拥有的关于 cj 是正确分类机会的背景知识 ,它应该是独立于样本的。

jj

|c |P(c )=

|D|

Page 8: 朴素贝叶斯 在符号型数据库分类中的实现

联合概率是指当已知类别为 cj 的条件下,看到样本 x出现的概率。

联合概率联合概率 P(x|cP(x|cjj))

若设 x = <a1,a2…am>

则 P(x|cj)= P(a1,a2…am| cj)

Page 9: 朴素贝叶斯 在符号型数据库分类中的实现

后验概率后验概率 P(cP(cjj |x) |x)

即给定数据样本 x时 cj 成立的概率 ,而这正是我们所感兴趣的

P(cj|x ) 被称为 C的后验概率( posterior probability ),因为它反映了在看到数据样本 x后 cj 成立的置信度

Page 10: 朴素贝叶斯 在符号型数据库分类中的实现

贝叶斯分类贝叶斯分类

我们现在计算我们现在计算

P(cP(cMAPMAP|x) = max P(c|x) = max P(cjj|x) j∈(1,|C|)|x) j∈(1,|C|)

则则 P(cP(cMAPMAP|x)|x) 称为最大后验概率称为最大后验概率

然后我们就把然后我们就把 xx 分到分到 ccMAPMAP 类中类中

Page 11: 朴素贝叶斯 在符号型数据库分类中的实现

朴素贝叶斯分类器一朴素贝叶斯分类器一

设 x = <a1,a2…am> ,为一个有 m个属性的样例

= max

P(a1,a2…am|cj)P(cj)

P(a1,a2…am)= max P(a1,a2…am|cj)P(cj) (1)

P(cMAP|x)= max P(cj|x) j∈(1,|C|)j∈(1,|C|)

= max P(cj|a1,a2…am)

Page 12: 朴素贝叶斯 在符号型数据库分类中的实现

朴素贝叶斯分类器基于一个简单的假定:在给定目标值时属性值之间相互条件独立。换言之,该假定说明给定实例的目标值情况下,观察到联合的a1,a2…am 的概率正好是对每个单独属性的概率乘积

朴素贝叶斯分类器二朴素贝叶斯分类器二

1 2 m j i j1

P(a ,a ,...,a | c )= P(a | c )m

i (2)

将 (2) 式其代入 (1) 式中,可得到朴素贝叶斯分类器,如下

Page 13: 朴素贝叶斯 在符号型数据库分类中的实现

朴素贝叶斯分类器三朴素贝叶斯分类器三

概括地讲,朴素贝叶斯学习方法需要估计不同的 P(cj) 和 P(ai

|cj) 项,也就是它们在训练数据上的频率。然后使用公式 (3) 来分类新实例。

i jP(a | c )1

m

i CNB=argmax P(c

j) jc C( 3)

其中 CNB表示朴素贝叶斯分类器输出的目标值。注意在朴素贝叶斯分类器中,须从训练数据中估计的不同 P(ai|cj) 项的数量只是不同的属性值数量乘以不同目标值数量——这比要估计 P(a1,a2…am

|cj) 项所需的量小得多

| |( )

| |j

j

cP c

D

| |( | )

| |i i j

i jj

A a C cP a c

C c

Page 14: 朴素贝叶斯 在符号型数据库分类中的实现

举例说明举例说明目标概念 PlayTennis的训练样例

Day Outlook Temperature Humidity Wind PlayTennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Strong Yes

D8 Sunny Mild High Weak No

D9 Sunny Cool Normal Weak Yes

D10 Rain Mild Normal Weak Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

Page 15: 朴素贝叶斯 在符号型数据库分类中的实现

第一步统计个数第一步统计个数

表 1 类别为 cj 及在 cj 条件下 Ai 取 ai 的样例数

Outlook Temperature Humidity Wind PlayTennis

Sunny Overcast Rain Hot Mild Cool High Normal Weak Strong

2 4 3 2 4 3 3 6 6 3 Yes 9

3 0 2 2 2 1 4 1 2 3 No 5

Page 16: 朴素贝叶斯 在符号型数据库分类中的实现

估计先验概率和条件概率估计先验概率和条件概率

表 2 先验概率 P(cj) 和条件概率 P(ai|cj)

Outlook Temperature Humidity Wind PlayTennis

Sunny Overcast Rain Hot Mild Cool High Normal Weak Strong

0.222 0.444 0.333 0.222 0.444 0.333 0.333 0.667 0.667 0.333 Yes 0.643

0.6 0 0.4 0.4 0.4 0.2 0.8 0.2 0.4 0.6 No 0.357

Page 17: 朴素贝叶斯 在符号型数据库分类中的实现

样例判别样例判别现在假设有一个样例 xx = {Sunny,Hot,High,Weak}

等于 yes 的概率 P(Yes|x)

= p(Yes)*p(Sunny|Yes)* p(Hot|Yes)* p(High|Yes)* p(Weak|Yes)*

=0.643*0.222*0.222*0.333*0.667

=0.007039

等于 No 的概率 P(No|x)

= p(No)*p(Sunny| No)* p(Hot| No)* p(High| No)* p(Weak| No)*

=0.357*0.6*0.4*0.8*0.4

=0.027418

max (max (P(Yes|x), P(No|x) ) = ) = P(No|x) , 所以我们把 x 分类为 No

Page 18: 朴素贝叶斯 在符号型数据库分类中的实现

概率为零概率为零

在大多数情况下,观察到的比例 P(ai|cj) 是对其真实概率的一个良好估计,但当 |Ai=ai∧C=cj|很小时估计较差。特别是当 |Ai=ai∧C=cj|等于 0时, P(ai|cj) 也等于 0,如果将来的待估样例中,包含第 i个属性的取值 ai 时,此概率项会在分类器中占统治地位。

Page 19: 朴素贝叶斯 在符号型数据库分类中的实现

概率为零之概率为零之 m-m- 估计估计

一般采用 m-估计来解决这个问题。

m-估计定义如下:

ij i

j

n mp

n m

| |, | |ij i ik j j jn A a C c n C c

pi 是将要确定的概率 P(ai|cj) 的先验概率,而 m是等效样本大小的常量,它确定了对于观察到的数据如何衡量 pi 的作用。在缺少其他信息是选择 p 的一种典型方法是假定 pi =1/|Ai| 。也就是将 nj 个实际观察扩大,加上 m个按 pi 分布的虚拟样本。

Page 20: 朴素贝叶斯 在符号型数据库分类中的实现

概率为零之个数比较概率为零之个数比较

在本次实现中我们采用的不是 m-估计,而是下面一种简单的 0个数比较法。即下面的几条规则。在公式( 3)中,对每一个类别j,统计 P(ai|cj)=0的个数,记为 zj 。然后按以下 3条规则得到 CNB 。1.如果对任意的 j, zj都为 0,则直接按公式( 3)得到CNB

3.如果对任意的 j, zj 不为 0 且不相等,则取 zj 最小者对应的类别作为 CNB。若 zj 最小者不唯一,则对这些最小值对应的 j采用第二条规则进行判别。

2.如果对任意的 j, zj 不为 0 且相等,则按公式( 3)计算时只计算 P(ai|cj) 为非零的项 ,然后得到 CNB

Page 21: 朴素贝叶斯 在符号型数据库分类中的实现

实验结果实验结果

数据库 训练样例 测试样例 训练精度 标准差 测试精度 标准差

BALANCE 571 63 91.4 0.003 87.4 0.056

Hatehi 148 16 89.2 0.011 87.1 0.053

heart 251 28 86.1 0.005 83.9 0.033

Mushroom 6546 727 99.5 0.000 99.5 0.003

TIC-TAC-TOE 871 96 71.0 0.010 70.0 0.055

Page 22: 朴素贝叶斯 在符号型数据库分类中的实现

结果分析结果分析 从上面的实验结果我们可以得到朴素贝叶斯分类器的以下几个特点 :

训练精度≈测试精度

意义明确 ,便于理解

时间复杂度低 , 可以应用大型数据库

易于实现增量

Page 23: 朴素贝叶斯 在符号型数据库分类中的实现

参考文献参考文献

1 Zhu Ming. Data Ming. Anhui: University of Science and technology of China, 2002 (in Chinese)

(朱明 . 数据挖掘 . 安徽 : 中国科技大学出版社 , 2002 )

2 Tom M. Mitchell. Machine Learning. Beijing: China Machine Press, 2003

Page 24: 朴素贝叶斯 在符号型数据库分类中的实现

Thanks!