分层贝叶斯模型——结构

分层贝叶斯模型



对于一个随机变量序列$Y_{1},...,Y_{n} $,如果在任意排列顺序$\pi $下,其概率密度都满足$p(y_{1},...,y_{n})=p(y_{\pi_{1}},...,y_{\pi_{n}}) $,那么称这些变量是可交换的。当我们缺乏区分这些随机变量的信息时,可交换性是$p(y_{1},...,y_{n}) $的一个合理属性。在这种情况下,各个随机变量可以看作是从一个群体中独立采样的结果,群体的属性可以用一个固定的未知参数$\phi $来描述,即:

$$
\phi\sim p(\phi)
$$

$$
\{Y_{1},...,Y_{n}|\phi\}\sim^{i.i.d.}p(y|\phi)
$$

考虑分层数据$\{Y_{1},...,Y_{n}\} $,其中$Y_{j}=\{Y_{1,j},...,Y_{n_{j},j}\} $,那么有

$$
\{Y_{1,j},...,Y_{n_{j},j}|\phi_{j}\}\sim^{i.i.d.}p(y|\phi_{j})
$$

但是我们该如何表示组参数$\phi_{1},...,\phi_{m} $呢?若这些组本身归属于更大的组群,那么这些组参数变量同样满足可交换性,因此有

$$
\{\phi_{1},...,\phi_{m}|\phi\}\sim^{i.i.d.}p(\phi|\psi)
$$

综上,我们能够得到三个概率分布


组内采样:$\{y_{1,j},...,y_{n_{j},j}|\phi_{j}\}\sim^{i.i.d.}p(y|\phi_{j}) $

组间采样:$\{\phi_{1},...,\phi_{m}|\phi\}\sim^{i.i.d.}p(\phi|\psi) $

先验分布:$\psi \sim p(\psi) $

分层正态分布模型



下面利用分层正态分布模型来描述几个群体之间的均值异质性,设组内和组间采样都服从正态分布:


组内模型:$\phi_{j}=\{\theta_{j},\sigma^2\},\; p(y|\phi_{j})=normal(\theta_{j},\sigma^2) $

组间模型:$\psi=\{\mu,\tau^2\},\; p(\theta_{j}|\psi)=normal(\mu,\tau^2) $

模型中固定的未知参数是,和,为了方便,我们假设这些参数服从标准半共轭正态分布和逆伽马分布:


$1/\sigma^2 \sim gamma(\nu_{0}/2,\nu_{0}\sigma_{0}^2/2) $

$1/\tau^2 \sim gamma(\eta_{0}/2,\eta_{0} \tau_{0}^2/2) $

$\mu \sim normal(\mu_{0}, \gamma_{0}^2) $

模型结构如下:

后验推断:

一元正态模型重要结论:

结论1 假设抽样模型为$\{Y_{1},...,Y_{n}|\theta,\sigma^2\}\sim^{i.i.d.}normal(\theta,\sigma^2) $,如果$\theta \sim normal(\mu_{0},\tau_{0}^2) $,$1/\sigma^2 \sim gamma(\nu_{0}/2,\nu_{0}\sigma_{0}^2/2)$,那么$p(\theta|\sigma^2,y_{1},...,y_{n})\sim normal(\mu_{n},\tau_{n}^2) $,其中$\mu_{n}=\frac{\mu_{0}/\tau{0}^2+n\bar{y}/\sigma^2}{1/\tau^2+n/\sigma^2} $,$\tau_{n}^2=\Big (\frac{1}{\tau_{0}^2}+\frac{n}{\sigma^2}\Big)^{-1} $

结论2假设抽样模型为$\{Y_{1},...,Y_{n}|\theta,\sigma^2\}\sim^{i.i.d.}normal(\theta,\sigma^2) $,如果$\theta \sim normal(\mu_{0},\tau_{0}^2) $,$1/\sigma^2 \sim gamma(\nu_{0}/2,\nu_{0}\sigma_{0}^2/2)$,那么$p(\sigma^2|\theta,y_{1},...,y_{n})\sim inverse-gamma(\nu_{n}/2,\nu_{n}\sigma_{n}^2(\theta)/2) $,其中$\nu_{n}=\nu_{0}+n $,$\sigma_{n}^2(\theta)=\frac{1}{\nu_{n}[\nu_{0}\sigma_{0}^2+ns_{n}^2(\theta)]} $,$s_{n}^2(\theta)=\sum (y_{i}-\theta)^2/n $

系统中的未知参数包括组内均值$(\theta_{1},...,\theta_{m}) $和方差$\sigma^2 $以及组间均值$\mu $和方差$\tau^2 $,参数的联合后验推理可以通过构造$Gibbs $采样器来进行估计$p(\theta,...,\theta,\mu,\tau^2,\sigma^2|y_{1},...,y_{m}) $,$Gibbs $采样器通过从每个参数的全条件分布迭代采样来进行计算。

$$
\begin{aligned}
&p(\theta_{1},...,\theta_{m},\mu,\tau^2,\sigma^2|y_{1},...,y_{m})\\
&\propto p(\mu,\tau^2,\sigma^2)\times p(\theta_{1},...,\theta_{m}|\mu,\tau^2,\sigma^2)\times p(y_{1},...,y_{m}|\theta_{1},...,\theta_{m},\mu,\tau^2,\sigma^2)\\
&=p(\mu)p(\tau^2)p(\sigma^2)\Big \{\prod_{j=1}^m p(\theta_j|\mu,\tau^2)\Big\} \Big\{\prod_{j=1}^m \prod_{i=1}^n p(y_{i,j}|\theta_j,\sigma^2) \Big\}
\end{aligned}
$$

根据随机变量之间的依赖关系,我们能够得到各个变量的全条件分布

$$
p(\mu|\theta_{1},...,\theta_{m},\tau^2,\sigma^2,y_{1},...,y_{m})\propto p(\mu)\prod p(\theta_{j}|\mu,\tau^2)
$$

$$
p(\tau^2|\theta_{1},...,\theta_{m},\tau^2,\sigma^2,y_{1},...,y_{m})\propto p(\tau^2)\prod p(\theta_{j}|\mu,\tau^2)
$$

$$
p(\theta_{j}|\mu,\tau^2,\sigma^2,y_{1},...,y_{m})\propto p(\theta_{j}|\mu,\tau^2)\prod_{i=1}^{n_{j}} p(y_{i,j}|\theta_{j},\sigma^2)
$$

$$
\begin{aligned}
p(\sigma^2|\theta_{1},...,\theta_{m},y_{1},...,y_{m})&\propto p(\sigma^2)\prod_{j=1}^m \prod_{i=1}^{n_{j}}p(y_{i,j}|\theta_{j},\sigma^2)\\
&\propto (\sigma^2)^{-\nu_{0}/2+1}e^{-\frac{\nu_{0}\sigma_{0}^2}{2\sigma^2}}(\sigma^2)^{-\sum n_{j}/2}e^{-\frac{\sum \sum (y_{i,j}-\theta_{j})^2}{2\sigma^2}}
\end{aligned}
$$

从而根据上面两个结论,我们可得:

$$
\{\mu|\theta_{1},...,\theta_{m},\tau^2\}\sim normal \Big(\frac{m\bar{\theta}/\tau^2+\mu_{0}/\gamma_{0}^2}{m/\tau^2+1/\gamma_{0}^2},[m/\tau^2+1/\gamma_{0}^2]^{-1} \Big)
$$

$$
\{1/\tau^2|\theta_{1},...,\theta_{m},\mu\}\sim gamma \Big(\frac{\eta_{0}+m}{2},\frac{\eta_{0}\tau_{0}^2+\sum(\theta_{j}-\mu)^2}{2}\Big)
$$

$$
\{\theta_{j}|y_{1,j},...,y_{n,j},\sigma^2\}\sim normal\Big(\frac{n_{j}\bar{y}_{j}/\sigma^2+1/\tau^2}{n_{j}/\sigma^2+1/\tau^2},[n_{j}/\sigma^2+1/\tau^2]^{-1}\Big)
$$

$$
\{1/\sigma^2|\theta,y_{1},...,y_{n}\sim gamma \Big(\frac{1}{2}[\nu_{0}+\sum_{j=1}^m n_{j}],\frac{1}{2}[\nu_{0}\sigma_{0}^2+\sum_{j=1}^m \sum_{i=1}^{n_{j}}(y_{i,j}-\theta_{j})^2]\Big)\}
$$

计算流程:

  1. 设定先验分布参数

    $(\nu_{0},\sigma_{0}^2)\rightarrow p(\sigma^2) $

    $(\eta_{0},\tau_{0}^2) \rightarrow p(\tau_{0}^2) $

    $(\mu_{0},\gamma_{0}^2)\rightarrow p(\mu) $

  2.从全条件分布中迭代采样每个未知参数进行参数后验估计,即给定参数当前状态$\{\theta_{1}^{(s)},...,\theta_{m}^{(s)},\mu^{(s)},\tau^{2(s)},\sigma^{2(s)}\} $,新状态按下列方式获得:

    $sample:\;\mu^{(s+1)}\sim p(\mu|\theta_{1}^{(s)},...,\theta_{m}^{(s)},\tau^{2(s)}) $

    $sample:\;\tau^{2(s+1)}\sim p(\tau^2|\theta_{1}^{(s)},...,\theta_{m}^{(s)},\mu^{(s+1)})  $

    $sample:\;\sigma^{2(s+1)}\sim p(\sigma^2|\theta_{1}^{(s)},...,\theta_{m}^{(s)},y_{1},...,y_{m})  $

    $for\;each\;j\in\{1,...,m\},\;sample\;\theta_{j}^{(s+1)}\sim p(\theta_{j}|\mu^{(s+1)},\tau^{2(s+1)},\sigma^{2(s+1)},y_{i}) $

  直到参数收敛,从而得到系统参数。

进一步推广,如果组间的均值不同,组间的方差同样是不同的,此时令$\sigma_{j}^2 $为第$j $组的方差,那么我们的采样模型变为:$\{Y_{1,j},...,Y_{n_{j},j}\}\sim^{i.i.d.} normal(\theta_{j},\sigma_{j}^2) $,$\theta_{j} $的全条件分布为:$\{\theta_{j}|y_{1,j},...,y_{n_{j},j},\sigma_{j}^2\}\sim normal \Big(\frac{n_{j}\bar{y}_{j}/\sigma_{j}^2+1/\tau^2}{n_{j}/\sigma_{j}^2+1/\tau^2},[n_{j}/\sigma_{j}^2+1/\tau^2]^{-1}\Big) $

如何估计$\sigma_{j}^2 $呢?我们首先假设:

$$
\sigma_{1}^2,...,\sigma_{m}^2\sim^{i.i.d.}gamma(\nu_{0}/2,\nu_{0}\sigma_{0}^2/2)
$$

其全条件分布为:

$$
\{1/\sigma_{j}^2|y_{1,j},...,y_{n_{j},j},\theta_{j}\}\sim gamma \Big([\nu_{0}+n_{j}]/2,[\nu_{0}\sigma_{0}^2+\sum(y_{i,j}-\theta_{j})^2]/2)\Big )
$$

$\sigma_{1}^2,...,\sigma_{m}^2 $的值同样可以利用$Gibbs $采样迭代求解。

如果$\nu_{0} $和$\sigma_{0}^2 $是固定的话, $\sigma_{j}^2 $之间相互独立,也就是说$\sigma_{m}^2 $的值不能由$\sigma_{1}^2,...,\sigma_{m-1}^2 $来进行估计,但如果$\sigma_{m}^2 $所在的组别样本量很少的话,我们应该考虑采用$\sigma_{1}^2,...,\sigma_{m-1}^2 $的数据来提高对$\sigma_{m}^2 $的估计,那该如何做呢?其实我们要做的是可以把$\nu_{0} $和$\sigma_{0}^2 $作为估计值,系统整体的结构为:

从而我们的未知参数有:组内采样分布$\{(\theta_{1},\sigma_{1}^2),...,(\theta_{m},\sigma_{m}^2)\} $,组间均值异质性参数$\{\mu,\tau^2\} $,组间方差异质性参数$\{\nu_{0},\sigma_{0}^2\} $,$\{\mu,\tau^2\} $和$\{(\theta_{1},\sigma_{1}^2),...,(\theta_{m},\sigma_{m}^2)\} $的求法都已给出,现在讨论对$\{\nu_{0},\sigma_{0}^2\} $的估计。假定$\sigma_{0}^2 $服从共轭类的先验分布,$p(\sigma_{0}^2)\sim gamma(a,b) $,那么就有

$$
p(\sigma_{0}^2|\sigma_{1}^2,...,\sigma_{m}^2,\nu_{0})=dgamma(a+\frac{1}{2}m\nu_{0},b+\frac{1}{2}\sum_{j=1}^m (1/\sigma_{j}^2))
$$

简单$\nu_{0} $的共轭先验分布是不存在的,但如果我们将其限制为一个整数,问题就变得简单了。假定$\nu_{0} $的先验服从$\{1,2,...\} $上的几何分布使得$p(\nu_{0})\propto e^{-\alpha \nu_{0}} $,则

$$
\begin{aligned}
& p(\nu_{0}|\sigma_{0}^2,\sigma_{1}^2,...,\sigma_{m}^2)\\
& \propto p(\nu_{0})\times p(\sigma_{1}^2,...,\sigma_{m}^2|\nu_{0},\sigma_{0}^2)\\
& \propto \Big(\frac{(\nu_{0}\sigma_{0}^2/2)^{\nu_{0}/2}}{\Gamma(\nu_{0}/2)}\Big)^m \Big(\prod_{j=1}^m \frac{1}{\sigma_{j}^2}\Big)^{\nu_{0}/2-1}\times exp\{-\nu_{0}(\alpha+\frac{1}{2}\sigma_{0}^2\sum (1/\sigma_{j}^2))\}
\end{aligned}
$$

从而问题得到求解。

参考文献:Hoff, Peter D. A first course in Bayesian statistical methods. Springer Science & Business Media, 2009.

时间: 2024-10-12 21:19:29

分层贝叶斯模型——结构的相关文章

分层贝叶斯模型——应用

One-Shot Learning with a Hierarchical Nonparametric Bayesian Model 该篇文章通过分层贝叶斯模型学习利用单一训练样本来学习完成分类任务,模型通过影响一个类别的均值和方差,可以将已经学到的类别信息用到新的类别当中.模型能够发现如何组合一组类别,将其归属为一个有意义的父类.对一个对象进行分类需要知道在一个合适的特征空间中每一维度的均值和方差,这是一种基于相似性的度量方法,均值代表类别的基本标准,逆方差对应于类别相似性矩阵的各维度权重.O

分层贝叶斯模型——采样算法

1. 蒙特卡洛估计 若$\theta$是要估计的参数,$y_{1},...,y_{n}$是从分布$p(y_{1},...,y_{n}|\theta) $中采样的样本值,假定我们从后验分布$p(\theta|y_{1},...,y_{n})$中独立随机采样$S$个$\theta$值,则$$ \theta^{(1)},...,\theta^{(S)}\sim^{i.i.d.}p(\theta|y_{1},...,y_{n}) $$ 那么我们就能够通过样本$\{\theta^{(1)},...,\th

多种贝叶斯模型构建文本分类

多种贝叶斯模型构建及文本分类的实现 作者:白宁超 2015年9月29日11:10:02 摘要:当前数据挖掘技术使用最为广泛的莫过于文本挖掘领域,包括领域本体构建.短文本实体抽取以及代码的语义级构件方法研究.常用的数据挖掘功能包括分类.聚类.预测和关联四大模型.本文针对四大模型之一的分类进行讨论.分类算法包括回归.决策树.支持向量机.贝叶斯等,显然,不少涉及机器学习的知识(随后会写些机器学习专题).本文重点介绍贝叶斯分类,涉及朴素贝叶斯模型.二项独立模型.多项模型.混合模型等知识.在本人研究贝叶斯

PGM:贝叶斯网表示之朴素贝叶斯模型naive Bayes

http://blog.csdn.net/pipisorry/article/details/52469064 独立性质的利用 条件参数化和条件独立性假设被结合在一起,目的是对高维概率分布产生非常紧凑的表示. 随机变量的独立性 [PGM:概率论基础知识:独立性性质的利用] 条件参数化方法 Note: P(I), P(S | i0), P(S | i1)都是二项式分布,都只需要一个参数. 皮皮blog 朴素贝叶斯模型naive Bayes 朴素贝叶斯模型的学生示例 {这个示例很好的阐述了什么是朴素

我理解的朴素贝叶斯模型

我理解的朴素贝叶斯模型 我想说:"任何事件都是条件概率."为什么呢?因为我认为,任何事件的发生都不是完全偶然的,它都会以其他事件的发生为基础.换句话说,条件概率就是在其他事件发生的基础上,某事件发生的概率. 条件概率是朴素贝叶斯模型的基础. 假设,你的xx公司正在面临着用户流失的压力.虽然,你能计算用户整体流失的概率(流失用户数/用户总数).但这个数字并没有多大意义,因为资源是有限的,利用这个数字你只能撒胡椒面似的把钱撒在所有用户上,显然不经济.你非常想根据用户的某种行为,精确地估计一

机器学习Matlab打击垃圾邮件的分类————朴素贝叶斯模型

该系列来自于我<人工智能>课程回顾总结,以及实验的一部分进行了总结学习机 垃圾分类是有监督的学习分类最经典的案例,本文首先回顾了概率论的基本知识.则以及朴素贝叶斯模型的思想.最后给出了垃圾邮件分类在Matlab中用朴素贝叶斯模型的实现 1.概率 1.1 条件概率 定义:事件B发生的情况下,事件A发生的概率记作条件概率P(A|B) P(A|B)=P(A∧B)P(B) 条件概率也叫后验概率.无条件概率也叫先验概率(在没有不论什么其他信息存在的情况下关于命题的信度) 能够得到乘法规则: P(A∧B)

斯坦福ML公开课笔记13A——混合高斯模型、混合贝叶斯模型

本文对应公开课的第13个视频,这个视频仍然和EM算法非常相关,第12个视频讲解了EM算法的基础,本视频则是在讲EM算法的应用.本视频的主要内容包括混合高斯模型(Mixture of Gaussian, MoG)的EM推导.混合贝叶斯模型(Mixture of Naive Bayes,MoNB)的EM推导.因子分析模型(Factor Analysis Model)及其EM求解.由于本章内容较多,故而分为AB两篇,本篇介绍至混合模型的问题. 很久没有写这个系列的笔记了,各种事情加各种懒导致的.虽然慢

我理解的朴素贝叶斯模型【转】

转自:http://www.cnblogs.com/nxld/p/6607943.html 我想说:"任何事件都是条件概率."为什么呢?因为我认为,任何事件的发生都不是完全偶然的,它都会以其他事件的发生为基础.换句话说,条件概率就是在其他事件发生的基础上,某事件发生的概率. 条件概率是朴素贝叶斯模型的基础. 假设,你的xx公司正在面临着用户流失的压力.虽然,你能计算用户整体流失的概率(流失用户数/用户总数).但这个数字并没有多大意义,因为资源是有限的,利用这个数字你只能撒胡椒面似的把钱

机器学习Matlab实战之垃圾邮件分类————朴素贝叶斯模型

本系列来自于我<人工智能>课程复习总结以及机器学习部分的实验总结 垃圾邮件分类是监督学习分类中一个最经典的案例,本文先复习了基础的概率论知识.贝叶斯法则以及朴素贝叶斯模型的思想,最后给出了垃圾邮件分类在Matlab中用朴素贝叶斯模型的实现 1.概率 1.1 条件概率 定义:事件B发生的情况下,事件A发生的概率记作条件概率P(A|B) P(A|B)=P(A∧B)P(B) 条件概率也叫后验概率,无条件概率也叫先验概率(在没有任何其它信息存在的情况下关于命题的信度) 可以得到乘法规则: P(A∧B)