机器学习-朴素贝叶斯分类器

  • 概述
  • 定义
    • 贝叶斯方法
    • 朴素贝叶斯算法
  • 算法原理
  • 优缺点
    • 优点
    • 缺点
  • 应用
    • 文本分类
    • 其他

概述

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。
朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。

定义

贝叶斯方法

贝叶斯方法是以贝叶斯原理为基础,使用概率统计的知识对样本数据集进行分类。由于其有着坚实的数学基础,贝叶斯分类算法的误判率是很低的。贝叶斯方法的特点是结合先验概率和后验概率,即避免了只使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象。贝叶斯分类算法在数据集较大的情况下表现出较高的准确率,同时算法本身也比较简单。

朴素贝叶斯算法

朴素贝叶斯算法(Naive Bayesian algorithm) 是应用最为广泛的分类算法之一。
朴素贝叶斯方法是在贝叶斯算法的基础上进行了相应的简化,即假定给定目标值时属性之间相互条件独立。也就是说没有哪个属性变量对于决策结果来说占有着较大的比重,也没有哪个属性变量对于决策结果占有着较小的比重。虽然这个简化方式在一定程度上降低了贝叶斯分类算法的分类效果,但是在实际的应用场景中,极大地简化了贝叶斯方法的复杂性。

算法原理

朴素贝叶斯分类(NBC)是以贝叶斯定理为基础并且假设特征条件之间相互独立的方法,先通过已给定的训练集,以特征词之间独立作为前提假设,学习从输入到输出的联合概率分布,再基于学习到的模型,输入X求出使得后验概率最大的输出Y

设有样本数据集

对应样本数据的特征属性集为

类变量为

D可以分为ym类别。其中

相互独立且随机,则Y的先验概率Pprior = P(Y),Y的后验概率Ppost = P(Y|X),由朴素贝叶斯算法可得,后验概率可以由先验概率Pprior = P(Y)、证据P(X)、类条件概率P(X|Y)计算出:

朴素贝叶斯基于各特征之间相互独立,在给定类别为y的情况下,上式可以进一步表示为下式:

由以上两式可以计算出后验概率为:

由于*P(X)*的大小是固定不变的,因此在比较后验概率时,只比较上式的分子部分即可。因此可以得到一个样本数据属于类别yi的朴素贝叶斯计算如下图所示:

优缺点

优点

朴素贝叶斯算法假设了数据集属性之间是相互独立的,因此算法的逻辑性十分简单,并且算法较为稳定,当数据呈现不同的特点时,朴素贝叶斯的分类性能不会有太大的差异。换句话说就是朴素贝叶斯算法的健壮性比较好,对于不同类型的数据集不会呈现出太大的差异性。当数据集属性之间的关系相对比较独立时,朴素贝叶斯分类算法会有较好的效果。

缺点

属性独立性的条件同时也是朴素贝叶斯分类器的不足之处。数据集属性的独立性在很多情况下是很难满足的,因为数据集的属性之间往往都存在着相互关联,如果在分类过程中出现这种问题,会导致分类的效果大大降低。

应用

文本分类

分类是数据分析和机器学习领域的一个基本问题。文本分类已广泛应用于网络信息过滤、信息检索和信息推荐等多个方面。数据驱动分类器学习一直是近年来的热点,方法很多,比如神经网络、决策树、支持向量机、朴素贝叶斯等。相对于其他精心设计的更复杂的分类算法,朴素贝叶斯分类算法是学习效率和分类效果较好的分类器之一。直观的文本分类算法,也是最简单的贝叶斯分类器,具有很好的可解释性,朴素贝叶斯算法特点是假设所有特征的出现相互独立互不影响,每一特征同等重要。但事实上这个假设在现实世界中并不成立:首先,相邻的两个词之间的必然联系,不能独立;其次,对一篇文章来说,其中的某一些代表词就确定它的主题,不需要通读整篇文章、查看所有词。所以需要采用合适的方法进行特征选择,这样朴素贝叶斯分类器才能达到更高的分类效率。

其他

朴素贝叶斯算法在文字识别, 图像识别方向有着较为重要的作用。 可以将未知的一种文字或图像,根据其已有的分类规则来进行分类,最终达到分类的目的。

现实生活中朴素贝叶斯算法应用广泛,如文本分类,垃圾邮件的分类,信用评估,钓鱼网站检测等等。

机器学习-朴素贝叶斯分类器相关推荐

  1. 机器学习—— 朴素贝叶斯分类器

    朴素贝叶斯分类器简述 条件概率 贝叶斯公式 拉普拉斯平滑 文本向量化 MultinomialNB 条件概率 在进入朴素贝叶斯分类算法的学习之前,我们需要先了解一些概率论的知识,首先来看看条件概率吧. ...

  2. 机器学习实验 - 朴素贝叶斯分类器

    目录 一.报告摘要 1.1 实验要求 1.2 实验思路 1.3 实验结论 二.实验内容 2.1 方法介绍 2.2 实验细节 2.2.1 实验环境 2.2.2 实验过程 2.2.3 实验与理论内容的不同 ...

  3. 机器学习实战 朴素贝叶斯分类器

    基于概率论的分类方法: 朴素贝叶斯 我的微信公众号: s406205391; 欢迎大家一起学习,一起进步!!! k-近邻算法和决策树会给出"该数据属于哪一类"的明确回答.不过,分类 ...

  4. 机器学习算法 - 朴素贝叶斯分类器

    ​ 一.算法简介 1.1 背景 监督学习分为生成模型 (generative model) 与判别模型 (discriminative model) 判别模型:SVM, LR, KNN, NN, CR ...

  5. 机器学习:朴素贝叶斯分类器,决策函数向量化处理,mask使用技巧

    文章目录 前面实现的朴素贝叶斯分类器,决策函数是非向量化的: 借助于numpy向量化处理,相当于并行计算,注意mask使用技巧,用途较广: 前面实现的朴素贝叶斯分类器,决策函数是非向量化的: 前面提到 ...

  6. sklearn朴素贝叶斯分类器_python机器学习:方法链和朴素贝叶斯分类器

    今天我们在学习朴素贝叶斯分类器之前,我们先来总结下前面经常用到的内容,方法链:在scikit-learn中所有模型的fit方法返回的都是self.我们用一行代码初始化模型并拟合,对应代码如下:logr ...

  7. python机器学习案例系列教程——文档分类器,朴素贝叶斯分类器,费舍尔分类器

    全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 github地址:https://github.com/626626cdllp/data-mining/tree/master/Bay ...

  8. 机器学习算法——贝叶斯分类器3(朴素贝叶斯分类器)

    基于贝叶斯公式来估计后验概率P(c|x)的主要困难在于:类条件概率P(x|c)是所有属性上的联合概率,难以从有限的训练样本直接估计而得. 为避开这个障碍,朴素贝叶斯分类器(Naive Bayes cl ...

  9. 机器学习(3)高斯判别分析朴素贝叶斯分类器

    判别模型与生成模型 判别模型 判别模型是对观测数据进行直接分类,常见的判别模型有逻辑回归和感知机算法等.此模型仅对数据进行分类,并不能具象化或者量化数据本身的分布状态,因此也无法根据分类生成可观测的图 ...

最新文章

  1. PyTorch 安装和基本运算— Tensor 的数据类型(浮点型、整型、随机浮点型等)、基本运算(绝对值、求和、裁剪、求商、求积、求幂等)、Tensor 与 Numpy 转换
  2. 删除coredump内容
  3. 关于linux 内存碎片指数
  4. mysql代码生成器_MYSQL语句生成器
  5. pygame.mixer.Sound()语句提示错误:pygame.error: Unable to open file 'test.wav'
  6. 这帮吃货程序猿,给阿里食堂来了一波骚操作
  7. 第41章 实施数据库审计
  8. Mysql学习笔记(一)数据类型
  9. 「mac操作指南」WidsMob HEIC将HEIC/HEIF 转换为 JPEG/PNG/TIFF格式
  10. 基于PHP+MySQL游戏商城销售网站的设计与实现#计算机毕设
  11. GEE(Google Earth Engine)批量导入谷歌云盘
  12. 两种办法解决外网资源下载速度过慢的问题
  13. 矩阵求导法则,梯度求导方式
  14. 微信又悄悄更新了,快看看你的微信表情发生了哪些变化
  15. Java 阴阳历转换
  16. meta标签中的name属性和http-equiv属性解析
  17. 新农具时代,拼多多的进击与本分
  18. php怎么生成一个文件夹里,php创建文件夹目录的教程
  19. 按照题目打印菜单c语言,--单片机C语言编程实训
  20. Windows 10 任务管理器重置偏好设置

热门文章

  1. 华为USG系列防火墙配置-网页端登录管理
  2. iphone5s 白苹果 刷机步骤
  3. android八核手机,三星八核手机有哪些?震撼全场!【图文】
  4. Legacy和UEFI,MBR和GPT的区别
  5. CF1025D Recovering BST
  6. Python简单购买苹果案例
  7. 用lua解决八皇后问题
  8. 深度学习时代的视频理解综述
  9. ipad windows 文件共享(Samba)
  10. python极简教程_Python 极简教程(一)前言