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

摆脱咸鱼 摆脱咸鱼     2022-12-15     797

关键词:

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

朴素贝叶斯是有监督学习的一种分类算法,它基于“贝叶斯定理”实现,故在学习“朴素贝叶斯算法”前,有必要先了解“贝叶斯定理”。

贝叶斯定理

定义:贝叶斯算法是在概率框架下实施决策的基本方法,对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯算法考虑的是如何基于这些概率和误判损失来选择最优的类别标记

目的:解决“逆向概率问题”

贝叶斯公式:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\\fracP(B|A)P(A)P(B) P(AB)=P(B)P(BA)P(A)

P(A) :概率中最基本的符号,表示 A 出现的概率。例:在投掷骰子时,P(2) 指的是骰子出现数字“2”的概率,这个概率是 1/6。

P(B|A): 条件概率的符号,表示事件 A 发生的条件下,事件 B 发生的概率,条件概率是“贝叶斯公式”的关键所在,它也被称为“似然度”。

P(A|B) :条件概率的符号,表示事件 B 发生的条件下,事件 A 发生的概率,这个计算结果也被称为“后验概率”。

优缺点:

优点: 稳定的分类效率、对缺失数据不敏感、算法简单、分类精确度高、速度快。

缺点:对训练数据依赖性强、需要知道先验概率(基于假设或者已有训练集训练所得)

正向概率和逆向概率

下面用两个例子说明正向概率和逆向概率的区别

正向概率:假设袋子又N个白球、M个黑球,求从中摸出黑球的概率。

逆向概率:不知道袋子中黑白球比例,从中摸出一个(或几个)球,观察去除球的颜色,由此推测袋子中黑白球的比例。

条件概率与全概率

条件概率定义:指在事件B发生的情况下,事件A发生的概率。

公式:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A|B)=\\fracP(A\\cap B)P(B) P(AB)=P(B)P(AB)

图示入下:

这里的条件概率就是图示中紫色部分蓝色部分+紫色部分的大小。

全概率定义:如果事件A1、A2(这里仅用两个表示)构成一个完备事件组,即它们两两互不相容,其和为全集;并且P(Ai)大于0,则对任一事件B有:
P ( B ) = P ( B ∣ A 1 ) P ( A 1 ) + P ( B ∣ A 2 ) P ( A 2 ) P(B) = P(B|A_1)P(A_1)+P(B|A_2)P(A_2) P(B)=P(BA1)P(A1)+P(BA2)P(A2)

贝叶斯公式推导

通过上述信息相信你对条件概率已经有了一定的了解,那么接下来咋们就来推导一下贝叶斯公式吧。

首先我们回顾一下贝叶斯公式:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\\fracP(B|A)P(A)P(B) P(AB)=P(B)P(BA)P(A)
根据我们上述所讲的条件概率可知:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A|B)=\\fracP(A\\cap B)P(B) P(AB)=P(B)P(AB)

P ( B ∣ A ) = P ( B ∩ A ) P ( A ) P(B|A)=\\fracP(B\\cap A)P(A) P(BA)=P(A)P(BA)

由我们概率论所学(高中的概率与统计也有涉及):
P ( B ∩ A ) = P ( A ∩ B ) P(B\\cap A) = P(A\\cap B) P(BA)=P(AB)
所以有:
P ( A ∣ B ) P ( B ) = P ( A ) P ( B ∣ A ) P(A|B)P(B)=P(A)P(B|A) P(AB)P(B)=P(A)P(BA)
根据换项可知:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\\fracP(B|A)P(A)P(B) P(AB)=P(B)P(BA)P(A)
得证。

极大似然估计

原理:利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值!

求解过程:

求解极大似然函数:

ML估计:求使得出现该组样本的概率最大的θ值。
θ ^ = a r g m a x θ ∏ i = 1 N p ( x i ∣ θ ) \\hat\\theta = arg\\underset\\theta max \\prod_i=1^Np(x_i |\\theta) θ^=argθmaxi=1Np(xiθ)
实际中为了便于分析,定义了对数似然函数:
H ( θ ) = ln ⁡ l ( θ ) H(\\theta )= \\ln_l(\\theta ) H(θ)=lnl(θ)

θ ^ = a r g m a x θ H ( θ ) = a r g m a x θ ∑ i = 1 N ln ⁡ p ( x i ∣ θ ) \\hat\\theta = arg\\underset\\theta maxH(\\theta )=arg\\underset\\theta max\\sum_i=1^N\\ln_p(x_i|\\theta ) θ^=argθmaxH(θ)=argθmaxi=1Nlnp(xiθ)

未知参数只有一个(θ为标量)的情况。在似然函数满足连续、可微的正则条件下,极大似然估计量是下面微分方程的解:

未知参数有多个(θ为向量)则θ可表示为具有S个分量的未知向量:

记梯度算子:

若似然函数满足连续可导的条件,则最大似然估计量就是如下方程的解。

方程的解只是一个估计值,只有在样本数趋于无限多的时候,它才会接近于真实值。

朴素贝叶斯分类器

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

朴素贝叶斯的基础假设:

①每个特征相互独立;
②每个特征的权重(或重要性)都相等,即对结果的影响程度都相同。

由朴素贝叶斯算法可得:
P ( Y ∣ X ) = P ( X ∣ Y ) P ( Y ) P ( X ) P(Y|X)=\\fracP(X|Y)P(Y)P(X) P(YX)=P(X)P(XY)P(Y)

P(Y)称为”先验概率”:即在B事件发生之前,我们对A事件概率的一个判断。

P(Y|X)称为”后验概率”:在B事件发生之后,我们对A事件概率的重新评估。

P(X|Y)/P(X)称为”可能性函数”:这是一个调整因子,使得预估概率更接近真实概率。

所以可以得到以下结论:

后验概率=先验概率∗调整因子(可能性函数)

朴素贝叶斯基于各特征之间相互独立,在给定类别为y的情况下,上式可以进一步表示为下式:
P ( X ∣ Y = y ) = ∏ i = 1 d P ( x i ∣ Y = y ) P(X|Y=y)=\\prod_i=1^dP(x_i|Y=y) P(XY=y)=i=1dP(xiY=y)

由以上两式可以计算出后验概率为:
P p o s t = P ( Y ∣ X ) = P ( Y ) ∏ i = 1 d P ( x i ∣ Y ) P ( X ) P_post=P(Y|X)=\\fracP(Y) \\textstyle \\prod_i=1^dP(x_i|Y) P(X) Ppost=P(YX)=P(X)P(Y)i=1dP(xiY)
即:
P ( Y ∣ X ) = P ( x 1 ∣ Y ) P ( x 2 ∣ Y ) P (

通俗机器学习—朴素贝叶斯(代码片段)

引言机器学习分类中的k近邻法和决策树师确定的分类算法,数据实例最终会被明确划分到某个分类中,本节我们讨论的分类算法将不能完全确定数据实例应该划分到某个分类,或者智能给出数据实例属于给定分类的概率 一... 查看详情

机器学习朴素贝叶斯应用实例(代码片段)

朴素贝叶斯概述贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本章首先介绍贝叶斯分类算法的基础——贝叶斯定理。最后,我们通过实例来讨论贝叶斯分类的中最简单的一种:... 查看详情

机器学习--机器学习之朴素贝叶斯从初始到应用

一、前述机器学习算法中,有种依据概率原则进行分类的朴素贝叶斯算法,正如气象学家预测天气一样,朴素贝叶斯算法就是应用先前事件的有关数据来估计未来事件发生的概率。二、具体1、背景--贝叶斯定理引入对于两个关联... 查看详情

机器学习--贝叶斯分类算法及应用

1.朴素贝叶斯分类算法原理1.1概述贝叶斯分类算法是一大类分类算法的总称贝叶斯分类算法以样本可能属于某类的概率来作为分类依据朴素贝叶斯分类算法是贝叶斯分类算法中最简单的一种注:朴素的意思是条件概率独立性1.2算... 查看详情

spark机器学习:朴素贝叶斯算法

1.贝叶斯定理条件概率公式:这个公式非常简单,就是计算在B发生的情况下,A发生的概率。但是很多时候,我们很容易知道P(A|B),需要计算的是P(B|A),这时就要用到贝叶斯定理:2.朴素贝叶斯分类朴素贝叶斯分类的推导过程就不... 查看详情

361机器学习常见算法

K-近邻算法(KNearestNeighbors)参考:机器学习实战教程(一):K-近邻算法(史诗级干货长文)决策树算法(DecisionTree)参考:机器学习实战教程(二):决策树基础篇之让我们从相亲说起参考:机器学习实战教程(三):决策树... 查看详情

机器学习朴素贝叶斯(代码片段)

目录1朴素贝叶斯算法简介2概率基础复习2.1概率定义2.2案例:判断女神对你的喜欢情况2.3联合概率、条件概率与相互独立2.4贝叶斯公式2.4.1公式介绍2.4.2案例计算2.4.3文章分类计算2.5小结3案例:商品评论情感分析2.1api介绍3.... 查看详情

机器学习--实验三(代码片段)

博客班级AHPU机器学习作业要求K-近邻算法及应用作业目标理解K-近邻算法原理,能实现算法K近邻算法学号3180701118目录实验目的】【实验内容】实验报告要求】高斯朴素贝叶斯算法基本思想:python程序:scikit-learn实例朴素贝叶斯算... 查看详情

机器学习算法原理与编程实践之朴素贝叶斯分类

在介绍朴素贝叶斯分类之前,首先介绍一下大家都比较了解的贝叶斯定理,即已知某条件概率,如何得到两个时间交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)?可以通过如下公式求得:而朴素贝叶斯分类是一种简单... 查看详情

机器学习面试题——朴素贝叶斯(代码片段)

机器学习面试题——朴素贝叶斯提示:这些知识点也是大厂笔试经常考的题目,我记得阿里和京东就考!!!想必在互联网大厂就会用这些知识解决实际问题朴素贝叶斯介绍一下朴素贝叶斯优缺点贝叶斯公式... 查看详情

常见机器学习算法原理+实践系列6(朴素贝叶斯分类)

朴素贝叶斯NBNativeBayes是一种简单有效的分类算法,贝叶斯定律用这个条件概率公式来表示:P(A|B)=P(B|A)*P(A)/P(B),其中P(A|B)的意思是,在B发生的前提下,发生A的概率,P(A),P(B)代表现实中发生A以及B的概率,实际上取决于我们输入... 查看详情

机器学习——朴素贝叶斯分类器(代码片段)

贝叶斯分类是一类分类算法的总称,这类算法均已贝叶斯定理为基础,因此统称为贝叶斯分类。在贝叶斯分类器中,常用朴素贝叶斯,就类似于看见黑人,大多会认为来自非洲。事件A在事件B(发生)的条件下的概率,与事件B在... 查看详情

机器学习11-分类与监督学习,朴素贝叶斯分类算法(代码片段)

1.理解分类与监督学习、聚类与无监督学习。简述分类与聚类的联系与区别。简述什么是监督学习与无监督学习。分类与聚类的区别:是否有已知分类的条件。分类没有,聚类有。监督学习:已知某些类别的情况下,即具有事先... 查看详情

郑捷《机器学习算法原理与编程实践》学习笔记(第二章中文文本分类—朴素贝叶斯算法)

(上接第二章)  2.3分类算法:朴素贝叶斯  2.3.1贝叶斯公式推导(略)  分类的流程:    第一阶段:训练数据生成训练样本集:TF-IDF  第二阶段:对每个类别计算p(yi)。  第三个阶段:对每个特征属性计算... 查看详情

机器学习sklearn监督学习分类算法朴素贝叶斯naivebayesianmodel(代码片段)

importnumpyasnpfromsklearn.naive_bayesimportGaussianNBX=np.array([[-1,-1],[-2,-1],[-3,-2],[1,1],[2,1],[3,2]])Y=np.array([1,1,1,2,2,2])#使用默认参数,创建一个高斯朴素贝叶斯分类器,并将该分类器赋给变量clfclf= 查看详情

机器学习sklearn监督学习分类算法朴素贝叶斯naivebayesianmodel(代码片段)

importnumpyasnpfromsklearn.naive_bayesimportGaussianNBX=np.array([[-1,-1],[-2,-1],[-3,-2],[1,1],[2,1],[3,2]])Y=np.array([1,1,1,2,2,2])#使用默认参数,创建一个高斯朴素贝叶斯分类器,并将该分类器赋给变量clfclf= 查看详情

机器学习算法--贝叶斯分类器

该文章参考周志华老师著的《机器学习》一书 1. 朴素贝叶斯分类器朴素贝叶斯分类器采用了“属性条件独立性假设”:对已知类别,假设所有属性相互独立,即假设每个属性独立的对分类结果发生影响。d为属性数目,xi... 查看详情

机器学习——朴素贝叶斯(代码片段)

 在考虑一个结果的概率时候,要考虑众多的属性,贝叶斯算法利用所有可能的数据来进行修正预测,如果大量的特征产生的影响较小,放在一起,组合的影响较大,适合于朴素贝叶斯分类导入类库1fromsklearn.datasetsimportfetch_20n... 查看详情