大师兄的贝叶斯网络学习笔记(四十三):贝叶斯网络(十七)

大师兄的贝叶斯网络学习笔记(四十二):贝叶斯网络(十六)

八、结构学习

2. 贝叶斯模型选择
  • 设D是一组关于变量X_1,X_2,...,X_n的完整i.i.d数据,G是一个以X_1,X_2,...,X_n为节点的贝叶斯网络。
  • 如果参数先验分布p(\theta_G|G)是如下的乘积狄利克雷分布:p(\theta_G|G)\propto \prod^n_{i=1}\prod^{q_i}_{j=1}\prod^{r_i}_{k=1}\theta^{\alpha_{ijk-1}}_{ijk}$。
  • 那么L(G|D) = \prod^n_{i=1}\prod^{G_I}_{J=1}\frac{/Gamma(a_{ij}*)}{\Gamma(a_{ij}*+m_{ij}*)}\frac{\Gamma(a_{ijk}+m_{ijk})}{\Gamma(a_{ijk})}
  • 其中m_{ijk}是D中满足X_i=k,\pi(X_i)=j的样本个数,m_ij*=\sum^{r_i}_{k=1}m_{ijk},a_{ij}*=\sum^{r_i}_{k=1}a_{ijk}
  • 证明:为方便起见,约定在D = \phi时,P(D|G) = P(\phi|G)=1
  • 在这一约定下P(G,D_{m+1})|G=P(G|D)P(D_{m+1}|G,D)即使在D=\phi时也成立。
  • D=\phi时,公式等号左边按约定是1。所以此时公式成立。
  • 设公式在m个样本即D=(D_1,D_2,...,D_m)的情况下成立。
  • 下面证明它在m+1个样本即D\concate D_{m+1}=(D_1,D_2,...,D_m,D_{m+1})时也成立。
  • m_{ijk}是m个样本时,满足X_i=k,\pi(X_i) = j的样本的个数;
  • m'_{ijk}是m+1个样本时,满足X_i=k,\pi(X_i)=j的样本的个数,有m_ijk=\sum^m_{l=1}\Chi(i,j,k:D_l),m'_{ijk}=\sum^{m+1}_{l=1}(i,j,k:D_l)
  • 于是m'_{ijk}=m_{ijk}+\Chi(i,j,j:D_{m+1}),m'_{ij*}=m_{ij*}+\Chi(i,j,*:D_{m+1})
  • 其中\Chi(i,j,*:D_{m+1})=\sum^{r_i}_{k=1}\Chi (i,j,k:D_{m+1})
  • 根据归纳假设,有P(D|G) = \prod^n_{i=1}\prod^{q_i}_{j=1}\frac{\Gamma(a_{ij*})}{\Gamma(a_{ij*}+m_{ij*})}\prod^{r_i}_{k=1}\frac{\Gamma(a_{ijk}+m_{ijk})}{\Gamma(a_{ijk})}
  • P(D_{m+1}|G,D)是在给定网络结构G的情况下,基于D对D_{m+1}的分布进行贝叶斯估计的结果。
  • 可以改写成如下式P(D_{m+1} \mid \mathcal{G}, \mathcal{D}) = \prod_{i=1}^n \prod_{j=1}^{q_i} \frac{1}{(m_{ij} + \alpha_{ij})} \chi_{(i,j,*,D_{m+1})} \prod_{k=1}^{r_i} (m_{ijk} + \alpha_{ijk})^{\chi_{(i,j,k,D_{m+1})}}
  • 简化后,得P(\mathcal{D}, D_{m+1} \mid \mathcal{G}) = \prod_{i=1}^n \prod_{j=1}^{q_i} \frac{\Gamma(\alpha_{ij})}{\Gamma(\alpha_{ij} + m_{ij}) (m_{ij} + \alpha_{ij})^{\chi_{(i,j,*,D_{m+1})}}} \times \prod_{k=1}^{r_i} \frac{\Gamma(\alpha_{ijk} + m_{ijk}) (m_{ijk} + \alpha_{ijk})^{\chi_{(i,j,k,D_{m+1})}}}{\Gamma(\alpha_{ijk})}
  • 由于\Chi (i,j,*:D_{m+1})非0即1,而\Gamma函数满足\Gamma(a+1)=a\Gamma(a),有P(\mathcal{D}, D_{m+1} \mid \mathcal{G}) = \prod_{i=1}^n \prod_{j=1}^{q_i} \frac{\Gamma(\alpha_{ij})}{\Gamma(\alpha_{ij} + m_{ij}) + \chi_{(i,j,*,D_{m+1})}} \times \prod_{k=1}^{r_i} \frac{\Gamma(\alpha_{ijk} + m_{ijk}) + \chi_{(i,j,k,D_{m+1})}}{\Gamma(\alpha_{ijk})}
  • P(\mathcal{D}, D_{m+1} \mid \mathcal{G}) = \prod_{i=1}^n \prod_{j=1}^{q_i} \frac{\Gamma(\alpha_{ij})}{\Gamma(\alpha_{ij} + m'_{ij})} \prod_{k=1}^{r_i} \frac{\Gamma(\alpha_{ijk} + m'_{ijk})}{\Gamma(\alpha_{ijk})}
  • 证明了前面的公式再m+1时成立,所以定理得证。
  • 公式两边取对数,得l(\mathcal{G} \mid \mathcal{D}) = \sum_{i=1}^n \sum_{j=1}^{q_i} \left[ \log \frac{\Gamma(\alpha_{ij})}{\Gamma(\alpha_{ij} + m_{ij})} + \sum_{k=1}^{r_i} \log \frac{\Gamma(\alpha_{ijk} + m'_{ijk})}{\Gamma(\alpha_{ijk})} \right]
  • 公式右边给出的量称为结构G的Cooper-Herskovits怕评分,简称CH评分
  • 如果假设结构先验分布是均匀分布,那么用贝叶斯评分选择模型就等于是用CH评分来选择模型。
  • 在使用CH评分之前,首先需要选定参数先验分布p(\theta_G|G)中的超参数G_{ijk}
  • 在实际中,人们往往规定一个等价样本a和一个先验贝叶斯网络N_0,并且利用下式得到G_{ijk}
  • \alpha_{ijk} = \alpha P_{\mathcal{N}_0}(X_i = k \mid \pi_{\mathcal{N}_0}(X_i) = j)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容