贝叶斯分类器

  贝叶斯分类分类原则是一个对象的通过先验概率。贝叶斯后验概率公式后计算,也就是说,该对象属于一类的概率。选择具有最大后验概率的类作为对象的类属。现在更多的研究贝叶斯分类器,有四个,每间: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 )。样本对应的天气。

十大经典数据挖掘算法(9) 朴素贝叶斯分类器 Naive Bayes的更多相关文章

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

    贝叶斯分类器 贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类.眼下研究较多的贝叶斯分类器主要有四种, ...

  2. 【十大经典数据挖掘算法】Naïve Bayes

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 朴素贝叶斯(Naïve Bayes) ...

  3. 【十大经典数据挖掘算法】PageRank

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 我特地把PageRank作为[十大经 ...

  4. 【十大经典数据挖掘算法】EM

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 极大似然 极大似然(Maxim ...

  5. 【十大经典数据挖掘算法】AdaBoost

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 集成学习 集成学习(ensem ...

  6. 【十大经典数据挖掘算法】SVM

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART SVM(Support Vector ...

  7. 【十大经典数据挖掘算法】C4.5

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 决策树模型与学习 决策树(de ...

  8. 【十大经典数据挖掘算法】k-means

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 引言 k-means与kNN虽 ...

  9. 【十大经典数据挖掘算法】Apriori

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 关联分析 关联分析是一类非常有 ...

随机推荐

  1. [Windows Phone学习笔记]页面之间传递对象

    在Windows Phone中,页面之间传递参数就类似Web开发中一样,通过QueryString的形式进行传递,但是如果需要传递对象,则无法通过QueryString形式了,其实也可以,把对象序列化 ...

  2. (step5.1.2)hdu 1305(Immediate Decodability——字典树)

    题目大意:输入一系列的字符串,判断这些字符串中是否存在其中的一个字符串是另外一个字符串的前缀.. 如果是,输出Set .. is not immediately decodable 否则输出Set . ...

  3. Xcode免证书真机调试,解决cannot read entitlement data问题

    本文是根据某个帖子写的(帖子链接在最后放出),但是在配置的过程中,遇到了一个纠结的问题,这个问题折腾了我N久,一直没搞明白到底是什么原因,问题如下: 按照原帖上写的每一步去做了,但是在最后编译的时候出 ...

  4. UVAlive 2519 Radar Installation (区间选点问题)

    Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. ...

  5. Fitnesse使用系列二

    决策表 Fitnesse中提供了好几种表格样式,前面说了.表格是运行測试的关键.从字面看.表格描写叙述的是測试用例.从运行角度看,表格为后端的代码(fitnesse里称作fixture)提供了包名.类 ...

  6. SQL Server Database 维护计划创建一个完整的备份策略

     SQL Server维护计划Maintenance Plan这是一个非常有用的维护工具,能够完成大部分的数据库维护任务,通过这些功能包.您可以省略大量的编码时间. 介绍的不是非常多,特此补上一篇 ...

  7. poj3642 Charm Bracelet(0-1背包)

    题目意思: 给出N,M,N表示有N个物品,M表示背包的容量.接着给出每一个物品的体积和价值,求背包可以装在的最大价值. http://poj.org/problem? id=3624 题目分析: o- ...

  8. spring MVC拦截器01

    spring MVC拦截 作用:身份校验,权限检查,防止非法訪问. 场景:一个bbs系统,用户没有登录就无法发帖或者删除评论; 一个博客系统,没有登录就无法发表博文,无法添加分类,无法删除博文. sp ...

  9. HTML中的div标签

    在网页制作过程过中,能够把一些独立的逻辑部分划分出来.放在一个<div>标签中,这个<div>标签的作用就相当于一个容器. 为了使逻辑更加清晰,我们能够为这一个独立的逻辑部分设 ...

  10. 一些周期性GC的理由为何

    1.供tomcat:防止内存泄漏监听器 JreMemoryLeakPreventionListener在上班,每隔一小时默认触发一次System.gc Class clazz = Class.forN ...