博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分类算法---朴素贝叶斯算法
阅读量:6159 次
发布时间:2019-06-21

本文共 2077 字,大约阅读时间需要 6 分钟。

  hot3.png

1.数据特征类型    

朴素贝叶斯的算法根据数据的类型可以分为两类,一类是样本属性特征值是离散型,第二类是属性特征值为连续型,下面我会基于两类模型来介绍这个算法。

       1.属性是离散型,类的先验概率可以通过训练各类样本出现的次数来估计

       2.属性是连续型,有两种方法,将连续属性范围值划分为各个离散区间,这种方法不太好控制区间的大小,不太实用。第二种方法是,可以假设连续变量服从某种概率分布,然后使用训练数据估计分布的参数,高斯分布通常被用来表示连续属性的类条件概率分布。

        高斯分布有两个参数,均值和方差.

         均值计算公式

                                                224921_GTvA_1403215.png  (公式1)

          方差计算公式

                                            225342_DLgR_1403215.png   (公式2)

        高斯分布概率密度函数 

                                              224246_Qlov_1403215.png (公式3)

 

 2.贝叶斯公式原型

                   230822_IrkJ_1403215.png(公式4)

                  解释  d是每个X的属性个数,[x1,x2,x3,x4.....xd]每个属性,P(X)对于每个后验概率来说是固定不变的,所以,可以不计。

                  X实体属于Y分类的判断条件是根据Max[P(Yi|X)]来判断X实体属于哪个分类Y。

3.数据离散型贝叶斯使用例子

                    例子:概率模型:评分数据

评分数据

  物品1 物品2 物品3 物品4 物品5
Alice 1 3 3 2
用户1 2 4 2 2 4
用户2 1 3 3 5 1
用户3 4 5 2 3 3
用户4 1 1 5 2 1

根据用户1到用户4的用户数据,来预测Alice对物品5的评分,这里可以使用贝叶斯模型,分别计算Alice对物品5评分为1,2,3,4,5的概率,其中概率最大的,则是Alice对物品5评分的最大可能性。 

       P(物品5=1|Alice)=  P(Alice | 物品5=1) x P(物品5=1)  = P(物品1=1 | 物品5=1) * P(物品2=3 | 物品5=1)* P(物品3=3 | 物品5=1)*P(物品4=2 | 物品5=1) * P(物品5=1)

                = 1*1/2*1/2*1/2*1/2

       P(物品5=2|Alice)=  P(Alice | 物品5=2) x P(物品5=2)  = P(物品1=1 | 物品5=2) * P(物品2=3 | 物品5=2)* P(物品3=3 | 物品5=2)*P(物品4=2 | 物品5=2) * P(物品5=2)

               = 0*0*0*0*0

          ......................................

其他的物品以此类推,可以算出P(物品5=1|Alice)最大,则推测Alice用户对物品5的评分为1。

此例子是摘自《推荐系统》书中的一个例子

上面列子同理可用于文本分类模型中。用户看做文章,物品5评分看做文章的分类。同理可求出文章的所属的分类

 

4.数据连续型贝叶斯使用例子

      判断车厘子和樱桃

车厘子与樱桃的鲜红值/直径、质量信息例子

水果类型 鲜红值 直径 质量
车厘子 0.81 1.02 8.85
车厘子 0.82 0.98 8.67
车厘子 0.78 0.99 8.75
车厘子 0.79 1.01 8.80
樱桃 0.56 0.85 7.32
樱桃 0.58 0.86 7.33
樱桃 0.59 0.83 7.29
樱桃 0.57 0.84 7.31

根据上表的数据,预测下表未知实体是樱桃还是车厘子

水果类型 鲜红值 直径 质量
未知 0.80 0.86 8

 

假设训练样本的特征满足高斯分布,则使用上面的公式1,公式2计算出均值和方差

根据计算公式,需要求出两种类型的水果的各个属性的均值和方差,计算结果如下:

各个属性的均值和方差

类型 鲜红值-均值 鲜红值-方差 直径-均值 直径-方差 质量-均值 质量-方差
车厘子 0.8 0.018257419 1 0.018257419 8.7675 0.076757193
樱桃 0.575 0.012909944 0.845 0.012909944 7.3125 0.0170778251

预测未知实体是车厘子还是樱桃,需要计算未知实体的属于车厘子和属于樱桃的后验概率谁大。

p(车厘子|unkown)=P(车厘子)*p(鲜红值|车厘子)*p(直径|车厘子)*p(质量|车厘子) / evidence

p(樱桃|unkown)=P(樱桃)*p(鲜红值|樱桃)*p(直径|樱桃)*p(质量|樱桃) / evidence

 

默认 P(车厘子)P(樱桃)为1/2。evidence为常数,通常用来对各类的后验概率之和进行归一化。

evidence=P(车厘子)*p(鲜红值|车厘子)*p(直径|车厘子)*p(质量|车厘子)+P(樱桃)*p(鲜红值|樱桃)*p(直径|樱桃)*p(质量|樱桃);

概率密度求解

  p(鲜红值|樱桃)可通过 公式3 来计算,均值和方差,分别带入 樱桃鲜红值得均值和方差,求出高斯分布概率密度,其他属性,以此类推。

最后根据计算结果来看,未知实体属于樱桃还是车厘子的概率大。

 

spark demo

朴素贝叶斯Spark MLib实现

转载于:https://my.oschina.net/manmao/blog/1363973

你可能感兴趣的文章
10、程序员和编译器之间的关系
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
图解SSH原理及两种登录方法
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>
学习笔记之Data Visualization
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
416. Partition Equal Subset Sum
查看>>
app内部H5测试点总结
查看>>
[TC13761]Mutalisk
查看>>