数据挖掘十大经典算法(9) 朴素贝叶斯分类器 Naive Bayes

数据挖掘十大经典算法(9) 朴素贝叶斯分类器 Naive Bayes

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

 

贝叶斯分类器

  贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。眼下研究较多的贝叶斯分类器主要有四种,各自是:Naive Bayes、TAN、BAN和GBN。
  贝叶斯网络是一个带有概率凝视的有向无环图,图中的每个结点均表示一个随机变量,图中两结点 间若存在着一条弧,则表示这两结点相相应的随机变量是概率相依的,反之则说明这两个随机变量是条件独立的。网络中随意一个结点X 均有一个对应的条件概率表(Conditional Probability Table,CPT),用以表示结点X 在其父结点取各可能值时的条件概率。若结点X 无父结点,则X 的CPT 为其先验概率分布。贝叶斯网络的结构及各结点的CPT 定义了网络中各变量的概率分布。
  贝叶斯分类器是用于分类的贝叶斯网络。该网络中应包括类结点C,当中C 的取值来自于类集合( c1 , c2 , … , cm),还包括一组结点X = ( X1 , X2 , … , Xn),表示用于分类的特征。对于贝叶斯网络分类器,若某一待分类的样本D,其分类特征值为x = ( x1 , x2 , … , x n) ,则样本D 属于类别ci 的概率P( C = ci | X1 = x1 , X2 = x 2 , … , Xn = x n) ,( i = 1 ,2 , … , m) 应满足下式:
  P( C = ci | X = x) = Max{ P( C = c1 | X = x) , P( C = c2 | X = x ) , … , P( C = cm | X = x ) }
  而由贝叶斯公式:
  P( C = ci | X = x) = P( X = x | C = ci) * P( C = ci) / P( X = x)
  当中,P( C = ci) 可由领域专家的经验得到,而P( X = x | C = ci) 和P( X = x) 的计算则较困难。
  应用贝叶斯网络分类器进行分类主要分成两阶段。第一阶段是贝叶斯网络分类器的学习,即从样本数 据中构造分类器,包含结构学习和CPT 学习;第二阶段是贝叶斯网络分类器的推理,即计算类结点的条件概率,对分类数据进行分类。这两个阶段的时间复杂性均取决于特征值间的依赖程度,甚至能够是 NP 全然问题,因而在实际应用中,往往须要对贝叶斯网络分类器进行简化。依据对特征值间不同关联程度的如果,能够得出各种贝叶斯分类器,Naive Bayes、TAN、BAN、GBN 就是当中较典型、研究较深入的贝叶斯分类器。

 

朴素贝叶斯

   分类是将一个未知样本分到几个预先已知类的过程。数据分类问题的解决是一个两步过程:第一步,建立一个模型,描写叙述预先的数据集或概念集。通过分析由属性 描写叙述的样本(或实例,对象等)来构造模型。假定每个样本都有一个预先定义的类,由一个被称为类标签的属性确定。为建立模型而被分析的数据元组形成训练数 据集,该步也称作有指导的学习。
  在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model,NBC)。决策树模型通过构造树来解决分类问题。首先利用训练数据集来构造一棵决策树,一旦树建立起来,它就可为未知样本产生一个分类。在分 类问题中使用决策树模型有非常多的长处,决策树便于使用,并且高效;依据决策树能够非常easy地构造出规则,而规则通常易于解释和理解;决策树可非常好地扩展到大 型数据库中,同一时候它的大小独立于数据库的大小;决策树模型的另外一大长处就是能够对有很多属性的数据集构造决策树。决策树模型也有一些缺点,比方处理缺失 数据时的困难,过度拟合问题的出现,以及忽略数据集中属性之间的相关性等。
  和决策树模型相比,朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以 及稳定的分类效率。同一时候,NBC模型所需预计的參数非常少,对缺失数据不太敏感,算法也比較简单。理论上,NBC模型与其它分类方法相比具有最小的误差率。 可是实际上并不是总是如此,这是由于NBC模型如果属性之间相互独立,这个如果在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。在属 性个数比較多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。而在属性相关性较小时,NBC模型的性能最为良好。
  朴素贝叶斯模型:
  —-
  Vmap=arg max P( Vj | a1,a2…an)
  Vj属于V集合
  当中Vmap是给定一个example,得到的最可能的目标值.
  当中a1…an是这个example里面的属性.
  这里面,Vmap目标值,就是后面计算得出的概率最大的一个.所以用max 来表示
  —-
  贝叶斯公式应用到 P( Vj | a1,a2…an)中.
  可得到 Vmap= arg max P(a1,a2…an | Vj ) P( Vj ) / P (a1,a2…an)
  又由于朴素贝叶斯分类器默认a1…an他们互相独立的.
  所以P(a1,a2…an)对于结果没实用处. [由于全部的概率都要除同一个东西之后再比較大小,最后结果也似乎影响不大]
  可得到Vmap= arg max P(a1,a2…an | Vj ) P( Vj )
  然后
  ”朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。换言之。该假定说明给定实力的目标值情况下。观察到联合的a1,a2…an的概率正好是对每一个单独属性的概率乘积: P(a1,a2…an | Vj ) = Π i P( ai| Vj )
  ….
  朴素贝叶斯分类器:Vnb =arg max P( Vj ) Π i P ( ai | Vj )
  ”
  Vnb = arg max P ( Vj )
  此处Vj ( yes | no ),相应天气的样例。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118190.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaFX横幅类游戏开发 教训 游戏贴图

    JavaFX横幅类游戏开发 教训 游戏贴图

    2022年1月3日
    47
  • Flow Control(流控)

    Flow Control(流控)Backpressure(背压)只是解决FlowControl的其中一个方案。就像小学做的那道数学题:一个水池,有一个进水管和一个出水管。如果进水管水流更大,过一段时间水池就会满(溢出)。这就是没有FlowControl导致的结果。而解决FlowControl有几种思路呢?(1)Backpressure,就是消费者需要多少,生产者就生产多少。这有点类似于TCP里的流量控制,接收方根据自己的…

    2022年6月6日
    31
  • 基于matlab的傅里叶变换「建议收藏」

    基于matlab的傅里叶变换「建议收藏」原文出处例子1作用:使用傅里叶变换找出隐藏在噪声中的信号的频率成分。(指定信号的参数,采样频率为1kHz,信号持续时间为1秒。)由上图可知:从时域中我们很难观察到信号的频率成分。怎么办呢?当然

    2022年7月1日
    30
  • DropDownList_onpropertychange事件

    DropDownList_onpropertychange事件 functionshow_sub(v){//alert(v);varparam=””;param+=”PId=”+$(“#PId”).val();param+=”&type=”+$(“#HidType”).val();…

    2025年10月29日
    5
  • 机房搬迁是什么意思_计算机机房管理规定

    机房搬迁是什么意思_计算机机房管理规定原标题:盘点机房搬迁中最容易出现的五个问题企业要更换办公地址的时候,最头疼的问题就是搬迁机房,机房的搬迁可不是搬家那么简单,是否能顺利搬迁,将成为保障企业业务连续性的关键要素。在企业机房的搬迁中,最容易出现哪些问题?盘点机房搬迁中最容易出现的五个问题(1)领导不明确在规划阶段最常见的错误是未能建立明确的领导。这意味着在迁移过程中的各个阶段中要确定谁负责明确的沟通,带领团队。在一个单一的部门,默认…

    2025年6月26日
    4
  • 自我学习总结之——NFV

    自我学习总结之——NFVNFV–DFC1.什么是NFV?网络功能虚拟化NFV(NetworkFunctionsVirtualization)在NFV出现之前设备的专业化很突出,具体设备都有其专门的功能实现,而之后设备的控制平面与具体设备进行分离,不同设备的控制平面基于虚拟机,虚拟机基于云操作系统,这样当企业需要部署新业务时只需要在开放的虚拟机平台上创建相应的虚机,然后在虚拟机上安装相应功能的软件包即可。这种方式…

    2025年10月9日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号