朴素贝叶斯算法

朴素贝叶斯算法原理及实现 1、准备知识 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。 这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。这里先解释什么是条件概率: 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。其基本求解公式为: 下面不加证明地直接给出贝叶斯定理: 2、朴素贝叶斯分类 2.1、朴素贝叶斯分类原理 朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类 阅读详情

概率基础

概率

概率表示为0到1之间的数字,含义是某一事件或者预测行为的可信程度,1值表示“事件为真”的情形肯定发生,或表述为预测为真;而0值表示“事件为真”这一情形为假。

条件概率

条件概率是带有某些(前提条件)背景约束下的概率问题。

P(A|B)=P(A,B)P(B)P(A|B)=P(A,B)P(B)
联合概率

联合概率是指两个事件同时发生的概率。P(A, B)是A和B事件的发生都为真的概率。

例1:投硬币,A与B独立

P(A,B)=P(A)P(B)P(A,B)=P(A)P(B)

例2:事件不独立。A表示今天下雨的事件、B表示明天会下雨的事件。今天下雨,明天还有可能下雨的:

P(B|A)>P(B)P(B|A)>P(B)

联合概率为:对于任何A、B事件,如果任意一天下雨的机会是0.5,连续两天就不会是0.25,而是可能更高一点。

P(A,B)=P(A)P(B|A)P(A,B)=P(A)P(B|A)
The Rules of Probability

sum rule: (求离散变量X的边缘概率分布)

p(X)=∑Yp(X,Y)p(X)=∑Yp(X,Y)

product rule: (或称为条件概率的链式法则)

p(X,Y)=p(Y|X)p(X)p(X,Y)=p(Y|X)p(X)

P(X,Y,Z)=P(X|Y,Z)P(Y,Z)P(X,Y,Z)=P(X|Y,Z)P(Y,Z)

P(Y,Z)=P(Y|Z)P(Z)P(Y,Z)=P(Y|Z)P(Z)

P(X,Y,Z)=P(X|Y,Z)P(Y|Z)P(Z)P(X,Y,Z)=P(X|Y,Z)P(Y|Z)P(Z)

全概率公式

p(X)=p(X|Y1)p(Y1)+P(X|Y2)p(Y2)+...P(X|Yn)p(Yn)p(X)=p(X|Y1)p(Y1)+P(X|Y2)p(Y2)+...P(X|Yn)p(Yn)
贝叶斯定理 (Bayes’ theorem)

p(Y|X)=p(X|Y)p(Y)p(X)p(Y|X)=p(X|Y)p(Y)p(X)
  • p(Y)称为先验概率,即在得到新数据前某一假设的概率。
  • P(Y|X)称为后验概率,即在看到新数据后,我们要计算的该假设的概率。
  • P(X|Y)是该假设下得到这一数据的概率,称为似然度。
  • P(X)是在任何假设下得到这一数据的概率,称为标准化常量。

Naive Bayes classifier

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。

优点:对无关特征的处理能力十分彪悍,无关特征会被自然忽略掉,朴素贝叶斯分类器学习和预测的速度都很快,并且不需要很大的存储空间。

假设:条件独立假设,所有特征需要相互独立。(实践中独立假设往往不成立,但是仍然能够达到非常好的效果)

原理:朴素贝叶斯的核心功能是跟踪哪个特征在哪个类别中出现。

P(C|F1F2)=P(C)∙P(F1F2|C)P(F1,F2)P(C|F1F2)=P(C)∙P(F1F2|C)P(F1,F2)

即:

这里写图片描述

由条件独立假设(假设每个属性独立地对分类结果产生影响)可以得:

P(C|F1F2)=P(C)∙P(F1F2|C)P(F1,F2)=P(C)∙P(F1|C)∙P(F2|C,F1)P(F1,F2)=P(C)∙P(F1|C)∙P(F2|C)P(F1,F2)P(C|F1F2)=P(C)∙P(F1F2|C)P(F1,F2)=P(C)∙P(F1|C)∙P(F2|C,F1)P(F1,F2)=P(C)∙P(F1|C)∙P(F2|C)P(F1,F2)

朴素贝叶斯对真实概率并不感兴趣,只是注重哪个类别更有可能:

Cbest=argmaxc∈CP(C=c)∙P(F1|C=c)∙P(F2|C=c)Cbest=argmaxc∈CP(C=c)∙P(F1|C=c)∙P(F2|C=c)

即最大后验估计(Maximum a posteriori, MAP) :

Cbest=argmaxc∈CP(C=c)∙∏1≤k≤ndP(Fk|C=c)Cbest=argmaxc∈CP(C=c)∙∏1≤k≤ndP(Fk|C=c)

朴素贝叶斯分类器的训练过程就是基于训练集来估计类先验概率P(C),并为每个属性估计条件概率P(F|C)

这里写图片描述
上式估计了文档d属于类别c的概率,假设文档长度为n_d,F_k是单词。

P(c)=DcDP(c)=DcD

这里写图片描述

(极大似然估计)

应用:文本分类(垃圾邮件分类器、情感分类等)。

Engineering tricks

考虑零概率(未出现的词语和其他古怪情况)

计算 P(F|C) 时:加1平滑(加法平滑、拉普拉斯平滑),假装每个词语至少出现了一次。分子加1、分母加n。

P(C)=Df+1D+NP(C)=Df+1D+N

这里写图片描述

(先验概率的贝叶斯估计):

P(C)=Df+λD+KλP(C)=Df+λD+Kλ

lambda=0时就是极大似然估计,可能会出现所有估计的概率为0的情况,这时会影响到后验概率的计算结果,使分类产生偏差,解决这一问题的方法是使用贝叶斯估计。常取lambda=1,这时称为拉普拉斯平滑(Laplace smoothing)

拉普拉斯修正实际上假设了属性值和类别的均匀分布,在学习过程中额外引入了先验识。

考虑算术下溢

取对数:

log(x∙y)=log(x)+log(y)log(x∙y)=log(x)+log(y)

概率值由 0-1 转换成 负无穷到0,较高的值预示正确的类别。

所以:

Cbest=argmaxc∈C(logP(C=c)+∑kP(Fk|C=c)Cbest=argmaxc∈C(logP(C=c)+∑kP(Fk|C=c)

实现

sklearn.naive_bayes

  • GaussianNB
  • MultinomialNB
  • BerboulliNB

《统计学习方法》 P47

《Think Bayes》

《Building Machine Learning Systems with Python》 P90

《Machine Learning in Action》 P53

【JAVA实现】朴素贝叶斯分类算法 之前博客提到的KNN算法以及决策树算法都是要求分类器给出“该数据实例属于哪一类”这类问题的明确答案,正因为如此,才出现了使用决策树分类时,有时无法判定某一测试实例属于哪一类别。使用朴素贝叶斯算法则可以避免这个问题,它给出了这个实例属于某一类别的概率值,然后通过比较概率值,可以找到该实例最有可能属于哪一类别。        该算法可以用如下形式表示:        直接求解概率值很困难, 阅读详情

相关推荐

博图软件V15.1安装教程

博途软件安装

m0_46266496的博客 1万+

【机器学习】朴素贝叶斯算法

朴素贝叶斯(Naive Bayes)是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法。由于朴素贝叶斯计算联合概率,所以朴素贝叶斯模型属于生成式模型。经典应用案例包括:文本分类、垃圾邮件过滤等。

Dong_ZH的博客 1万+

gseapy python包GO、KEGG富集(注释)分析

文档案例参考:https://gseapy.readthedocs.io/en/latest/gseapy_example.html#Over-representation-analysis-by-Enrichr-web-services安装:建议安装最新版(这里安装的1.04):https://github.com/zqfang/GSEApy/releases。

weixin_42357472的博客 3609

机器学习算法(7)—— 朴素贝叶斯算法

朴素贝叶斯是一种分类算法,经常被用于文本分类,它的输出结果是某个样本属于某个类别的概率。(1)优点朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率对缺失数据不太敏感,算法也比较简单,常用于文本分类分类准确度高,速度快(2)缺点由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好需要计算先验概率,而先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳;

hu_wei123的博客 9582

【LaTex】3.4 立体几何

本文介绍了使用LaTeX的tikz包绘制立体几何图形的两种方法。首先展示了基础立方体的绘制代码,通过定义8个顶点坐标并连接各边完成绘制。接着讲解了scope功能在3D绘图中的应用,包括标准平面(xy、xz、yz)的绘制方法,以及任意平面的定义技巧。重点说明了如何通过定义平面原点、x和y方向单位向量来创建旋转后的绘图平面,并以45°旋转的yz平面为例演示了圆的绘制。文章提供了完整的代码示例和对应的效果图示,展示了tikz在3D绘图中的灵活性和强大功能。

你的指尖有改变世界的力量 2452

运放单电源供电和双电源供电的实际应用案例

文章摘要:本文对比分析了运放单电源与双电源供电的典型应用场景及电路设计要点。单电源供电适用于低成本、小体积设备,如便携音箱(5V供电+中点偏置)、工业4-20mA信号转换(12V供电+电压跟随)和物联网传感器(3.3V低功耗设计);双电源供电则适合高精度要求场景,如Hi-Fi音响(±15V对称输出)、医疗设备(±5V微弱信号放大)和精密仪器(±15V宽动态范围)。文末提供常见运放选型对照表,涵盖LM324、TL082等型号的供电参数与核心特性,为不同应用场景提供选型参考。(149字)

qq_37999850的博客 607

机器学习算法——朴素贝叶斯算法

朴素贝叶斯算法是一种经典的概率分类算法,它基于贝叶斯定理和特征独立性假设。该算法常被用于文本分类、垃圾邮件过滤、情感分析等领域。朴素贝叶斯算法的核心思想是通过已知类别的训练样本集,学习出每个类别的概率分布模型,然后根据待分类样本的特征,利用贝叶斯定理计算出样本属于各个类别的后验概率,最终选择具有最大后验概率的类别作为分类结果。在朴素贝叶斯算法中,特征之间被假设为相互独立,这是为了简化计算。尽管这个假设在现实问题中并不总是成立,但朴素贝叶斯算法仍然表现出良好的分类效果。

huangQK的博客 1981

17 指挥AI写Mamba相关模型代码,快速适配大模型场景

本文为《30天掌控AI编程:从指令到落地,手把手教你指挥AI写代码》系列第十七篇,属于第三阶段多场景实战核心内容。本篇聚焦当下大模型领域热门的**Mamba架构**,针对零基础大模型开发、无深度学习基础的使用者,拆解指挥AI生成Mamba基础模型、微调适配、推理部署代码的核心方法,覆盖Mamba基础模块搭建、简易序列建模、小样本微调、本地推理等高频场景,提供可直接复用的高质量指令模板、完整可运行代码、环境配置与避坑指南,无需精通Transformer、状态空间模型等底层原理,轻松上手Mamba大模型开发。

coreopt的博客 61

【朴素贝叶斯】深入浅出讲解朴素贝叶斯算法(公式、原理)

朴素贝叶斯(Naive Bayes)是一种简单经典的分类算法,它的经典应用案例为人所熟知:文本分类(如垃圾邮件过滤)。条件概率:记事件A发生的概率为P(A),事件B发生的概率为P(B),则在B事件发生的前提下,A事件发生的概率即为条件概率,记为P(A|B)。

程序星空实验室 5万+

「JS逆向三百例」JS逆向HIKVISION-视频监控的前端密码加密

本文详细分析了HIKVISION-海康威视监控前端登录过程中密码的加密机制,通过逆向工程解析了其 JavaScript 加密逻辑,重点研究了HIKVISION-海康威视监控的前端密码SHA256加密算法的实现。基于逆向分析结果,使用 Python 模拟了HIKVISION-海康威视监控的登录流程,最终实现了自动化登录功能。本文旨在为安全研究人员提供技术参考,帮助理解前端加密机制,并强调技术研究的合法性和合规性。

布啦啦 1095

C# 与蓝牙 BLE 设备通信:基于 Windows.Devices.Bluetooth 实现手环/传感器数据读取

本文介绍了如何利用C#的Windows.Devices.Bluetooth命名空间实现与蓝牙BLE设备的通信。首先概述了BLE技术特性及其在物联网中的应用场景,包括智能穿戴设备和传感器。随后讲解了BLE的GATT协议架构,解析了服务(Service)和特性(Characteristic)的概念。文章重点展示了通过C#实现设备扫描、连接、数据读取的完整代码示例,并详细说明了如何使用通知(Notifications)功能实现实时数据更新。最后提供了订阅心率测量特性变化的实现代码,为开发者提供了完整的BLE设备通

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1321

朴素贝叶斯算法_经典算法之朴素贝叶斯

本篇大纲:1、朴素贝叶斯算法简介2、朴素贝叶斯的三种类型3、朴素贝叶斯的两种平滑方式4、sklearn中相关API讲解上期回顾1、我们先列举了聚类算法的几种类型,包括原型聚类、层次聚类、密度聚类和其它聚类。并罗列出相应聚类算法中的一些典型聚类算法。2、我们阐述了聚类算法的评价指标,分为有标签(出于学习和研究目的)和无标签(出于真实应用场景)情况下的评价指标。其中,有标签时的评价指标有:混...

weixin_39637975的博客 6319

面向红外小目标检测的SCTransNet:模型优势解析、代码实现与完整复现指南

摘要:本文详细介绍了基于SCTransNet的红外小目标检测全流程实践方案。针对红外小目标检测面临的三大挑战(特征稀缺、背景干扰、尺度变化),SCTransNet通过空-通道交叉注意力机制有效增强目标特征。文章包含完整的PyTorch实现代码,涵盖特征提取、注意力模块、多尺度融合等核心组件,并提供模型训练、评估的具体方法。同时给出毕设创新方向的建议,如模型轻量化、多模态融合等,帮助提升研究深度。该方案技术难度适中,应用价值明确,是红外目标检测领域理想的毕设选题方向。

m0_71589036的博客 4759

朴素贝叶斯算法原理与Python实现

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法[1]。 最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBM)。和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并...

apollo_miracle的博客 5597

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

朴素贝叶斯分类算法简单实例

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。这篇文章我尽可能用直白的话语总结一下我们学习会上讲到的朴素贝叶斯分类算法,希望有利于他人理解。 1 分类问题综述 对于分类问题,其实谁都不会陌生,日常生活中我们每天都进行着分类过程。例如,当你看到一个人,你的脑子下意识判断他是学生还是社会上的人;你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱”之类的话,其实这就是一种分类操作。 ..

signal___的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

朴素贝叶斯算法的介绍

朴素贝叶斯算法(Naive Bayes Algorithm)是一种基于贝叶斯定理和特征独立性假设的概率分类算法。它被广泛应用于文本分类、垃圾邮件过滤、情感分析等任务。朴素贝叶斯算法的基本思想是基于训练数据中的特征和标签之间的概率关系,通过计算后验概率来进行分类预测。朴素贝叶斯分类算法alpha:拉普拉斯平滑系数。

Despicable_Me的博客 8074

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

机器学习之朴素贝叶斯算法的详解(包含高斯朴素贝特斯、多项式朴素贝叶斯、伯努利朴素贝叶斯,以及相应算法的简单实现)

机器学习18_贝叶斯算法详解(2021.06.02) 一. 朴素贝叶斯算法 为什么需要朴素贝叶斯算法? 比如说,我们想预测一个人究竟是否能够侥幸在空难中生还,那么我们就需要建立一个分类模型来学习我们的训练集。在训练集中,其中一个人的特征是30岁,男,普通舱,他最终在空难中去世了。训练完成后,当我们使用训练好的模型进行测试的时候,测试的目标的特征也是30岁,男,普通舱,那么我们的模型必然会给这个人打上去世的标签。然而事实却不一定为此,也许这个人正好坐在了离逃生口最近的位置,他得到了第一时间的救治而生存下来了

weixin_40247876的博客 7653

java朴素贝叶斯算法_数据分类朴素贝叶斯算法

1.贝叶斯公式一般情况下,令F1,F2,...,FN表示一组互不相容事件,在E(新的证据)已发生的情况下,Fk发生的概率为:贝叶斯公式其中:·P(Fk)称为先验概率(Prior Probability)·P(E|Fk)称为类似然(Class Likelihood)·分母称为证据(Evidence)·P(Fk|E)称为后验概率(Posterior Probability)2.贝叶斯...

weixin_29288653的博客 471

朴素贝叶斯算法总结

对于给定观测数据 D(如文本、邮件等)和可能的类别 h(如不同类别标签、垃圾邮件 / 正常邮件等),计算后验概率 P (h|D) 时,根据贝叶斯公式可得:P (h|D)=[P (h)×P (D|h)]/P (D)。由于 P (D) 对于不同 h 是常数,比较不同 h 的后验概率时可忽略,因此只需计算 P (h)×P (D|h),即 “先验概率 × 条件概率” 来判断类别。”,即假设样本的各个特征之间相互独立,互不影响。这一假设简化了计算,使得在处理多特征问题时,无需考虑特征间的复杂关联。

Y20030916的博客 1656

朴素贝叶斯算法以及案例

朴素贝叶斯算法以及案例 大家好,我是W 这次给大家带来朴素贝叶斯算法,贝叶斯分类是一类分类算法的总称,其基础都是贝叶斯定理。要理解该算法就需要先理解其背后的概率知识,我会尽量详细地给大家讲解清楚。所以今天的顺序是:贝叶斯理论和条件概率、朴素贝叶斯原理、案例 - insultingComments分类。 Bayes贝叶斯理论 假设在坐标轴中存在两类点,分别对应着两个类别。接下来我们要对新加入的点进行分类,我们要怎么做?可能会联想到之前的KNN算法,这也是一个思路。但是在这里可以考虑使用贝叶斯决策:即我们可以认

Alian_W的博客 4967

朴素贝叶斯分类算法

P特征∣类别×P类别P类别P特征∣类别。

m0_73676887的博客 1970
上一篇: Linear Regression及各种线型回归在正则化中的应用
下一篇: 逻辑回归
Shingle_
博客等级 码龄10年 185粉丝 191原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值