0)GDA要求输入特征x是连续型随机变量;朴素贝叶斯分类方法适用于输入特征x是离散值的情况,主要目的是确定后验概率p(x|y)。
1)朴素贝叶斯模型(Naive Bayes Model)
1.1)朴素贝叶斯假设
1.2)朴素贝叶斯模型的构建——以邮件分类为例
1.3)应用朴素贝叶斯模型分类新邮件
1.4)朴素贝叶斯模型的一些问题
2)拉普拉斯平滑技术(Laplace Smoothing)
3)朴素贝叶斯算法的两类事件模型(多元伯努利事件模型+多项式事件模型,Multi-Variate Bernoulli Event Model and Multinomial Event Model)
3.1)多元伯努利事件模型(multi-variate Bernoulli event model)
3.2)多项式事件模型(Multinomial Event Model)
3.3)朴素贝叶斯模型——多项式事件模型——构建
3.4)朴素贝叶斯模型——多项式事件模型——邮件分类示例
1)朴素贝叶斯模型(Naive Bayes Model)
1.1)朴素贝叶斯假设
假设x中的特征分量xi是相互条件独立的。此假设虽然常常不成立,但其产生的分类效果却很好!
1.2)朴素贝叶斯模型的构建——以邮件分类为例
对于邮件分类,采用最简单的特征描述方法,首先找一部英语词典,将里面的单词全部列出来。然后将每封邮件表示成一个向量,向量中每一维都是字典中的一个词的0/1值,1表示该词在邮件中出现,0表示未出现。如:
假设字典中总共有5000个词,那么x是5000维的。这时候如果要建立多项式分布模型(二项分布的扩展)。
| 多项式分布(multinomial distribution) 某随机实验如果有k个可能结局A1,A2,…,Ak,它们的概率分布分别是p1,p2,…,pk,那么在N次采样的总结果中,A1出现n1次,A2出现n2次,…,Ak出现nk次的这种事件的出现概率P有下面公式:(Xi代表出现ni次) |
此时,我们就要用到朴素贝叶斯假设,即如果一封邮件是垃圾邮件(y=1),且这封邮件出现词“buy”与这封邮件是否出现“price”无关,即“buy”和“price”之间是条件独立的。
形式化表示为,(如果给定Z的情况下,X和Y条件独立):
也可以表示为:
。
回到邮件问题中
建立形式化的模型表示:
那么我们想要的是模型在训练数据上概率积能够最大,即最大似然估计如下:
求解得:
最后一个式子是表示y=1的样本数占全部样本数的比例(垃圾邮件占总训练样本邮件数的比例),前两个表示在所有的y=1(垃圾邮件)或0(非垃圾邮件)的样本中,特征Xj=1的比例(即,对于y=1,表示出现了第j个单词的垃圾邮件总数占所有<不过出没出现第j个单词>垃圾邮件总数的比例)。
1.3)应用朴素贝叶斯模型分类新邮件
a)根据训练样例,利用1.2)中描述的方法计算出了朴素贝叶斯模型中的10002个参数(y=1和y=0时,j分别为1-5000时的条件概率;y=1和y=0的概率),这远远少于
。
其中,p(x|y)根据朴素贝叶斯假设计算,方法如下:
a) 朴素贝叶斯假设虽然常常不成立,但其产生的分类效果却很好!
b)对于邮件分类,该方法由于只是简单地将某个单词出现不出现标记为0/1进行区分,而没有考虑一个单词在同一个邮件中可能出现多次的情况。
c)朴素贝叶斯方法可以扩展到y也有多个离散值(不仅仅是y=0 / y=1)的情况。
d)对于特征是连续值的情况,可以采用分段的方法来将连续值转化为离散值。转换标准可以采用信息增益的度量方法来确定。比如房子大小可以如下划分成离散值:
e)朴素贝叶斯方法有个致命的缺点就是对数据稀疏问题过于敏感,这就要引出下面的拉普拉斯平滑技术(Laplace Smoothing)。
2)拉普拉斯平滑技术(Laplace Smoothing)
由于NIPS不管是在以前的垃圾邮件还是正常邮件都没出现过,那么结果只能是0了。显然最终的条件概率也是0:
拉普拉斯平滑技术就是要解决上面的问题!
假设离散型随机变量z有{1,2,…,k}个值,则将原来的估计方法
改为:
,使每个概率都严格大于零,同时满足可见
。其他平滑方法不再详述。
回到邮件分类的问题,修改后的公式为:
3)朴素贝叶斯算法的两类事件模型(多元伯努利事件模型+多项式事件模型,Multi-Variate Bernoulli Event Model and Multinomial Event Model)
我们刚刚使用的用于文本分类的朴素贝叶斯模型,称为多元伯努利事件模型。
a)首先随机选定邮件的类型(垃圾或者普通邮件)。决定y=0还是y=1主要根据p(y=0)和p(y=1)的概率分布。
b)然后翻阅词典,从第一个词到最后一个词,随机决定每一个词是否要在邮件中出现,出现标示为1,否则标示为0。决定一个词是否出现依照概率p(xi|y)。
c)最后将所有标记为1的词组成一封邮件。那么这封邮件的概率可以表示为
。
3.2)多项式事件模型(Multinomial Event Model)
a)首先随机选定邮件的类型(垃圾或者普通邮件)。决定y=0还是y=1主要根据p(y=0)和p(y=1)的概率分布。(和上面的完全相同)
b)让i表示邮件中的第i个词,xi表示这个词在字典中的位置,那么xi取值范围为{1,2,…|V|},|V|是字典中词的数目(如5000)。任何一封邮件可以表示成
,n可以变化,因为每封邮件的词的个数不同。然后对于每个xi 随机从|V|个值中取一个,字典中相应位置的词就是我们要使用的。这相当于重复投掷|V|面的骰子,将观察值记录下来就形成了一封邮件。当然每个面的概率服从p(xi|y),而且每次试验条件独立。
c)最后将所有抽到的词组成一封邮件。那么这封邮件的概率可以表示为
。居然跟上面的一样,那么不同点在哪呢?注意第一个的n是字典中的全部的词,下面这个n是邮件中的词个数。上面xi表示一个词是否出现,只有0和1两个值,两者概率和为1。下面的xi表示|V|中的一个值,|V|个p(xi|y)相加和为1。
3.3)朴素贝叶斯模型——多项式事件模型——构建
多项式事件模型形式化表示为:
m个训练样本为:
其中![]()
表示第i个样本中,共有ni个词,每个词在字典中的编号为
,j由具体邮件样本确定。
那么我们仍然按照朴素贝叶斯的方法求得最大似然估计概率为
解得:
与以前的式子相比,分母多了个ni,分子由0/1变成了k。仔细分析会发现,该模型考虑的是训练样本中单词数量间的关系,而不是训练样本中邮件数量间的关系,从而避免了“ 1.4)朴素贝叶斯模型的一些问题-b)”中提到的问题!
3.4)朴素贝叶斯模型——多项式事件模型——邮件分类示例
| x1 | x2 | x3 | y | |
| 第1封邮件 | 1 | 2 | - | 1 |
| 第2封邮件 | 2 | 1 | - | 0 |
| 第3封邮件 | 1 | 3 | 2 | 0 |
| 第4封邮件 | 3 | 3 | 3 | 1 |
假如邮件中只有a,b,c这三词,他们在词典的位置分别是1,2,3,前两封邮件都只有2个词,后两封都只有3个词。Y=1是垃圾邮件。
那么,
假如新来一封邮件为b,c那么特征表示为{2,3}。那么
那么该邮件是垃圾邮件概率是0.6。
如果同样使用拉普拉斯平滑,得到公式为:
另外朴素贝叶斯虽然有时候不是最好的分类方法,但它简单有效,而且速度快。
参考:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971903.html
本文详细介绍了朴素贝叶斯模型,包括模型假设、构建过程、邮件分类的应用,以及拉普拉斯平滑技术和两种事件模型:多元伯努利和多项式事件模型。朴素贝叶斯尽管存在假设简化,但在实际应用中表现出良好的分类效果。
![clip_image044[8] clip_image044[8]](https://i-blog.csdnimg.cn/blog_migrate/92376f254e9ab67a1ab9403216418a7e.png)
![clip_image045[6] clip_image045[6]](https://i-blog.csdnimg.cn/blog_migrate/4ec98df91bddfab76c421bb7c85f8eed.png)
![clip_image052[8] clip_image052[8]](https://i-blog.csdnimg.cn/blog_migrate/d7b57f80339fd2dc5d00963d1b55385e.png)


![clip_image001[4] clip_image001[4]](https://i-blog.csdnimg.cn/blog_migrate/e1abfb86793174ff03d397d09626370c.png)
![clip_image065[8] clip_image065[8]](https://i-blog.csdnimg.cn/blog_migrate/5995ebd911ab34d35e88297a00c323bf.png)
![clip_image066[4] clip_image066[4]](https://i-blog.csdnimg.cn/blog_migrate/27e84a3a80ae2c96aacd4aecd1a576e9.png)
![clip_image073[4] clip_image073[4]](https://i-blog.csdnimg.cn/blog_migrate/df6a3cdd88c9b6c597bdd3f519ddba11.png)
![clip_image081[6] clip_image081[6]](https://i-blog.csdnimg.cn/blog_migrate/e7721fbe71c5d4cda3720a88d6670c20.png)
![clip_image082[6] clip_image082[6]](https://i-blog.csdnimg.cn/blog_migrate/10650e770c78a4fe077a173044f30173.png)
![clip_image084[6] clip_image084[6]](https://i-blog.csdnimg.cn/blog_migrate/88645d6de92b36cd767293d59361aef6.png)

![clip_image088[6] clip_image088[6]](https://i-blog.csdnimg.cn/blog_migrate/b277884c98036a71ecf38c65daf98dad.png)
![clip_image090[6] clip_image090[6]](https://i-blog.csdnimg.cn/blog_migrate/c4a793e260aa447d96f1837e47296d2a.png)
![clip_image097[6] clip_image097[6]](https://i-blog.csdnimg.cn/blog_migrate/81a5ebc5ee1c8ec132e74d9068ef1c0c.png)
1228

被折叠的 条评论
为什么被折叠?



