zoukankan      html  css  js  c++  java
  • 贝叶斯网络

    把某个研究系统中涉及的随机变量,根据是否条件独立绘制在一个有向图中,就形成了贝叶斯网络。

    贝叶斯网络(Bayesian Network),又称有向无环图模型(directed acyclic graphical model ,DAG),是一种概率图模型,根据概率图的拓扑结构,考察一组随机变量{X 1 ,X 2 ...X n }及其n组条件概率分布(Conditional Probability Distributions, CPD)的性质。

    一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,它们可以是可观察到的变量,或隐变量、未知参数等。连接两个节点的箭头代表此两个随机变量是具有因果关系(或非条件独立)。若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因(parents)”,另一个是“果(children)”,两节点就会产生一个条件概率值。

    x1和x2独立,x6和x7在x4给定的条件下独立

    x1,x2,…x7的联合分布图如下:

    x1,x2,…x7的联合分布:

    判断条件独立

    1、通过贝叶斯网络判定条件独立

    tail-to-tail

    在c给定的条件下,a,b被阻断(blocked)是独立的

     

    head-to-tail

    在c给定的条件下,a,b被阻断(blocked),是独立的

     

    head-to-head

    在c未知的条件下,a,b被阻断(blocked),是独立的

     

    2、将上述结点推广到结点集

    D-separation:有向分离

    对于任意的结点集A,B,C,考察所有通过A中任意结点到B中任意结点的路径,若要求A,B条件独

    立,则需要所有的路径都被阻断(blocked),即满足下列两个前提之一:

    1)A和B的“head-to-tail型”和“tail-to-tail型”路径都通过C;

    2)A和B的“head-to-head型”路径不通过C以及C的子孙;

    如果A,B不满足D-separation,A,B有时被称为D-connected.

    链式网络

     

    由D-separation可知,在xi给定的条件下,xi+1的分布和x1,x2…xi-1条件独立。即:xi+1的分布状态只和xi有关,和其他变量条件独立,这种顺次演变的随机过程模型,叫做马尔科夫模型。

    Markov Blanket

    一个结点的Markov Blanket是一个集合,在这个集合中的结点都给定的条件下,该结点条件独立于其他所有结点。

    即:一个结点的Markov Blanket是它的parents,children以及spouses(孩子的其他parent)

     

    贝叶斯网络的用途

    诊断:P(病因|症状)

    预测:P(症状|病因)

    分类:max class P(类别|数据)

    通过给定的样本数据,建立贝叶斯网络的拓扑结构和结点的条件概率分布参数。这往往需要借助先验知识和极大似然估计来完成。

    在贝叶斯网络确定的结点拓扑结构和条件概率分布的前提下,可以使用该网络,对未知数据计算条件概率或后验概率,从而达到诊断、预测或者分类的目的。

    贝叶斯网络的推导

     

    贝叶斯网络的构建

    依次计算每个变量的D-separation的局部测试结果,综合每个结点得到贝叶斯网络。

    算法过程:

    选择变量的一个合理顺序:X 1 ,X 2 ,...X n

    对于i=1到n

    在网络中添加X i 结点

    在X 1 ,X 2 ,...X i-1 中选择X i 的父母,使得:

     

    这种构造方法,显然保证了全局的语义要求:

     

    举例说明:M, J, A,B,E

    需要判断如下是否相等:

    P(J|M) = P(J)

    P(A|M,J) = P(A|M), P(A|M,J) = P(A|J), P(A|M,J) = P(A)

    P(B|M,J,A) = P(B|M), P(B|M,J,A) = P(B|J), P(B|M,J,A) = P(B|A),…….

    Tip:

    先判断一个节点是否没有父节点,再判断节点只有一个父节点,再判断有两个父节点,第一次遇到等式成立,便可以确定节点的父节点,最多次判断的情况是前面的节点都是他的父节点。

    压缩条件分布参数数目

    Noisy-OR分布模型

    节点U 1 ,U 2 ,...U k 是X的所有父节点;

    有如下等式:

    该模型的参数是关于父节点个数线性的。

    举例:

     

    该模型参数只需要3个参数即可表示所有的状态。这里是0.1, 0.2, 0.3

    混合(离散+连续)网络

     

    subsidy,buys均是离散的,harvest,cost均是连续的

    需要定义一个条件概率密度函数,使用线性高斯模型:

     

    cost随着harvest线性变化,方差不变

    条件概率密度函数,也可使用sigmod函数

     

    原贝叶斯网络的近似树结构

    最大权生成树MSWT的建立过程

    1.对于给定的分布P(x),对于所有的i≠j,计算联合分布P(xi|xj);

    2.使用第1步得到的概率分布,计算任意两个结点的互信息I(Xi,Yj),并把I(Xi,Yj)作为这两个结点连接边的权值;

    3.计算最大权生成树(Maximum-weight spanning tree)

    a. 初始状态:n个变量(结点),0条边

    b. 插入最大权重的边

    c. 找到下一个最大的边,并且加入到树中;要求加入后,没有环生成。否则,查找次大的边;

    d. 重复上述过程c过程直到插入了n-1条边(树建立完成)

    4.选择任意结点作为根,从根到叶子标识边的方向;

    5.可以保证,这课树的近似联合概率P'(x)和原贝叶斯网络的联合概率P(x)的相对熵最小。

    两个结点间的互信息的计算公式:

     

  • 相关阅读:
    93. Restore IP Addresses
    mysql复制那点事(2)-binlog组提交源码分析和实现
    49. Group Anagrams
    43. Multiply Strings
    66. Plus One
    100. Same Tree
    MySQL 加锁处理分析
    mysql死锁问题分析
    数据库事务的四大特性以及事务的隔离级别
    MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
  • 原文地址:https://www.cnblogs.com/yongfuxue/p/10094746.html
Copyright © 2011-2022 走看看