#MachineLearningNotes# 朴素贝叶斯算法

1.写在前面

朴素贝叶斯算法它是一种分类算法

概率论里面学过贝叶斯定理,这里的朴素贝叶斯算法就是以贝叶斯定理为基础

那么如何分类呢?举个简单的例子,现在有两队人分别是A队和B队,已知A队的人中有长头发的,也有短头发的,同时有高个子的,也有矮个子的。而B队的人呢,有长头发的,也有短头发的,同时有高个子的,也有矮个子的。现在远处迎面走来一个人,你不知道他是A队还是B队,但是你清楚的是他的特征,他是长头发的,高个子的。那应该把他分到哪一队呢?

这个问题就可以用朴素贝叶斯算法来解

2.贝叶斯定理

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

贝叶斯定理是基于条件概率的等式定理

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

贝叶斯定理只是对公式一分子部分进行了等式变换

3.朴素贝叶斯算法介绍

给定训练数据集(x,y),其中每个样本x都有n维特征,x=(x1,x2,...,xn),类别标记集合有m种类别,y=(y1,y2,...,ym),新来一个样本x,该如何判断它是属于那一类别呢?我们需要判断x属于哪一个类别的概率大,那它就属于哪一类别,即比较P(y1|x),P(y2|x),P(y3|x),...,P(ym|x)的大小,哪个最大属于哪一类别。这就需要用到贝叶斯定理

图片中推导

4.三种常见模型

(1)多项式模型

当特征是离散值时,采用多项式模型,需要做平滑处理

(2)高斯模型

当特征值为连续值时,采用高斯模型。为什么呢?因为当特征值是连续型值,再采用多项式模型,如果不进行平滑处理,计算P(xi|yk)时会导致很多P(xi|yk)=0

(3)伯努利模型

当特征值是离散值时,采用伯努利模型。与多项式模型不同的是,伯努利模型的特征值取值只能为0或1

比如以文本分类为例,某个单词在文档中出现过,则其特征值为1,否则为0

计算公式如下:

xi=1,P(xi|yk)=P(xi=1|yk);

xi=0,P(xi|yk)=P(xi=0|yk);[/cp]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容