朴素贝叶斯法

朴素贝叶斯(naïve Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法[1]。 对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然 后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。朴素贝叶斯 法实现简单,学习与预测的效率都很高,是一种常用的方法。 本章叙述朴素贝叶斯法,包括朴素贝叶斯法的学习与分类、朴素贝叶斯法的参数估计算法

朴素贝叶斯法的学习与分类

设输入空间x⊆R n为n维向量的集合,输出空间为类标记集合 ={c1,c2 ,…,cK}。输入 为特征向量x∊x,输出为类标记(class label)y∊ 。X是定义在输入空间x上的随机向量, Y是定义在输出空间 上的随机变量。P(X,Y)是X和Y的联合概率分布。训练数据集

由P(X,Y)独立同分布产生。 朴素贝叶斯法通过训练数据集学习联合概率分布P(X,Y)。具体地,学习以下先验概率 分布及条件概率分布。

先验概率分布 

条件概率分布 

于是学习到联合概率分布P(X,Y)。 条件概率分布P(X=x|Y=ck)有指数级数量的参数,其估计实际是不可行的。事实 上,假设x (j)可取值有Sj个,j=1,2,…,n,Y可取值有K个,那么参数个数为

朴素贝叶斯法对条件概率分布作了条件独立性的假设。由于这是一个较强的假设,朴 素贝叶斯法也由此得名。具体地,条件独立性假设是

朴素贝叶斯法实际上学习到生成数据的机制,所以属于生成模型。条件独立假设等于 是说用于分类的特征在类确定的条件下都是条件独立的。这一假设使朴素贝叶斯法变得简 单,但有时会牺牲一定的分类准确率。 朴素贝叶斯法分类时,对给定的输入x,通过学习到的模型计算后验概率分布P(Y= ck |X=x),将后验概率最大的类作为x的类输出。后验概率计算根据贝叶斯定理进行:  

朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化。假设选择 0-1损失函数:

式中f(X)是分类决策函数。这时,期望风险函数为  

期望是对联合分布P(X,Y)取的。由此取条件期望 

为了使期望风险最小化,只需对Xx=逐个极小化,由此得到:  

朴素贝叶斯法的参数估计

在朴素贝叶斯法中,学习意味着估计P(Y=ck)和P(X(j)=x (j) |Y=ck)。可以应用极大似然 估计法估计相应的概率。先验概率P(Y=ck)的极大似然估计是:

设第j个特征x (j)可能取值的集合为{aj1 ,aj2 ,…,ajSj},条件概率P(x (j)=ajl |Y=ck)的极大似然估计是:

下面给出朴素贝叶斯法的学习与分类算法。

算法4.1(朴素贝叶斯算法(naïve Bayes algorithm)

例4.1 试由表4.1的训练数据学习一个朴素贝叶斯分类器并确定x=(2,S) T的类标记y。 表中X(1),X(2)为特征,取值的集合分别为A1={1,2,3},A2={S,M,L},Y为类标记,Y∊C ={1,-1}。

用极大似然估计可能会出现所要估计的概率值为0的情况。这时会影响到后验概率的 计算结果,使分类产生偏差。解决这一问题的方法是采用贝叶斯估计。具体地,条件概率的贝叶斯估计是:

思维导图:

李航统计学习方法-朴素贝叶斯相关推荐

  1. 统计学习方法|朴素贝叶斯原理剖析及实现

    欢迎直接到我的博客查看最近文章:www.pkudodo.com.更新会比较快,评论回复我也能比较快看见,排版也会更好一点. 原始blog链接: http://www.pkudodo.com/2018/ ...

  2. matlab贝叶斯判别后验概率,统计学习方法——朴素贝叶斯法、先验概率、后验概率(示例代码)...

    朴素贝叶斯法,就是使用贝叶斯公式的学习方法,朴素就是它假设输入变量(向量)的各个分量之间是相互独立的.所以对于分量之间不独立的分布,如果使用它学习和预测效果就不会很好. 简化策略 它是目标是通过训练数 ...

  3. 统计学习方法——朴素贝叶斯

    0.写在前面 朴素贝叶斯实际上是非常简单的一种机器学习方法,我们在之前的很多地方都讲过了,所以这里我们不再阐述具体的原理,可以移步:朴素贝叶斯. 但是,对于讨论班里,争论最多的就是课后的2个习题,因此 ...

  4. 复习04统计学习方法(朴素贝叶斯算法Naive Bayes)---图片版

  5. 李航统计学习方法 Chapter6 逻辑斯蒂回归

    第6章 逻辑斯蒂回归和最大熵模型 逻辑斯谛回归(LR)是经典的分类方法 1.逻辑斯谛回归模型是由以下条件概率分布表示的分类模型.逻辑斯谛回归模型可以用于二类或多类分类. P(Y=k∣x)=exp⁡(w ...

  6. 朴素贝叶斯法的参数估计——贝叶斯估计及其Python实现

    统计学习方法--朴素贝叶斯法原理 1. 贝叶斯估计 1.1 为什么要用贝叶斯估计(极大似然的缺点) 1.2 贝叶斯估计原理 贝叶斯估计的算法过程合极大似然估计的算法过程一模一样,代码也几乎一模一样,只 ...

  7. matlab 朴素贝叶斯模型 代码及其案例

    简介 朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率.同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算 ...

  8. 李航《统计学习方法》朴素贝叶斯的python实现

    前言 朴素贝叶斯算法是通过贝叶斯公式及条件的独立性建立的一个生成模型,具体内容及原理参见李航<统计学习方法>,下面对朴素贝叶斯算法通过python 实现.因为本人是数学专业非科班,所以很多 ...

  9. 李航《统计学习方法》-----朴素贝叶斯

    朴素贝叶斯法naïve Bayes,在naïve的中间字母上其实有两个点,查了一下才发现是法语中的分音符,在发音过程中发挥作用.但这不是重要的,重要的是在这种学习方法中贝叶斯承担了什么样的角色. 首先 ...

最新文章

  1. ADAS可行驶区域道路积水反光区域的识别算法
  2. noip2016 组合数问题
  3. Javascript 深入学习循环
  4. 通用网站备案常见的备案场景及要求
  5. p2psearcher2013源码实现原理
  6. 阿里技术:基于Kafka+Flink+Redis的电商大屏实时计算案例
  7. 通过mysqlnow()函数校正本地(windows)时间与服务器(linux)时间
  8. 2008年6月6日今天终于调回公司本部啦,记录历史的一天。
  9. 一个请求里能有多个cookie吗_从一个男人对女人家人的态度里,能看出他有多爱对方吗?...
  10. ADF单位根检验三种形式_读文4:面板数据模型建立步骤、面板数据模型设定检验(F test)、面板协整模型(ADF test)...
  11. 搭建一个简单的Windows域环境
  12. 奶爸日记3 - 给鑫鑫做的第一顿饭
  13. 安装redhat系统步骤图解_用u盘安装redhat图文教程
  14. 使用rmats进行可变剪切的分析
  15. 项目实战(一)HTML5+CSS3+JS完成前端网站的制作
  16. %几.几//C语言(闲的没事,记录下)
  17. DLang 编译实验
  18. 如何使用pem文件登录服务器,如何用pem链接服务器
  19. 《Python编程:从入门到实践》读书笔记
  20. 打开html按钮没文字,为什么我打开网页有些字没显示但能点击

热门文章

  1. oracle之case函数(case when then else end)用法
  2. 一些常用的市场调查与信息收集方法
  3. js拼接字符串与变量
  4. 【ZED】将ZED获取的视频格式svo转换成其他格式
  5. MOngodb备份(mongodump)和恢复(mongorestore)
  6. 使用Microsoft Project以敏捷的方式跟踪你的项目
  7. python:看我来个代码展示向靓仔打招呼~
  8. Python爬虫之爬取“天气后报网”的天气历史信息
  9. 手机连上wifi却上不了网的原因
  10. 日文假名输入与键盘对应 1