Bayesian 网络分类算法

1:贝叶斯网络的定义和性质

一个贝叶斯网络定义包括一个有向无环图(DAG)和一个条件概率表集合。DAG中每一个节点表示一个随机变量,可以是可直接观测变量或隐藏变量,而有向边表示随机变量间的条件依赖;条件概率表中的每一个元素对应DAG中唯一的节点,存储此节点对于其所有直接前驱节点的联合条件概率。

贝叶斯网络有一条极为重要的性质,就是我们断言每一个节点在其直接前驱节点的值制定后,这个节点条件独立于其所有非直接前驱前辈节点。

这个性质很类似Markov过程。其实,贝叶斯网络可以看做是Markov链的非线性扩展。这条特性的重要意义在于明确了贝叶斯网络可以方便计算联合概率分布。一般情况先,多变量非独立联合条件概率分布有如下求取公式:

而在贝叶斯网络中,由于存在前述性质,任意随机变量组合的联合条件概率分布被化简成

其中Parents表示xi的直接前驱节点的联合,概率值可以从相应条件概率表中查到。

贝叶斯网络比朴素贝叶斯更复杂,而想构造和训练出一个好的贝叶斯网络更是异常艰难。但是贝叶斯网络是模拟人的认知思维推理模式,用一组条件概率函数以及有向无环图对不确定性的因果推理关系建模,因此其具有更高的实用价值。

2:贝叶斯网络的构造及学习

构造与训练贝叶斯网络分为以下两步:

1、确定随机变量间的拓扑关系,形成DAG。这一步通常需要领域专家完成,而想要建立一个好的拓扑结构,通常需要不断迭代和改进才可以。

2、训练贝叶斯网络。这一步也就是要完成条件概率表的构造,如果每个随机变量的值都是可以直接观察的,像我们上面的例子,那么这一步的训练是直观的,方法类似于朴素贝叶斯分类。但是通常贝叶斯网络的中存在隐藏变量节点,那么训练方法就是比较复杂,例如使用梯度下降法。

3:应用和举例

贝叶斯网络作为一种不确定性的因果推理模型,其应用范围非常广,在医疗诊断、信息检索、电子技术与工业工程等诸多方面发挥重要作用,而与其相关的一些问题也是近来的热点研究课题。例如,Google就在诸多服务中使用了贝叶斯网络。

就使用方法来说,贝叶斯网络主要用于概率推理及决策,具体来说,就是在信息不完备的情况下通过可以观察随机变量推断不可观察的随机变量,并且不可观察随机变量可以多于以一个,一般初期将不可观察变量置为随机值,然后进行概率推理。下面举一个例子。

举例:SNS社区中不真实账号检测的例子,我们的模型中存在四个随机变量:账号真实性R,头像真实性H,日志密度L,好友密度F。其中H,L,F是可以观察到的值,而我们最关心的R是无法直接观察的。这个问题就划归为通过H,L,F的观察值对R进行概率推理。推理过程可以如下表示:

1、使用观察值实例化H,L和F,把随机值赋给R。

2、计算。其中相应概率值可以查条件概率表。

由于上述例子只有一个未知随机变量,所以不用迭代。更一般得,使用贝叶斯网络进行推理的步骤可如下描述:

      1、对所有可观察随机变量节点用观察值实例化;对不可观察节点实例化为随机值。

      2、对DAG进行遍历,对每一个不可观察节点y,计算,其中wi表示除y以外的其它所有节点,a为正规化因子,sj表示y的第j个子节点。

      3、使用第三步计算出的各个y作为未知节点的新值进行实例化,重复第二步,直到结果充分收敛。

      4、将收敛结果作为推断值。

转载来自:http://www.cnblogs.com/leoo2sk/archive/2010/09/18/bayes-network.html 张洋

下面是补充:

4:其他贝叶斯网络推理算法

时间: 2024-08-25 10:48:24

Bayesian 网络分类算法的相关文章

算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)

算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification) 0.写在前面的话 我个人一直很喜欢算法一类的东西,在我看来算法是人类智慧的精华,其中蕴含着无与伦比的美感.而每次将学过的算法应用到实际中,并解决了实际问题后,那种快感更是我在其它地方体会不到的. 一直想写关于算法的博文,也曾写过零散的两篇,但也许是相比于工程性文章来说太小众,并没有引起大家的兴趣.最近面临毕业找工作,为了能给自己增加筹码,决定再次复习算法方面的知识,我决定趁这个机会,写一系列关于

各种分类算法比较

1决策树(Decision Trees)的优缺点 决策树的优点: 一.           决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义. 二.           对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性. 三.           能够同时处理数据型和常规型属性.其他的技术往往要求数据属性的单一. 四.           决策树是一个白盒模型.如果给定一个观察的模型,那么根据所产生的决策树很容易

分类算法总结

      目前看到的比较全面的分类算法,总结的还不错.       主要分类方法介绍解决分类问题的方法很多[40-42] ,单一的分类方法主要包括:决策树.贝叶斯.人工神经网络.K-近邻.支持向量机和基于关联规则的分类等:另外还有用于组合单一分类方法的集成学习算法,如Bagging和Boosting等.      (1)决策树       决策树是用于分类和预测的主要技术之一,决策树学习是以实例为基础的归纳学习算法,它着眼于从一组无次序.无规则的实例中推理出以决策树表示的分类规则.构造决策树的

分类算法简介 基于R

最近的关键字:分类算法,outlier detection, machine learning 简介: 此文将 k-means,decision tree,random forest,SVM(support vector mechine),人工神经网络(Artificial Neural Network,简称ANN )这几种常见的算法 apply 在同一个数据集 spam,看各种方法预测错误率,或准确率,旨在追求预测准确性,辨识出这几种方法的实用性,对背后的理论依据,大量的数学公式,不作讨论(能

转载:算法杂货铺——分类算法之决策树(Decision tree)

作者:张洋 算法杂货铺——分类算法之决策树(Decision tree) 2010-09-19 16:30 by T2噬菌体, 44346 阅读, 29 评论, 收藏, 编辑 3.1.摘要 在前面两篇文章中,分别介绍和讨论了朴素贝叶斯分类与贝叶斯网络两种分类算法.这两种算法都以贝叶斯定理为基础,可以对分类及决策问题进行概率推断.在这一篇文章中,将讨论另一种被广泛使用的分类算法——决策树(decision tree).相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际

初识分类算法(3)-----朴素贝叶斯算法

1. 例子引入:如上篇的play or not 例子. 未知分类的样本:D:<A=sunny, B=cool, C=high ,D=strong>,  是 or 否? 我们要判断该样本的分类,即比较该样本属于是的概率大还是否的概率大 P(是/否|A=sunny, B=cool, C=high ,D=strong) P(是|A=sunny, B=cool, C=high ,D=strong)=P(是,(A=sunny, B=cool, C=high ,D=strong))/P(A=sunny,

分类算法中常用的评价指标

本文来自网络,属于对各评价指标的总结,如果看完之后,还不是很理解,可以针对每个评价指标再单独搜索一些学习资料.加油~! 对于分类算法,常用的评价指标有: (1)Precision (2)Recall (3)F-score (4)Accuracy (5)ROC (6)AUC ps:不建议翻译成中文,尤其是Precision和Accuracy,容易引起歧义. 1.混淆矩阵 混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息.矩阵中的每一行代表实例的预测类别,每一列代表实例的真

模式识别之基础---常用分类算法特性归纳

常用的分类算法主要有决策树,贝叶斯,KNN,SVM,神经网络以及基于规则的分类算法. 本文主要对各种分类算法的特性做一下总结. 1. 决策树算法 决策树算法是一种构建分类模型的非参数方法,它不要求任何先验假设,不假定类和其他属性服从一定的概率分布. 找到最佳决策树是NP完全问题,许多决策树算法都采取启发式的方法指导对假定空间的搜索. 现有的决策树构建技术不需要昂贵的计算代价,即使训练集非常大,也可以快速建立模型.同时,决策树一旦建立,未知样本分类非常快,最坏情况下的时间复杂度为o(w),其中 w

聚类算法和分类算法总结

原文:http://blog.chinaunix.net/uid-10289334-id-3758310.html 聚类算法的种类: 基于划分聚类算法(partition clustering) k-means: 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据 k-modes: K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度 k-prototypes: 结合了K-Means和K-Modes两种