贝叶斯网络(四)--完整数据集下的参数学习

本节主要讲完整数据集下的参数学习, 在贝叶斯网络中参数就是计算路径概率的时候,每条连边的概率。对于这个概率主要有两种做法,这一种是 频率学派, 一种贝叶斯学派。

频率学派

这种方法是最容易理解和做的,直接调过证明过程,看一个小例子。看如图1的概率关系。
图1

M F R
m0m_{0} bad O
m0m_{0} bad O
m0m_{0} bad O
m0m_{0} bad O
m0m_{0} bad N
m0m_{0} good O
m1m_{1} bad O
m1m_{1} bad N
m1m_{1} good O
m1m_{1} good N
m1m_{1} good O
m1m_{1} good N
m1m_{1} good O
m1m_{1} good N
m2m_{2} good N

P(M=m0)=615P(M=m1)=815P(M=m2)=115P(M=m_{0})=\frac{6}{15} \\ P(M=m_{1})=\frac{8}{15} \\ P(M=m_{2})=\frac{1}{15} \\

P(F=goodM=m0)=16P(F=badM=m0)=56P(F=good|M=m_{0})=\frac{1}{6} \\ P(F=bad|M=m_{0})=\frac{5}{6} \\

这样就简单的将参数构建好了,基于一个完整的数据。

基于最大后验分布的参数估计

基于最大后验分布的参数估计假设先验分布是Dirichlet分布, 那么参数θij\theta_{ij}的后验分布为

P(θijD)=Dir(θijaij1+aij1,...,aijr+aijr)P(\theta_{ij}|D)=Dir(\theta_{ij}|a_{ij1}'+a_{ij1},...,a_{ijr}'+a_{ijr})

利用求数学期望对参数进行估计

θ=aijk+aijkk=1raijk+aijk\theta=\frac{a_{ijk}'+a_{ijk}}{\sum_{k=1}^{r} a_{ijk}'+a_{ijk}}

这里可以举出一个例子,对于射击手来讲,一个队员射击了10次,中靶6次,和另一个队员设计100次,中靶60次,命中率都是60%。结论是水平相当。假设先验信息没有数据的情况, 那么使用均匀分布作为其分布,咱们假设aijk=1a_{ijk}=1, 那么第一个队员的实际命中率就变成了 1+62+10\frac{1+6}{2+10} ,第二个队员的水平是 1+602+100\frac{1+60}{2+100},明显第二个队员的水平更加靠谱一点。

对于上面的例子,咱们也用同样的方式看一下。对于M而言, Dirichlet系数为[50, 50,0].

P(M=m0)=6+5015+100P(M=m1)=8+5015+100P(M=m2)=1+015+100P(M=m_{0})=\frac{6+50}{15+100} \\ P(M=m_{1})=\frac{8+50}{15+100} \\ P(M=m_{2})=\frac{1+0}{15+100} \\

对于Dirichlet的系数(F,M=mi=[9,1](F,M=m_{i}=[9,1],表示在无论M取什么值的条件下,在训练数据以外,F=OK和F=BAD都各自发生了9和1次,以此来避免训练数据里没有就否定了这种可能性的情况.

P(F=badM=m2)=0+11+10P(F=bad|M=m_{2})=\frac{0+1}{1+10} \\

(0 + 1) 表示数据集中没有M=m2的条件下F=BAD的数据,1表示假样本有1笔

(1 + 10) 表示数据集中有一笔M=m2的数据,10表示相应的假样本有10笔

延伸

其实还有一趴东西是在不完整数据基础上进行进一步的探索。参数学习方式上有EM算法和gibbs采样方式,给大家如何将数据补全的方式,这里就不过多介绍啦。对于结构的学习一般是结构的EM算法。有兴趣可以继续探索

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×