朴素贝叶斯分类
来源:互联网 发布:录音软件audition 编辑:程序博客网 时间:2024/04/28 19:16
<d,c>={Beijing joins the World Trade Organization, China}
对于这个只有一句话的文档,我们把它归类到 China,即打上china标签。
我们期望用某种训练算法,训练出一个函数γ,能够将文档映射到某一个类别:
γ:X→C
这种类型的学习方法叫做有监督学习,因为事先有一个监督者(我们事先给出了一堆打好标签的文档)像个老师一样监督着整个学习过程。
朴素贝叶斯分类器是一种有监督学习,常见有两种模型,多项式模型(multinomial model)和伯努利模型(Bernoulli model)。
1.多项式模型
在多项式模型中, 设某文档d=(t1,t2,…,tk),tk是该文档中出现过的单词,允许重复,则
先验概率P(c)= 类c下单词总数/整个训练样本的单词总数
类条件概率P(tk|c)=(类c下单词tk在各个文档中出现过的次数之和+1)/(类c下单词总数+|V|)
V是训练样本的单词表(即抽取单词,单词出现多次,只算一个),|V|则表示训练样本包含多少种单词。在这里,m=|V|, p=1/|V|。
P(tk|c)可以看作是单词tk在证明d属于类c上提供了多大的证据,而P(c)则可以认为是类别c在整体上占多大比例(有多大可能性)。
给定一组分类好了的文本训练数据,如下:
docId
doc
类别
In c=China?
1
Chinese Beijing Chinese
yes
2
Chinese Chinese Shanghai
yes
3
Chinese Macao
yes
4
Tokyo Japan Chinese
no
给定一个新样本Chinese Chinese Chinese Tokyo Japan,对其进行分类。
该文本用属性向量表示为d=(Chinese, Chinese, Chinese, Tokyo, Japan),类别集合为Y={yes, no}。
类yes下总共有8个单词,类no下总共有3个单词,训练样本单词总数为11,因此P(yes)=8/11, P(no)=3/11。类条件概率计算如下:
P(Chinese | yes)=(5+1)/(8+6)=6/14=3/7 //类yes下单词Chinese在各个文档中出现过的次数之和+1/类yes下单词的总数(8)+总训练样本的不重复单词(6)
P(Japan | yes)=P(Tokyo | yes)= (0+1)/(8+6)=1/14
P(Chinese|no)=(1+1)/(3+6)=2/9
P(Japan|no)=P(Tokyo| no) =(1+1)/(3+6)=2/9
分母中的8,是指yes类别下textc的长度,也即训练样本的单词总数,6是指训练样本有Chinese,Beijing,Shanghai, Macao, Tokyo, Japan共6个单词,3是指no类下共有3个单词。
有了以上类条件概率,开始计算后验概率,
P(yes | d)=(3/7)3×1/14×1/14×8/11=108/184877≈0.00058417 //Chinese Chinese ChineseTokyo Japan
P(no | d)= (2/9)3×2/9×2/9×3/11=32/216513≈0.00014780
因此,这个文档属于类别china。
2.伯努利模型
P(c)= 类c下文件总数/整个训练样本的文件总数
P(tk|c)=(类c下包含单词tk的文件数+1)/(类c下单词总数+2)
在这里,m=2, p=1/2。
还是使用前面例子中的数据。
类yes下总共有3个文件,类no下有1个文件,训练样本文件总数4,因此P(yes)=3/4, P(Chinese | yes)=(3+1)/(3+2)=4/5
P(Japan | yes)=P(Tokyo | yes)=(0+1)/(3+2)=1/5
P(Beijing | yes)= P(Macao|yes)= P(Shanghai |yes)=(1+1)/(3+2)=2/5
P(Chinese|no)=(1+1)/(1+2)=2/3
P(Japan|no)=P(Tokyo| no) =(1+1)/(1+2)=2/3
P(Beijing| no)= P(Macao| no)= P(Shanghai | no)=(0+1)/(1+2)=1/3
有了以上类条件概率,开始计算后验概率,
P(yes | d)=P(yes)×P(Chinese|yes) ×P(Japan|yes) ×P(Tokyo|yes)×(1-P(Beijing|yes)) ×(1-P(Shanghai|yes))×(1-P(Macao|yes))
=3/4×4/5×1/5×1/5×(1-2/5) ×(1-2/5)×(1-2/5)=81/15625≈0.005
P(no | d)= 1/4×2/3×2/3×2/3×(1-1/3)×(1-1/3)×(1-1/3)=16/729≈0.022
因此,这个文档不属于类别china。
3.两个模型的区别
二者的计算粒度不一样,多项式模型以单词为粒度,伯努利模型以文件为粒度,因此二者的先验概率和类条件概率的计算方法都不同。
计算后验概率时,对于一个文档d,多项式模型中,只有在d中出现过的单词,才会参与后验概率计算,伯努利模型中,没有在d中出现,但是在全局单词表中出现的单词,也会参与计算,不过是作为“反方”参与的。
- 朴素贝叶斯分类
- 朴素贝叶斯分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯--情感分类
- 朴素贝叶斯分类器
- 朴素贝叶斯—分类
- 朴素贝叶斯分类器
- 朴素贝叶斯分类
- 朴素贝叶斯分类
- 分类-朴素的贝叶斯
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 重载为类的友元函数
- Ubuntu下彻底卸载apache2
- htmlutil
- Observer--设计模式学习笔记《二》
- 需要点智商才能看懂的恐怖故事,你能看懂多少个?
- 朴素贝叶斯分类
- SQL Server DBA三十问 (转)
- IIC 波形 解释基本操作概念
- VC中Release版本调试及单步跟踪方法
- Tika提取pdf文本的内容,并用IKAnalyzer进行分词处理。
- Oracle 检测表过程
- SCA 之Tuscany 12——Tuscany JSON-RPC 实现
- Tomcat Admin 安装和配置
- android知识