文章目录

  • 一.朴素贝叶斯法
    • 1.1 实现原理
    • 1.2 后验概率最大化
  • 二.朴素贝叶斯法的参数估计
    • 2.1 极大似然估计
    • 2.2 学习与分类算法
    • 2.3 朴素贝叶斯分类器例题
    • 2.4 贝叶斯估计
  • 推荐文章
  • 参考资料

一.朴素贝叶斯法

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

本章叙述朴素贝叶斯法,包括朴素贝叶斯法的学习与分类、朴素贝叶斯法的参数估计算法.

1.1 实现原理

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

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

先验概率分布P(Y = ck), k = 1, 2, …, K

条件概率分布:
                       
于是学习到 联合概率分布P(X,Y).

条件概率分布P(X = x | Y = ck)有 指数级数量的参数,其估计实际是不可行的。事实上,假设数据 x 的第 j 个特征 x(j) 可能取值有 Sj个,j = 1, 2, …, n, Y可取值有 K个,那么参数个数为 K * ∏Sj(j = 1…n)

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

朴素贝叶斯法实际上学习到生成数据的机制,所以属于 生成模型。条件独立假设等于是说用于分类的特征在类确定的条件下都是条件独立的.这一假设使朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率.

朴素贝叶斯法分类时,对给定的 测试数据 x,通过学习到的模型 计算后验概率分布P(Y=ck |X=x), 将后验概率最大的类作为x的类输出。后验概率计算根据贝叶斯定理进行:
                                        

将前一个式子带入到上式中,有:
                           
这是朴素贝叶斯法分类的基本公式.于是,朴素贝叶斯分类器可表示为:
                               

注意到,上式中分母所有的 ck 都是相同的,对分母计算后为1,所以,
                                    

1.2 后验概率最大化

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

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

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

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

这样一来,根据期望风险最小化准则就得到了后验概率最大化准则:
                                        

即朴素贝叶斯法所采用的原理。

二.朴素贝叶斯法的参数估计

2.1 极大似然估计

在朴素贝叶斯法中,学习意味着估计P(Y = ck) 和 P(Xj = xj | Y = ck)。可以应用 最大似然估计相应的概率,即利用现有的训练数据集进行相应的计算。先验概率P(Y = ck) 的最大似然估计是:
                                        

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

式中,xi(j) 是第 i 个样本的第 j 个特征;ajL 是第 j 个特征可能取的第 L 个值;I为指示函数。

2.2 学习与分类算法

下面给出朴素贝叶斯法的学习与分类算法.
算法4.1 (朴素贝叶斯算法(naive Bayes algorithm))

2.3 朴素贝叶斯分类器例题

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

解: 根据算法4.1,容易计算下列概率:

2.4 贝叶斯估计

用极大似然估计可能会出现所要估计的 概率值为0 的情况.这时会影响到后验概率的计算结果,使分类产生偏差.解决这一问题的方法是采用 贝叶斯估计。具体地,条件概率的贝叶斯估计是:
                                        
式中 λ ≥ 0,等价于在随机变量各个取值的频数上赋予一个正数 λ > 0。当 λ = 0 时就是极大似然估计。常取 λ = 1,这时称为 拉普拉斯平滑(Laplace smoothing)。显然,对任何L=1,2…,Sj, k=1,2…,K, 有
                                                      

同样,先验概率的贝叶斯估计是:
                                                      

例题: 问题同上2.3,按照拉普拉斯平滑估计概率,即取 λ = 1.

推荐文章

  • 机器学习的基本概念和相关术语
  • 机器学习入门笔记(一):模型性能评价与选择
  • 机器学习入门笔记(二):线性模型
  • 机器学习入门笔记(三):K近邻算法
  • 机器学习入门笔记(四):朴素贝叶斯分类
  • 机器学习入门笔记(五):决策树
  • 机器学习入门笔记(六):集成学习
  • 机器学习入门笔记(七):聚类

参考资料

周志华老师的《机器学习》和李航老师的《统计学习方法》。

机器学习入门笔记(四):朴素贝叶斯分类相关推荐

  1. 机器学习入门笔记总目录

    机器学习入门笔记是我参考周志华老师的<机器学习>西瓜书.李杭老师的<统计学习方法>第二版以及课程教材等资料写的. 该目录主要记录关于机器学习和算法基本概念的博客链接. ---- ...

  2. 机器学习入门笔记(七):聚类

    文章目录 一.聚类的基本概念 1.1 相似度或距离 1.2 类或簇 1.3 类与类之间的距离 二.层次聚类 2.1 基本概念 2.1 算法描述 2.3 例题 三.K均值聚类 3.1 模型 3.2 策略 ...

  3. 机器学习入门笔记(五):决策树

    文章目录 一.决策树模型与学习 1.1 决策树模型 1.2 决策树与 if-then 规则 1.3 决策树与条件概率分布 1.4 决策树的学习 二.特征选择 2.1 信息增益 2.2 例题:利用信息增 ...

  4. 机器学习入门笔记(三):K近邻算法

    文章目录 一.K近邻算法的基本概念 1.1 K近邻算法实现 二.K近邻分类三要素 2.1 距离度量 2.2 K值的选择 2.2.1 基于m-fold cross validation的 K值选择 2. ...

  5. 机器学习入门笔记(二):线性模型

    文章目录 一.基本形式 二.线性回归 2.1 离散属性连续化 2.2 最小二乘法 2.3 多元线性回归 2.4 广义线性模型 三.对数几率回归(逻辑回归) 3.1 最大似然估计 四.线性判别分析(LD ...

  6. 机器学习入门笔记(一):模型性能评价与选择

    文章目录 一.训练误差与测试误差 1.1 基本概念 1.2 训练误差 1.3 泛化误差(测试误差) 1.4 过拟合 二.模型评估方法 2.1 留出法(hold-out) 2.2 正则化 2.3 交叉验 ...

  7. 机器学习入门笔记 人工智能 黑马程序员

    机器学习入门笔记 前言 这个是根据"黑马程序员"的一套机器学习课程编写的博客.这篇博客上的案例均为课程里面的,但并没有包含所有案例,只是记录了部分. B站视频地址 文章目录 机器学 ...

  8. 十年公务员转行IT,自学AI三年,他淬炼出746页机器学习入门笔记

    整理 | Jane 编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 近期,梁劲传来该笔记重大更新的消息.<机器学习--从入门到放弃>这本笔记的更新没有停止,在基于 ...

  9. 机器学习入门系列四(关键词:BP神经网络)

    机器学习入门系列四(关键词:BP神经网络) 标签: 机器学习神经网络 2016-01-12 15:28 80人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: 机器学习(3) 作者同类文章X 版 ...

最新文章

  1. 国内第一部IT治理综合图书问世
  2. mysql汉字转拼音函数
  3. MyEclipse的文本编辑器
  4. 石墨变为石墨烯的方法
  5. android service使用handle,android中对Looper、HandlerThread、IntentService的理解及使用方法...
  6. Oracle命令(二):Oracle数据库几种启动和关闭方式
  7. 12名高校教师被降级!打破职称终身制,山东在行动!
  8. springboot 404_Spring Boot(四) 异常处理
  9. xpath修复html错误,【python】xpath解析html文件报错:lxml.etree.XPathEvalError: Invalid expression...
  10. 系统变量之System.getenv()和System.getProperty()
  11. Java 用HTTP的方式发送JSON报文请求
  12. python处理识别图片验证码
  13. 各邮箱的邮件接收服务器和发送服务器
  14. 自由-进化/开源中国众包平台
  15. 普通显示器玩立体游戏|红蓝立体游戏|iZ3D设置办法
  16. selenium勾选复选框(单独勾选+全部勾选)
  17. python怎么使用数据库系统有什么好处_数据库简单介绍
  18. 13、Nepxion Discovery 之 全链路调用链监控
  19. python发html邮件_在python中如何制作发送HTML格式的邮件?
  20. html中添加水印效果

热门文章

  1. hibernate 的三种状态 如何转化的。
  2. 使用MSYS2编译64位gvim
  3. 第六周作业----测试自动化工具
  4. 数据库软件dbForge Studio for MySQL更新至v.6.1
  5. [转][C#]Environment 类
  6. lua OOP实现对象的链式调用
  7. [已解决问题] Could not find class XXX referenced from method XXX.YYY
  8. Akka边学边写(3)-- ByteString介绍
  9. 傳統經理人的迷思(转)
  10. LeetCode《编程能力入门》刷题笔记(34 题全)