贝叶斯分类器

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

    贝叶斯分类器 贝叶斯分类分类原则是一个对象的通过先验概率.贝叶斯后验概率公式后计算,也就是说,该对象属于一类的概率.选择具有最大后验概率的类作为对象的类属.现在更多的研究贝叶斯分类器,有四个,每间:N ...

  2. 数据挖掘十大经典算法(5) 最大期望(EM)算法

    在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Lat ...

  3. ICDM评选:数据挖掘十大经典算法

    原文地址:http://blog.csdn.net/aladdina/article/details/4141177 国际权威的学术组织the IEEE International Conferenc ...

  4. 数据挖掘十大经典算法--CART: 分类与回归树

    一.决策树的类型  在数据挖掘中,决策树主要有两种类型: 分类树 的输出是样本的类标. 回归树 的输出是一个实数 (比如房子的价格,病人呆在医院的时间等). 术语分类和回归树 (CART) 包括了上述 ...

  5. 数据挖掘十大经典算法[0]-K-Means算法

    K-Means算法的输入N,K和一个size为N的向量组vector.输出K个两两互不相交的向量组.其本质是将给定的向量组划分成K个类别,使得同类别的向量相似度比较大,而不同类别的向量之间的相似度较小 ...

  6. 数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)

    https://blog.csdn.net/fuqiuai/article/details/79456971 相关文章: 数据挖掘领域十大经典算法之—K-Means算法(超详细附代码)        ...

  7. JS的十大经典算法排序

    引子 有句话怎么说来着: 雷锋推倒雷峰塔,Java implements JavaScript. 当年,想凭借抱Java大腿火一把而不惜把自己名字给改了的JavaScript(原名LiveScript ...

  8. 十大经典算法 Python实现

    十大经典排序算法(python实现)(原创) 使用场景: 1,空间复杂度 越低越好.n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求.n值较大: 桶排序 O(n+k) O(n+k ...

  9. 分类算法之朴素贝叶斯分类(Naive Bayesian Classification)

    1.什么是分类 分类是一种重要的数据分析形式,它提取刻画重要数据类的模型.这种模型称为分类器,预测分类的(离散的,无序的)类标号.例如医生对病人进行诊断是一个典型的分类过程,医生不是一眼就看出病人得了 ...

随机推荐

  1. ASIHttpRequest编译不通过

    转:http://blog.sina.com.cn/s/blog_67a5e47201014tof.html Undefined symbols for architecture i386:   &q ...

  2. 【c++内存分布系列】虚基类表

    虚基类表相对于虚函数表要稍微难理解些,故单独提出来. 虚函数表是在对象生成时插入一个虚函数指针,指向虚函数表,这个表中所列就是虚函数. 虚基类表原理与虚函数表类似,不过虚基类表的内容有所不同.表的第一 ...

  3. HDU 4035Maze(树状+概率dp,绝对经典)

    题意: 给你n个节点的树,从1节点开始走,到每个节点都有三种情况,被杀死回到1节点,找到隐藏的出口出去,沿着当前节点相邻的边走到下一个节点,给出每个节点三种情况发生的概率分别为ki,ei,1-ki-e ...

  4. bzoj 1001: [BeiJing2006]狼抓兔子 平面图最小割

    平面图跑最大流 可以转换为其对偶图跑最短路 一个环对应一个割  找到最小环(即最短路)极为所求,注意辅助边的建立 加入读入优化  不过时间还是一般  估计是dij写的不好   大神勿喷~~~ /*** ...

  5. Shell获取Aix/linux/unix机器上db2和os的信息并上传到指定服务器

    (之前写过一篇类似的文章,当时传输文件用的是ftp,因为项目觉得ftp不够安全所以这次换成了scp,同时对脚本的一些地方也做了一些调整) 其实做这个东西还是因为项目的需求,需要获取某些机器(目前主要是 ...

  6. 《Python核心编程》 第三章 Python基础 - 练习

    创建文件: # -*- coding: gbk -*- #! /auto/ERP/python_core/chapter ''' Created on 2014年5月21日 @author: user ...

  7. 标准Web系统的架构分层[转]

    标准Web系统的架构分层 – 转载请注明出处 1.架构体系分层图 在上图中我们描述了Web系统架构中的组成部分.并且给出了每一层常用的技术组件/服务实现.需要注意以下几点: 系统架构是灵活的,根据需求 ...

  8. ASP.NET单点登录(代码)

    [p=25, null, left]由于某些原因,在我们的应用中会遇到一个用户只能在一个地方登录的情况,也就是我们通常所说的单点登录.在ASP.NET中实现单点登录其实很简单,下面就把主要的方法和全部 ...

  9. 跟我学机器视觉-HALCON学习例程中文详解-FUZZY检测用于开关引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-FUZZY检测用于开关引脚测量 * This example program demonstrates the basic usage of a fuzz ...

  10. CodeForce---Educational Codeforces Round 3 Load Balancing 正题

    看到这题是我的想法就是肯定跟平均值有关但是接下来就不知道怎么做了 看完大神的正解数之后,原来发现是这么简单,但是就是不知道为啥一定是平均值和平均值加1,而不是平均值和平均值减1: 好啦下面就贴出大神的 ...