贝叶斯信念网络Bayes Belief network

贝叶斯信念网络Bayes Belief network

1. BBN

别称:贝叶斯网络、信念网络、概率网络

信念:相信专家给的概率

网络拓扑:

  1. 数据构造
  2. 专家构造
    可能不需要学习数据,整个网络可能都是由专家经验产生的

朴素贝叶斯:特征(属性)之间互相独立

但是特征之间不一定一定独立,会存在一些依赖。怎么解决?

联合条件概率分布


2. 两大成分

  • 有向无环图

有向边:表示特征之间的关系
结点之间关系:

  1. 独立(无关系)
  2. 父结点、孩子结点:父结点是当前结点的因,孩子结点是当前结点的果
  • 条件概率表CPT(Condition probability table)

表中的发生概率来自于专家

贝叶斯信念网络Bayes Belief network


3. 先验概率

3.1.1 计算患心脏病的概率

贝叶斯信念网络Bayes Belief network

α\alpha : E的可能取值
β\beta: D的可能取值
P(E=α,D=β)=P(E=α)P(D=β)P(E=\alpha ,D= \beta) = P(E=\alpha )P(D= \beta) :E和D相互独立

3.1.2 计算血压高的概率

贝叶斯信念网络Bayes Belief network


4. 条件概率

4.2.1 基于孩子结点,父母结点的条件概率

p(A|B)p(B) = p(AB)
p(B|A)p(A) = p(AB)

得出:
p(AB)p(B)p(BA)p(A)=1\frac{p(A|B)p(B)}{p(B|A)p(A) } = 1
p(AB)=p(BA)p(A)p(B)p(A|B) = \frac{p(B|A)p(A)}{p(B)}

4.2.2 基于父母结点,孩子结点的条件概率

贝叶斯信念网络Bayes Belief network

4.2.3 结点之间独立

p(AB)p(B)=p(AB)=p(A)p(B)p(A|B)p(B) = p(AB) = p(A)p(B)
p(AB)=p(A)p(A|B) = p(A)


5. 网络拓扑

  1. 网络拓扑未知
  2. 网络拓扑已知,并且网络内部可观测
  3. 网络拓扑已知,并且网络内部某些变量隐藏(缺失)

1:需要构造网络拓扑
3:需要训练网络,用以完整网络

5.1 未知网络拓扑

  • 一些学习算法可通过训练数据来产生网络拓扑
  • 专家构造

5.2 某些变量隐藏

有不同的方法来训练信念网络,比如梯度下降法(迭代的方式)Gradient descent。

梯度下降算法

目的:找出最大化该函数的权重的集合

  1. 计算梯度

lnPw(D)wijk=d=1DP(Yi=yij,Ui=uikXd)wijk\frac{\partial lnP_w(D)}{\partial w_{ijk}}= \sum^{|D|}_{d=1}\frac{P(Y_i=y_{ij},U_i=u_{ik}| X_d)}{w_{ijk}}

D:数据集
XdX_d:训练元组,XdX_d的概率记为 p(可使用贝叶斯网路推理的标准算法求得)

  1. 沿梯度方向前进一小步

wijk=wijk+llnPw(D)wijkw_{ijk} = w_{ijk} + l\frac{\partial lnP_w(D)}{\partial w_{ijk}}

ll:表示步长的学习率(一般取小点,便于收敛)

  1. 重新规格化权重

wijkw_{ijk}是概率值,必须在[0,1]之间并且对于所有的i、k,jwijk1\sum_jw_{ijk}必须等于1。权重更新之后(第二步之后)可以对其规格化来保证上述条件

wijkp(Yi=yijUi=uik)w_{ijk} 恒等于 p(Y_{i}=y_{ij} | U_i=u_{ik})
wijkw_{ijk}:有双亲(Ui=uikU_i=u_{ik})的 变量(Yi=yijY_i=y_{ij})的 CPT表目,可以看作权重,是对数据建模的重要参数
变量:网路中的结点