朴素贝叶斯学习算法原理

机器学习之朴素贝叶斯算法原理+Python实现 朴素贝叶斯 1.简介 ​ 贝叶斯分类算法是统计学中的一种概率分类方法,朴素贝叶斯分类是贝叶斯分类中最简单的一种。其分类原理就是利用贝叶斯公式根据某特征的先验概率计算出其后验概率,然后选择具有最大后验概率作为该特征所属的类。 ​ 之所以称之为“朴素”,是因为贝叶斯分类只做最原始、最简单的假设:所有的特征之间是相对独立的。 2.数学基础 2.1相对独立 ​ 假设X有x1,x2,…xn个特征,P(x) = P(x1)P(x2)…P(xn) 2.2条件概率 假设有A,B两个事件,在B事件发生的条件下,A事件发生的概 阅读详情

要了解朴素贝叶斯学习算法,我们先从贝叶斯决策论说起。

贝叶斯决策论

贝叶斯决策论是一种在概率框架下实施决策的基本方法,通过概率计算来训练学习模型,其基本思想非常简单。
具体来说,假设有N种可能的类别标记,即 Y={c1,c2,c3,…,cN} Y = { c 1 , c 2 , c 3 , … , c N } , λij λ i j 是一个将真实标记为 cj c j 的样本误标记为 ci c i 所产生的损失,基于后验概率 P(ci|x⃗ ) P ( c i | x → ) 可获得将样本 x⃗  x → 分类为 ci c i 所产生的期望损失,即在样本 x⃗  x → 上产生的“风险条件”:

R(ci|x⃗ )=∑j=1NλijP(cj|x⃗ ) R ( c i | x → ) = ∑ j = 1 N λ i j P ( c j | x → )

我们的任务是,找到一个判断准则 h:X→Y h : X → Y 以最小化总体风险。


贝叶斯判断准则:为最小化总体风险,只需要在每个样本上选择那个能使条件风险 R(c|x⃗ ) R ( c | x → ) 最小的标记类别,即

h∗(x⃗ )=argminc∈YR(c|x⃗ ) h ∗ ( x → ) = a r g m i n c ∈ Y R ( c | x → )
此时,称 h∗ h ∗ 为贝叶斯最优分类器。


若目标是最小化分类错误率,则误判损失 λij λ i j 可写为:

λij={01i=ji≠j λ i j = { 0 i = j 1 i ≠ j

此时,条件风险为 R(c|x⃗ )=1−P(c|x⃗ ) R ( c | x → ) = 1 − P ( c | x → ) ,于是,最小化分类错误率的贝叶斯最优分类器为
h∗(x⃗ )=argmaxc∈YP(c|x⃗ ) h ∗ ( x → ) = a r g m a x c ∈ Y P ( c | x → )

即对每个样本 x⃗  x → ,选择能使后验概率 P(c|x⃗ ) P ( c | x → ) 最大的标记类别。
基于贝叶斯定理, P(c|x⃗ ) P ( c | x → ) 可写为
P(c|x⃗ )=P(x⃗ ,c)P(x⃗ )=P(c)P(x⃗ |c)P(x⃗ ) P ( c | x → ) = P ( x → , c ) P ( x → ) = P ( c ) P ( x → | c ) P ( x → )
其中, P(c) P ( c ) 是类先验概率, P(x⃗ |c) P ( x → | c ) 是样本 x⃗  x → 相对于类标记c的类条件概率,或称为“似然”, P(x⃗ ) P ( x → ) 是用于归一化的“证据”因子。此时,则有
h∗(x⃗ )=argmaxc∈YP(c|x⃗ )=argmaxc∈YP(c)P(x⃗ |c)P(x⃗ ) h ∗ ( x → ) = a r g m a x c ∈ Y P ( c | x → ) = a r g m a x c ∈ Y P ( c ) P ( x → | c ) P ( x → )

可以看出,对于一个特定的样本 x⃗  x → ,其分类结果只与 P(c) P ( c ) 和 P(x⃗ |c) P ( x → | c ) 有关,此时问题便转化为通过训练集求出 P(c) P ( c ) 和 P(x⃗ |c) P ( x → | c ) ,不同的求法便产生了不同的学习算法。

朴素贝叶斯

  • 对于类先验概率 P(c) P ( c ) ,直观上可以通过
    P(c)=|Dc||D| P ( c ) = | D c | | D |
    来求。
  • 对于样本 x⃗  x → 的类条件概率 P(x⃗ |c) P ( x → | c ) ,由于类条件概率 P(x⃗ |c) P ( x → | c ) 是所有属性上的联合概率,当样本维度增加时,计算复杂度呈指数级增长,同时也难以从有限的训练样本直接估计得出。

因此,朴素贝叶斯分类器采用属性条件独立性假设:对已知类别,假设所有属性相互独立。在此假设下,

P(c|x⃗ )=P(c)P(x⃗ |c)Px⃗ =P(c)P(x⃗ )∏i=1dP(xi|c) P ( c | x → ) = P ( c ) P ( x → | c ) P x → = P ( c ) P ( x → ) ∏ i = 1 d P ( x i | c )
其中,d为属性数目, xi x i 为 x⃗  x → 在第i个属性上的取值。
此时,朴素贝叶斯分类器的表达式为
hnb(x⃗ )=argmaxc∈YP(c)∏i=1dP(xi|c) h n b ( x → ) = a r g m a x c ∈ Y P ( c ) ∏ i = 1 d P ( x i | c )
显然,朴素贝叶斯分类器的训练过程就是基于训练集D来估计先验概率P(c),并为每个属性估计条件概率 P(xi|c) P ( x i | c ) 。

注意事项

  • 在具体问题中,很有可能出现 P(xi|c)=0 P ( x i | c ) = 0 的情形,此时,便得到 P(c)∏di=1P(xi|c)=0 P ( c ) ∏ i = 1 d P ( x i | c ) = 0 ,显然,属性 xi x i 中未出现的属性值抹去了其他属性携带的信息,这是不合理的,因此常用“拉普拉斯修正”进行改进。令N表示训练集D中可能的类别数, Ni N i 表示第i个属性可能的取值数,则有
    P^(c)=|Dc|+1|D|+N P ^ ( c ) = | D c | + 1 | D | + N
    P^(xi|c)=|Dc,xi|+1|Dc|+Ni P ^ ( x i | c ) = | D c , x i | + 1 | D c | + N i
    “拉普拉斯修正”实质上假设了属性值与类别均匀分布。
  • 可以看到,结果是一个连乘公式,且对于任意 1≤i≤d 1 ≤ i ≤ d ,均有 P(xi|c)∈(0,1] P ( x i | c ) ∈ ( 0 , 1 ] ,当 d d 较大时,结果可能出现溢出。因此,常对其取log进行运算,公式变为
    log⁡P(c|x→)=log⁡P(c)−logP(x→)+∑i=1dlog⁡P(xi|c)

    hnb(x⃗ )=argmaxc∈Y(logP(c)+∑i=1dlogP(xi|c)) h n b ( x → ) = a r g m a x c ∈ Y ( log ⁡ P ( c ) + ∑ i = 1 d log ⁡ P ( x i | c ) )

理论结合实践。为此,我编写了朴素贝叶斯方法的垃圾邮件分类器,适合初学者使用。

机器学习笔记——5 生成学习算法(线性判别法LDA、二次判别法QDA及朴素贝叶斯NB算法的数学原理及其python实现) 生成学习算法(Generative Learning Algorithm) 本篇介绍另外一种分类算法,这类算法跟之前广义线性模型下的各种分类特例,比如logit分类、softmax分类等,在基本思想有根本的不同,这类算法称为生成学习算法。 本篇将首先介绍生成学习算法的基本思想,以此为基础,介绍在属性值为连续性和离散型下的两类常用的生成学习算法,分别是高斯判别分析(Guass Discriminat... 阅读详情

相关推荐

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

想象你有一堆水果:苹果、香蕉、橙子等。每种水果都有不同的颜色、大小和形状。你从中拿起一个水果,想猜它是什么。朴素贝叶斯算法就像是通过颜色、大小和形状这几个特征,计算每个水果出现的概率,然后给出最有可能的水果名字。朴素贝叶斯算法是一种简单但非常有效的分类算法,尤其在文本分类和高维数据上表现优秀。尽管它的条件独立假设在许多实际问题中不成立,但在很多应用中,朴素贝叶斯依然能够提供令人满意的性能。通过理解贝叶斯定理和朴素贝叶斯的核心假设,可以帮助我们更好地理解和应用该算法。

m0_62599305的博客 855

【机器学习】朴素贝叶斯分类器原理(理论+图解)

  简 介:下面是我在学习时候的记录并加上自己的理解。本文意在记录自己近期学习过程中的所学所得,如有错误,欢迎大家指正。   关键词:Python、机器学习、贝叶斯分类器 一、贝叶斯网络 我们都学过贝叶斯公式,就是 p(b∣a)=p(a∣b)p(b)p(a)p(b|a)=\frac{p(a|b)p(b)}{p(a)}p(b∣a)=p(a)p(a∣b)p(b)​,它表明了两个随机变量之间的概率关系,意思是在a条件发生的前提下,b发生的概率为多大。所以我们可以将这个性质利用到我们的建模..

优快云 精品推荐 3922

机器学习:朴素贝叶斯模型算法原理(含实战案例)

朴素贝叶斯模型是一种非常经典的机器学习模型,它主要基于贝叶斯公式,在应用过程中会把数据集中的特征看成是相互独立的,而不需考虑特征间的关联关系,因此运算速度较快。相比于其他经典的机器学习模型,朴素贝叶斯模型的泛化能力稍弱,不过当样本及特征的数量增加时,其预测效果也是不错的。

阿极的博客 7374

朴素贝叶斯原理详解(Navie Bayes)

朴素贝叶斯原理详解1.知识准备2.贝叶斯定理3.贝叶斯定理在分类中的应用3.1条件独立3.2特征取离散值的条件概率3.3特征取连续值的条件概率高斯贝叶斯分类器:多项式贝叶斯分类器:伯努利贝叶斯分类器:4.条件概率的m估计5.逻辑斯特回归与朴素贝叶斯的区别6.API 1.知识准备 1.贝叶斯分类器要解决的问题: 已知某样本中各个属性的取值, 求其属于某label的概率 2.先验概率与后验概率 先验概率: 根据以往的经验或数据分析得到的概率P(X) 后验概率: 根据先验概率得到的是后验概率P(Y|X) 3.朴素

weixin_43179522的博客 1万+

4D毫米波雷达

详解4D成像毫米波雷达

sangba2019的博客 2392

AU混响终极指南:从‘干声’到‘空间感’,用总音轨和发送技巧打造专业人声

本文详细介绍了如何在Adobe Audition(AU)中使用混响效果器,通过总音轨和发送技巧将‘干声’转化为具有专业‘空间感’的人声。从混响基础原理到总线架构设置,再到精细控制和自动化调整,全面解析了提升音频质量的实用技巧,适用于音乐制作、播客和内容创作。

weixin_30512089的博客 332

机器学习(一)朴素贝叶斯基本原理概述

在机器学习的长河中,有很多判别式模型,比如KNN等等,生成一个f(x)即可对未见实例进行判断,基本不需要利用到概率论的知识。而一些生成式模型,往往利用概率表示样本的分布,从而得出P(X,Y)来对未见实例进行划分,本文所介绍的朴素贝叶斯就是其中的一种。 1. 条件概率 从基础讲起,首先就是大学概率论课程中接触到的条件概率。 表达式如下: P(A|B) 表示在事件B发生的前提下,事件A发生的概率。 ...

杨小浩浩的博客 1458

QuickFix Java 讲解(五)消息的收发与查看

本系列力求手把手教你怎样利用QuickFix Java 搭建自己的 FIX 协议收发平台,以及其中的注意事项。 所有源码的地址(免费): https://github.com/zongzhec/QuickFixPractise 这节我们讨论将Acceptor和Initiator启动以后,收到的消息极其查看方式。 6. 收发双方的通信 6.1. 启动后的通信和登录 为方便起见,这里我们使用统一的源码:https://github.com/zongzhec/QuickFixPractise ..

2246

机器学习之朴素贝叶斯分类器原理详解、公式推导(手推)、面试问题、简单实例(python实现,sklearn调包)

主要内容分为理论推导和代码实现以及面试宝典三个部分。 理论推导主要是贝叶斯的推导以及朴素贝叶斯计算实例。 代码实现包括手动实现朴素贝叶斯和sklearn调用,实例有3个,分别对应离散型诗句和连续型数据两种情况。 面试宝典是一部分《机器学习》中的课后习题和一些面试题。

如果没有躺赢的命,那就站起来奔跑,你的努力一定会对得起这一路的颠沛流离。 2万+

一文带你看懂SAP-HANA的基本架构与原理

创作不易,希望大家一键三连支持!!!♥♥♥创作不易,希望大家一键三连支持!!!♥♥♥创作不易,希望大家一键三连支持!!!♥♥♥。

丷江南南的博客 5076

银河麒麟(ky10)x86与arm双架构下编译zlmediakit的实战指南

本文提供了在银河麒麟(ky10)操作系统上,针对x86与arm双架构编译部署流媒体服务器zlmediakit的完整实战指南。文章详细阐述了从环境准备、依赖安装、代码获取到编译构建与测试的全过程,重点解析了两种CPU架构下的关键差异与注意事项,帮助开发者高效完成国产化平台上的流媒体服务搭建。

weixin_29306875的博客 98

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

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

程序星空实验室 5万+

eMMC FFU固件更新实战:从协议解析到设备修复

本文详细解析eMMC FFU固件更新技术,从协议原理到实战操作,涵盖EXT_CSD寄存器操作、命令流状态机解析及专业工具使用指南。通过真实维修案例,展示如何利用FFU机制修复设备故障,并提供高级优化技巧与安全注意事项,是硬件工程师和维修技术人员的实用参考。

weixin_29191761的博客 378

机器学习中的朴素贝叶斯算法:原理与实战

朴素贝叶斯算法以其简洁性和高效性在机器学习的分类问题中占据了一席之地。虽然它的特征独立性假设在实际问题中并不总是成立,但它在很多场景下仍然能够取得很好的效果。通过深入了解朴素贝叶斯算法的原理、特点和变种,并结合实战应用进行探索和优化,我们可以更好地利用这一算法来解决实际问题。

qq_73992050的博客 1435

使用libVLC进行视频截图的C/C++实现

通过这些代码,你可以在C/C++应用程序中实现视频截图功能,并将视频帧保存为图像文件。请注意,本文只提供了基本的示例代码,你可以根据自己的需求进行扩展和修改。libVLC是一个强大的开源多媒体框架,可以用于在C/C++应用程序中处理和播放音频和视频文件。我们将展示如何初始化libVLC,打开视频文件,捕获视频帧并保存为图像文件。在开始编写代码之前,你需要包含libVLC的头文件,并链接相应的库文件。在链接阶段,你需要添加libVLC库的链接选项。在使用libVLC之前,你需要初始化libVLC的实例。

学习使你进步。 470

预测股票价格趋势:使用MATLAB进行股票价格预测

通过收集股票数据、数据预处理、构建预测模型以及可视化结果,我们可以利用MATLAB强大的计算和分析功能来预测股票价格的走势。然而,需要注意的是,股票市场具有高度复杂性和不确定性,预测结果仅供参考,并不构成投资建议。然而,借助计算机编程和数据分析工具,我们可以利用历史股价数据来建立模型,并预测未来的股票价格走势。首先,我们需要获取股票的历史价格数据。完成模型的拟合后,我们可以使用该模型来进行未来股票价格的预测。最后,我们可以使用MATLAB的绘图功能将预测的股票价格与实际股票价格进行对比,并进行可视化展示。

2301_79326588的博客 1018

【机器学习原理】朴素贝叶斯分类算法

文章目录一、朴素贝叶斯公式1. 从统计角度看分类问题2. 贝叶斯公式的基本思想贝叶斯的基本逻辑3. 用贝叶斯公式进行选择贝叶斯版的预测未来二、朴素贝叶斯分类的算法原理1. 朴素贝叶斯分类算法的基本思路朴素+贝叶斯2.朴素贝叶斯分类算法的数学解析朴素贝叶斯的优化方法3. 朴素贝叶斯分类算法的具体步骤三、在Python中使用朴素贝叶斯分类算法四、朴素贝叶斯分类算法的使用场景 一、朴素贝叶斯公式 条件概率 先验概率 后验概率 似然度 1. 从统计角度看分类问题 我们知道,选择题一般有A、B、C、D四个选项,假

ZhShy 4795

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

机器学习之朴素贝叶斯算法原理

朴素贝叶斯(naive Bayes)法是基于贝叶斯定力与特征条件独立假设的分类方法。它和其他绝大多数的分类算法都不同。 对于大多数的分类算法,比如决策树,KNN,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数Y=f(X)Y=f(X)Y=f(X),要么是条件分布P(Y∣X)P(Y|X)P(Y∣X),但是朴素贝叶斯却是生成方法,也就是直接找出特征...

weixin_41580067的博客 643

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

机器学习-十大算法之一朴素贝叶斯(Naive Bayes)算法原理讲解

然后该男生每天就把她去自习室与否以及一些其他情况做一下记录,用Y表示该女生是否去自习室,即Y={去,不去},X是跟去自修室有关联的一系列条件,比如当天上了哪门主课,蹲点统计了一段时间后,该男生打算今天不再蹲点,而是先预测一下她会不会去,现在已经知道了今天上了常微分方程(Y=去|常微分方程)与P(Y=不去|常微分方程),看哪个概率大,如果P(Y=去|常微分方程) >P(Y=不去|常微分方程),那这个男生不管多热都屁颠屁颠去自习室了,否则不就去自习室受罪了。”,“啊,不知道,看情况”。

2501_91113915的博客 567

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

机器学习算法之朴素贝叶斯原理

缘起:真正的概率分类器 在许多分类算法应用中,特征和标签之间的关系并非是决定性的。比如说,我们想预测一个人究竟是否会在泰坦尼克号海难中生存下来,那我们可以建一棵决策树来学习训练集。在训练中,其中一个 人的特征为:30岁,男,普通舱,他最后在泰坦尼克号海难中去世了。当我们测试的时候,我们发现有另一个⼈人的特征也为:30岁,男,普通舱。基于在训练集中的学习,我们的决策树必然会给这个人打上标签:去世。然...

The Zen of Data Analysis 378

Spark机器学习分类学习:朴素贝叶斯算法的原理与应用

本文将详细介绍Spark机器学习中的朴素贝叶斯算法,包括其基本概念、原理、实现方法以及实际应用案例。文章将涵盖朴素贝叶斯算法的分类原理、Spark MLlib库的实现、以及如何将朴素贝叶斯算法应用于实际项目中。通过本文的学习,读者可以掌握Spark机器学习中朴素贝叶斯算法的基本技巧,并在实际项目中得心应手。Spark MLlib是Spark机器学习库的一部分,提供了多种机器学习算法,包括朴素贝叶斯算法。本文将详细介绍Spark机器学习中的朴素贝叶斯算法,帮助读者快速上手。一、朴素贝叶斯算法的基本概念。

qq_44103359的博客 438

8.机器学习-十大算法之一朴素贝叶斯(Naive Bayes)算法原理讲解

机器学习中的十大算法之一的朴素贝叶斯(Naive Bayes)算法,是一种基于贝叶斯定理和特征条件独立假设的分类方法。其核心原理在于利用贝叶斯定理计算给定数据样本下各类别的后验概率,并选择具有最高后验概率的类别作为该样本的预测类别。朴素贝叶斯算法假设特征之间是相互独立的,这一假设虽然简化了计算,但也可能影响分类的准确性。由于其简单易懂、学习效率高,朴素贝叶斯算法在实际应用中仍然被广泛使用,特别是在文本分类、垃圾邮件过滤等领域取得了显著的效果。以山河作礼。

weixin_50804299的博客 3万+

机器学习|朴素贝叶斯算法(三)-深入理解朴素贝叶斯原理

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34234721的博客 247

05 机器学习 - 朴素贝叶斯分类算法原理

1.概述 贝叶斯分类算法是一大类分类算法的总称 贝叶斯分类算法以样本可能属于某类的概率来作为分类依据 朴素贝叶斯分类算法是贝叶斯分类算法中最简单的一种 注:朴素的意思是条件概率独立性,此处要想真正理解,需要有概率论的基础知识 P(A|x1x2x3x4)=p(A|x1)*p(A|x2)p(A|x3)p(A|x4)则为条件概率独立 P(xy|z)=p(xyz)/p(z)=p(xz)/p(z)*p(...

阿甘兄 860

深度探索:朴素贝叶斯算法在机器学习中的原理与应用

朴素贝叶斯算法,以其简洁高效的特点,成为了机器学习领域广泛应用的一种经典分类算法。

qq_51320133的博客 2503

机器学习中的朴素贝叶斯算法:原理与应用

在朴素贝叶斯算法中,我们假设特征之间相互独立,因此条件概率 P(X∣C) 可以进一步分解为各个特征条件概率的乘积。通过这种方式,我们可以计算出每个类别的后验概率,并选择概率最高的类别作为预测结果。•P(C∣X) 是后验概率,即在已知特征 X 的情况下,样本属于类别 C 的概率;•P(X∣C) 是条件概率,即在类别 C 已知的情况下,特征 X 出现的概率;朴素贝叶斯分类器根据贝叶斯定理计算后验概率P(ci​∣X),即已知特征向量X的情况下,样本属于类别ci​的概率。朴素贝叶斯算法是一种基于贝叶斯定理的。

2301_81685298的博客 1130
上一篇: 机器学习模型评估与选择
下一篇: AVD模拟器一直处于开机状态打不开的解决办法
Hey___Man
博客等级 码龄9年 16粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值