机器学习:朴素贝叶斯算法的原理及应用场景、优缺点简单介绍

一、朴素贝叶斯算法概述

朴素贝叶斯是一种基于贝叶斯定理的简单概率分类算法。它假设特征之间相互独立,这是其“朴素”的由来。

二、贝叶斯定理基础

贝叶斯定理是整个算法的核心,其公式如下:

P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

在分类问题中,我们设 A A A为类别变量(如垃圾邮件和非垃圾邮件类别), B B B为特征向量(如邮件中的单词出现情况)。

三、算法原理细节

  1. 先验概率计算

    • 对于训练数据集中的每个类别 y i y_i yi,先验概率 P ( y i ) P(y_i) P(yi)的计算如下:

    P ( y i ) = N y i N P(y_i)=\frac{N_{y_i}}{N} P(yi)=NNyi
    其中 N y i N_{y_i} Nyi是属于类别 y i y_i yi的样本数量, N N N是总的样本数量。例如,若有100封邮件,其中60封是非垃圾邮件,那么非垃圾邮件的先验概率 P ( y = 非垃圾邮件 ) = 60 100 = 0.6 P(y =非垃圾邮件)=\frac{60}{100}=0.6 P(y=非垃圾邮件)=10060=0.6

  2. 条件概率计算

    • 对于离散型特征 x j x_j xj,在类别 y i y_i yi下的条件概率 P ( x j ∣ y i ) P(x_j|y_i) P(xjyi)计算公式为:

    P ( x j ∣ y i ) = N y i , x j N y i P(x_j|y_i)=\frac{N_{y_i,x_j}}{N_{y_i}} P(xjyi)=NyiNyi,xj
    这里 N y i , x j N_{y_i,x_j} Nyi,xj是在类别 y i y_i yi中特征 x j x_j xj出现的次数, N y i N_{y_i} Nyi是类别 y i y_i yi中的样本数量。比如在非垃圾邮件类别中,单词“优惠”出现了10次,非垃圾邮件有60封,那么 P ( x = “优惠” ∣ y = 非垃圾邮件 ) = 10 60 = 1 6 P(x =“优惠”|y =非垃圾邮件)=\frac{10}{60}=\frac{1}{6} P(x=优惠”∣y=非垃圾邮件)=6010=61

    • 对于连续型特征,通常假设其服从高斯分布(正态分布)。此时,条件概率计算公式为:

    P ( x j ∣ y i ) = 1 2 π σ y i , j 2 exp ⁡ ( − ( x j − μ y i , j ) 2 2 σ y i , j 2 ) P(x_j|y_i)=\frac{1}{\sqrt{2\pi\sigma_{y_i,j}^2}}\exp\left(-\frac{(x_j - \mu_{y_i,j})^2}{2\sigma_{y_i,j}^2}\right) P(xjyi)=2πσyi,j2 1exp(2σyi,j2(xjμyi,j)2)
    其中 μ y i , j \mu_{y_i,j} μyi,j是类别 y i y_i yi中特征 x j x_j xj的均值, σ y i , j 2 \sigma_{y_i,j}^2 σyi,j2是类别 y i y_i yi中特征 x j x_j xj的方差。

  3. 后验概率计算与分类决策

    • 对于一个待分类的样本 x = ( x 1 , x 2 , ⋯ , x n ) x=(x_1,x_2,\cdots,x_n) x=(x1,x2,,xn),计算它属于每个类别 y i y_i yi的后验概率 P ( y i ∣ x ) P(y_i|x) P(yix)。根据贝叶斯定理和朴素假设(特征相互独立),可得:

    P ( y i ∣ x ) = P ( x ∣ y i ) P ( y i ) P ( x ) P(y_i|x)=\frac{P(x|y_i)P(y_i)}{P(x)} P(yix)=P(x)P(xyi)P(yi)
    由于 P ( x ) P(x) P(x)对于所有类别都是相同的,在比较不同类别后验概率大小时可以忽略。所以实际计算 P ( y i ∣ x ) P(y_i|x) P(yix)时主要计算 P ( x ∣ y i ) P ( y i ) P(x|y_i)P(y_i) P(xyi)P(yi),而根据朴素假设 P ( x ∣ y i ) = ∏ j = 1 n P ( x j ∣ y i ) P(x|y_i)=\prod_{j = 1}^{n}P(x_j|y_i) P(xyi)=j=1nP(xjyi)

    • 最后,通过比较样本 x x x属于各个类别 y i y_i yi的后验概率 P ( y i ∣ x ) P(y_i|x) P(yix),将样本分类到后验概率最大的类别,即:

    y ^ = arg ⁡ max ⁡ y i P ( y i ∣ x ) \hat{y}=\arg\max_{y_i}P(y_i|x) y^=argyimaxP(yix)

四、应用场景与优势

  1. 应用场景

    • 文本分类:比如垃圾邮件过滤。可以把邮件中的单词作为特征,利用朴素贝叶斯判断邮件是垃圾邮件还是正常邮件。
    • 情感分析:用于分析文本(如产品评论)的情感倾向,是正面还是负面。将评论中的词汇等作为特征来计算概率。
    • 疾病诊断辅助:在医疗领域,以患者的症状作为特征,帮助判断可能患有的疾病类别。
  2. 优势

    • 算法简单易懂,容易实现。其计算过程主要是基于概率公式的统计计算,代码实现较为直观。
    • 对小规模数据表现良好。在数据量不大的情况下,能够快速地训练模型并且得到不错的分类效果。
    • 对缺失数据不太敏感。即使部分特征值缺失,依然可以根据其他特征来计算后验概率进行分类。

五、局限性

  1. 朴素贝叶斯假设特征之间相互独立,这在很多实际情况中并不成立。例如在文本分类中,单词之间往往存在语义关联,像“电脑”和“软件”经常同时出现,这与独立性假设相违背。
  2. 对输入数据的准备方式(如离散化、特征选择等)比较敏感。不同的特征处理方式可能会导致分类结果有较大差异。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1559482.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

小程序知识付费的优势 知识付费服务 知识付费平台 知识付费方法

在信息爆炸的时代,知识如同繁星点点,璀璨而散落。如何在这片知识的海洋中精准捕捞,成为现代人追求自我提升的迫切需求。小程序知识付费,正是这样一座桥梁,它以独特的优势,让智慧触手可及,轻触未…

视频流媒体解决方案,Liveweb国标GB28181视频监控汇聚平台

Liveweb视频监控国标平台指的是基于GB/T 28181协议的视频联网平台,可以对接各种符合国标GB/T 28181协议的视频平台、NVR录像机、网络监控摄像头、执法记录仪、应急布控球、移动单兵、无人机等设备。通过国标平台的联网,方便管理分布在不同地点的视频监控…

笔记 2024/10/9

计组 定点数运算 补码加减法 以及判断溢出方法 原码乘法 下图是手算乘法 下图是原码乘法 因为[Y]原1.10111,所以Y0从低位开取,分别是1,1,1,0,1。(或者说C里面存的原来渐渐被挤掉的[Y]原的低…

评职称需要讲究方法

评职称需要讲究方法 评职称不要太老实 你评三年没下来 你同事走“野路子” 一年就下来了 所以别吃亏了 不走的弯路别走 不该吃的苦别吃 大家如果对于职称评审业绩材料整理还有什么不懂的,可以在评论区留言,甘建二告诉你们怎么报职称,少…

力扣11-盛最多水的容器

题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。…

flask发送邮件

开通邮件IMAP/SMTP服务 以网易邮箱为例 点击开启发送验证后会收到一个密钥,记得保存好 编写代码 安装flask-mail pip install flask-mail在config.py文件中配置邮件信息 MAIL_SERVER:邮件服务器 MAIL_USE_SSL:使用SSL MAIL_PORT&#…

SpringBoot开发——整合Actuator监控和管理Spring Boot 应用

文章目录 1、Spring Boot Actuator2、启用Spring Boot Actuator2.1项目中添加Spring Boot Actuator依赖2.2 启动项目,查看监控信息3、Spring Boot Actuator提供的端点(Endpoints)3.1 端点列表3.2 启用终端节点3.3 暴露端点3.4 常用端点详解1、Spring Boot Actuator Spring …

Umi中的微前端

umi/max 内置了 Qiankun 微前端插件,它可以一键启用 Qiankun 微前端开发模式,帮助您轻松地在 Umi 项目中集成 Qiankun 微应用,构建出一个生产可用的微前端架构系统。 什么是微前端 微前端是一种多个团队通过独立发布功能的方式来共同构建现代…

腾讯云SDK 下载

产品体验 App 移动端-腾讯云音视频 App 您可以下载腾讯云音视频 App,体验音视频终端 SDK 产品家族中各个子产品 SDK 的应用场景。 平台 iOS Android Demo 体验    Web 端-Web D…

88、Python之鸭子类型:函数是对象,对象也可以像函数一样使用

引言 在前面的文章中,我们曾经反复提及的理念,“Python中一切皆对象”。在这个理念支持下,Python中的函数也是对象的一种,那么我们有没有办法自定义对象,像函数一样来使用呢。 按照鸭子类型的理念来看,如…

【Delphi】使用并行数组和有序字典加快 Delphi RTL 速度(D12.2)

Delphi 12.2新增功能比较多,但 Delphi 运行时库(RTL)中的一些增强功能值得一提。比如: 新 TParallelArray 类 System.Threading 单元中有一个新的 TParallelArray 类,可以在数组项上并行运行 &For 和排序等操作。 在多核系统…

【有啥问啥】 群体智能(Swarm Intelligence):从自然到人工智能的深度探索

群体智能(Swarm Intelligence):从自然到人工智能的深度探索 什么是群体智能? 群体智能(Swarm Intelligence)是一个迷人的研究领域,它专注于社会性生物(如蚂蚁、蜜蜂、鸟类等&#…

ML 系列:机器学习和深度学习的深层次总结(16) — 提高 KNN 效率-使用 KD 树和球树实现更快的算法

一、说明 在机器学习系列的第 16 节,我们重点介绍了提高 K 最近邻 (KNN) 算法的效率,这是一种广泛用于分类和回归任务的方法。虽然 KNN 简单有效,但对于大型数据集来说,其计算成本可能会令人望而却步。为了…

实验室认证需要准备哪些文件材料?

实验室认证需要准备的文件材料通常包括以下几类: 一、法律地位文件 实验室成立文件及营业执照:包括实验室的成立证明文件、单位营业执照等,以证明实验室的法律地位和合法性。 人员任命文件:最高管理者(如总经理&…

Android 10.0 修改Systemui三键导航栏虚拟按键颜色功能实现

1.前言 在10.0的系统ROM定制化开发中,在对systemui的相关定制化开发中,在某些产品中,需要修改相关的 导航栏三键导航的虚拟按键的颜色,修改掉原来默认的虚拟按键的黑白色,接下来就来实现相关的功能 2.修改Systemui三键导航栏虚拟按键颜色功能实现的核心类 frameworks\ba…

图像处理(一)——CMC特刊推荐

特刊征稿 01 期刊名称: Data and Image Processing in Intelligent Information Systems 截止时间: 提交截止日期:2024年11月15日 目标及范围: 感兴趣的主题包括但不限于: 先进的数据处理技术; 智能数据分析; 智能系统…

【芯智雲城】Nanya车规DRAM存储解决方案

一、车规级芯片的特点: 汽车电子零部件的关键因素是以下两点: 1、可靠性(Reliability):要求部件必须能够承受日常使用的严酷和极端的温度、湿度、机械振动、冲击及车辆的复杂电气和电磁环境。 AEC-Q100对汽车零件工…

ARMv7/v8m GCC Compilation

00-Guide01-Toolchains02-GNU binutils03-ELF file04-Compilation process05-CFLAGS options06- Linker Scripts07 -Link Options08-Map file09-Static and dynamic lib10-Secureboot and image11-Builtin functions12-Function Attributes

聚合数字力量,数字产业集团构建产业互联新平台!

在数字经济蓬勃发展的今天,数字产业集团正以其强大的聚合力,引领着一场前所未有的产业互联革命。近日,中国信息协会产业互联网分会发布的《中国产业互联网平台数据地图》显示,全国已有超过1000家产业互联网平台企业,覆…

Kubernetes简介与部署+Pod管理与优化

一、简介 1.基础信息 在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年Borg系统运行管理着成干上万的容器应用。Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统…