朴素贝叶斯分类

标签: Algorithm 贝叶斯 | 发表时间:2013-03-19 11:25 | 作者:四火
出处:http://www.raychase.net

文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》

朴素贝叶斯分类 贝叶斯定理

英国数学家贝叶斯(Thomas Bayes)曾经给出如下定理:

P(A)表示A事件发生的概率,P(B)表示B事件发生的概率;P(A|B)表示在B事件已经确定发生的情况下,发生A事件的概率;P(B|A)表示在A事件已经确定发生的情况下,发生B事件的概率;P(AB)表示AB事件同时发生的概率。所以:

P(A)P(B|A)=P(AB)=P(B)P(A|B)

也就是说,A事件发生的概率乘以A事件已发生条件下B事件发生的概率,和B事件发生的概率乘以B事件已发生条件下A事件发生的概率,这二者是相等的,都等于AB事件同时发生的概率。

(特例:如果A、B是独立事件,互不相关,那么P(A)=P(A|B),P(B)=P(B|A),于是:P(A)P(B)=P(AB)。)

变换一下得到:

P(B|A)=P(B)P(A|B)/P(A)

在很多场景下,P(A|B)是容易得出的,但是P(B|A)不容易获得,这时可以利用贝叶斯公式求得。

我们还可以把贝叶斯定理推论到三元情形:

P(A|B,C)=P(B|A)P(A)P(C|A,B) / (P(B)P(C|B))

 

朴素贝叶斯分类(Naive Bayesian Classification)

假设具备如下分类:C1, C2, C3, … Cn,

同时,待分类项x具备如下相关属性分类项:a1, a2, a3, … an,

接着我们定义x属于Ck分类,当且仅当:P(Ck|x)=max{P(C1|x), P(C2|x), … P(C3|x)}。这一步是属于对分类器的应用。

也就是说,根据x的相关属性分类项来判断,和哪一分类最匹配时,x就算属于该分类。

下面我们开始进行分类器的构建:

1、确定相关特征属性分类项。就是上述的a1, a2, … an,对于x出现在某分类Ci中的概率,等于每个特征属性出现在该分类中的概率之积:

P(x|Ci)=P(a1|Ci)P(a2|Ci)…P(an|Ci) —— 公式A

2、整理取得训练样本。这个样本的数量和准确性会大大影响到分类的准确性,很多时候需要清洗样本数据。

3、分别计算每个类别下每个相关属性的概率,即:

P(ak|Ci),其中1<=k<=m,ak表示任一相关属性,1<=i<=n,Ci表示任一分类。

根据贝叶斯定理和公式A,可以得到x事件出现在Ci分类中的概率:

P(Ci|x)P(x)=P(Ci)P(x|Ci)=P(Ci)P(a1|Ci)P(a2|Ci)…P(an|Ci) —— 公式B

通过比较对任意的i,1<=i<=n的时候,P(Ci|x)P(x)的取值,从中找到最大值,就可以找到x的分类——因为对于不同的i,P(x)在是恒定值,所以对此问题而言,比较P(Ci|x)P(x)的最大值和比较P(Ci|x)的最大值是一致的。

举一个具体的例子:

一批商品,分类C1是正品,C2是次品。现在有两个属性分类项:a1表示质量,划为<1千克和>=1千克两个分类;a2表示体积,划为<1cm³和>=1cm³两个分类。

经过100个商品的样本统计,其中正品有80个,其中有60个质量<1千克,20个质量>=1千克,有40个体积<1cm³,40个体积>=1cm³;而余下的次品20个中,有5个质量<1千克,15个质量>=1千克,4个体积<1cm³,16个体积>=1cm³。

也就是说:

P(C1)=80/100, P(a1<1|C1)=60/80, P(a1>=1|C1)=20/80, P(a2<1|C1)=40/80, P(a2>=1|C1)=40/80

P(C2)=20/100, P(a1<1|C2)=5/20, P(a1>=1|C2)=15/20, P(a2<1|C2)=4/20, P(a2>=1|C2)=16/20

下面使用已经计算完成的分类器进行分类:

有一个待分类的商品x,它的质量是0.8千克,体积是1.1cm³,那么:

根据公式B:

P(x)P(C1|x)=P(C1)P(x|C1)=P(C1)P(a1<1|C1)P(a2>=1|C1)=0.3

P(x)P(C2|x)=P(C2)P(x|C2)=P(C2)P(a1<1|C2)P(a2>=1|C2)=0.12

所以,该商品判断为C1正品。

文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》

分享到:

相关 [分类] 推荐:

字体的分类

- 旭闻 - 般若黑洞
写书需要,花了一个晚上做了一张思维导图,算是写作过程中的副产品,粗略了些. 博客更新很慢,这篇blog算是透漏下最近的工作吧,我不是懒,是真没有闲着. 文字部分参考了维基百科、Robin Williams《写给大家看的设计书》以及这篇文章. 之前还写过一篇入门的:PPT中字体的选用,有兴趣可以对比一下,不过里面有很多错误,不太好意思拿出来了.

分类算法概述。

- - 小彰
摘 要:分类是数据挖掘、机器学习和模式识别中一个重要的研究领域. 通过对当前数据挖掘中具有代表性的优秀分类算法进行分析和比较,总结出了各种算法的特性,为使用者选择算法或研究者改进算法提供了依据. 分类的目的是根据数据集的特点构造一个分类函数或分类模型(也常常称作分类器),该模型能把未知类别的样本映射到给定类别中的某一个.

朴素贝叶斯分类

- - 四火的唠叨
文章系本人原创,转载请保持完整性并注明出自 《四火的唠叨》. 英国数学家贝叶斯(Thomas Bayes)曾经给出如下定理:. P(A)表示A事件发生的概率,P(B)表示B事件发生的概率;P(A|B)表示在B事件已经确定发生的情况下,发生A事件的概率;P(B|A)表示在A事件已经确定发生的情况下,发生B事件的概率;P(AB)表示AB事件同时发生的概率.

LibShortText - 短文本分类

- - 互联网旁观者
Chih-Jen Lin的新作.   青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟.

移动化电子商务分类

- Horgan - 互联网的那点事...
网友 scarlett 投稿 原文. 7月19日,商务部电子商务和信息化司副司长张佩东在《第28次中国互联网络发展状况统计报告》发布会上表示,今年网络购物销售规模预计将占到全社会消费品零售总额的4.5%到5%. 2011年我国网购市场交易规模将达到7634.1亿元. 艾瑞数据,第二季度中国移动互联网市场规模达77.9亿元,其中手机电子商务占27.9%,仅次于移动增值业务.

数据挖掘 - 分类算法比较

- - IBM developerWorks 中国 : 文档库
随着计算能力、存储、网络的高速发展,人类积累的数据量正以指数速度增长. 对于这些数据,人们迫切希望从中提取出隐藏其中的有用信息,更需要发现更深层次的规律,对决策,商务应用提供更有效的支持. 为了满足这种需求,数据挖掘技术的得到了长足的发展,而分类在数据挖掘中是一项非常重要的任务,目前在商业上应用最多.

SVM理论之线性分类

- - 博客园_首页
  离上次发博文差不多有一年的时间了,因为一直在准备考研直到4月份才有时间,无奈考研后进入空白期,对专业、技术甚至生活失去了兴趣,部分原因也是没有什么好写. 的,现在刚做完毕设,有点积累,就从这里开始吧.   我将从svm理论到应用,分享一下学习经历,文章有很多内容来自文献和网络牛人,后面给出链接.

数据挖掘分类技术

- - CSDN博客云计算推荐文章
从分类问题的提出至今,已经衍生出了很多具体的分类技术. 下面主要简单介绍四种最常用的分类技术,不过因为原理和具体的算法实现及优化不是本书的重点,所以我们尽量用应用人员能够理解的语言来表述这些技术. 而且我们会在第4章再次给读者讲述分类算法和相关原理. 在我们学习这些算法之前必须要清楚一点,分类算法不会百分百准确.

大数据分析的分类-转载

- - 人月神话的BLOG
原文:http://www.csdn.net/article/2011-08-15/303101. Hadoop平台对业务的针对性较强,为了让你明确它是否符合你的业务,现粗略地从几个角度将大数据分析的业务需求分类,针对不同的具体需求,应采用不同的数据分析架构. 按照数据分析的实时性,分为实时数据分析和离线数据分析两种.

用scipy(scikit-learn)做文本分类

- - CSDN博客研发管理推荐文章
文本挖掘的paper没找到统一的benchmark,只好自己跑程序,走过路过的前辈如果知道20newsgroups或者其它好用的公共数据集的分类(最好要所有类分类结果,全部或取部分特征无所谓)麻烦留言告知下现在的benchmark,万谢. 20newsgroups官网上给出了3个数据集,这里我们用最原始的 20news-19997.tar.gz.