在前一节中,我们看到了如何在一组离散变量上构建联合概率分布,构建方法是将变量表示为有向无环图上的结点。这里,我们将说明多元高斯分布如何表示为一个对应于成分变量上的线性高斯模型的有向无环图。这使得我们在概率分布上施加有趣的结构,这些结构中的两个相反的极端情况是一般的高斯分布和对角化协方差高斯分布。几种广泛使用的方法是线性高斯模型的例子,例如概率主成分分析,因子分析,以及线性动态系统(Roweis and Ghahramani, 1999)。在后续章节中,当我们详细讨论一些方法时,我们会频繁使用本节的结果。
考虑$$ D $$个变量上的任意的有向无环图,其中结点$$ i $$表示服从高斯分布的一元连续随机变量$$ x_i $$。这个分布的均值是结点$$ i $$的父结点$$ pa_i $$的状态的线性组合,即
$$
p(x_i|pa_i) = \mathcal{N}\left(x_i \big| \sum\limits_{j \in pa_i} w_{ij}x_j + b_i, v_i\right) \tag{8.11}
$$
其中$$ w_{ij}, b_i $$是控制均值的参数,$$ v_i $$是$$ x_i $$的条件概率分布的方差。这样,联合概率分布的对数为图中所有结点上的这些条件分布的乘积的对数,因此形式为
$$
\begin{eqnarray}
\ln p(x) &=& \sum\limits_{i=1}^D\ln p(x_i|pa_i) \tag{8.12} \\
&=& -\sum\limits_{i=1}^D\frac{1}{2v_i}\left(x_i - \sum\limits_{j \in pa_i} w_{ij}x_j - b_i\right)^2 + const \tag{8.13}
\end{eqnarray}
$$
其中$$ x = (x_1,...,x_D)^T $$,“常数”表示与$$ x $$无关的项。我们看到这是x的元素的二次函数,因此联合概率分布$$ p(x) $$是一个多元高斯分布。
我们可以递归地确定联合概率分布的均值和方差,方法是:每个变量$$ x_i $$的概率分布都是(以父结点状态为条件的)高斯分布,形式为式(8.11)所示。因此
$$
x_i = \sum\limits_{j \in pa_i}w_{ij}x_j + b_i + \sqrt{v_i}\epsilon_i \tag{8.14}
$$
其中$$ \epsilon_i $$是一个0均值单位方差的高斯随机变量,满足$$ \mathbb{E}[\epsilon_i] = 0 $$且$$ \mathbb{E}[\epsilon_i\epsilon_j] = I_{ij} $$,其中$$ I_{ij} $$是单位矩阵的第$$ i, j个 $$元素。对式(8.14)取期望,得到
$$
\mathbb{E}[x_i] = \sum\limits_{j \in pa_i}w_{ij}\mathbb{E}[x_j] + b_i \tag{8.15}
$$
这样,从一个序号最低的结点开始,沿着图递归地计算,我们就可以求出$$ \mathbb{E}[x] = (\mathbb{E}[x+1],...,E[x_D])^T $$的各个元素。这里,我们再一次假设所有结点的序号都大于它的父结点的句号。类似地,我们可以使用式(8.14)和(8.15),以递归的方式得到$$ p(x) $$的协方差矩阵的第$$ i, j $$个元素,即
$$
\begin{eqnarray}
cov[x_i,x_j] &=& \mathbb{E}[(x_i − \mathbb{E}[x_i])(x_j − \mathbb{E}[x_j])] \\
&=& \mathbb{E}\left[(x_i - \mathbb{E}[x_i])\left{\sum\limits_{k \in pa_j}w_{jk}(x_k - \mathbb{E}[x_k]) + \sqrt{v_j}\epsilon_j\right}\right] \\
&=& \sum\limits_{k \in pa_j}w_{jk}cov[x_i,x_k] + I_{ij}v_j \tag{8.16}
\end{eqnarray}
$$
因此协方差可以从序号最低的结点开始,递归地计算。
让我们考虑两个极端的情形。首先,假设图中不存在链接,因此图由$$ D $$个孤立的结点组成。在这种情况下,不存在参数$$ w_{ij} $$,因此只有$$ D $$个参数$$ b_i $$和$$ D $$个参数$$ v_i $$。根据递归关系(8.15)和(8.16),我们看到$$ p(x) $$的均值为$$ (b_1,...,b_D)^T $$,协方差矩阵是一个对角矩阵,形式为$$ diag(v_1,...,v_D) $$。联合概率分布总计有$$ 2D $$个参数,表示$$ D $$个独立的一元高斯分布组成的集合。
现在考虑一个全连接的图,其中每个结点的序号都低于其父结点的序号。这样矩阵$$ w_{ij} $$的第$$ i $$行有$$ i − 1 $$项,因此矩阵是一个下三角矩阵(主对角线上没有元素)。从而参数$$ w_{ij} $$的数量可以通过:取$$ D \times D $$的元素个数$$ D^2 $$,由于主对角线上没有元素所以减去$$ D $$,因为矩阵只在对角线下方存在元素所以除以$$ 2 $$,从而参数的总数为$$ D(D−1) / 2 $$。独立参数$$ {w_{ij}} $$加上协方差矩阵中的$$ {v_i} $$,因此独立参数的总数为$$ D(D+1) / 2 $$,对应于一个一般的对称协方差矩阵。
复杂度处于两种极端情况之间的图对应于协方差矩阵取特定形式的联合高斯分布。考虑图8.14,它在变量$$ x_1,x_3 $$之间不存在链接。使用递归关系(8.15)和(8.16),我们看到联合高斯分布的均值和协方差为
$$
\begin{eqnarray}
\mu = (b_1,b_2 + w_{21}b_1, b_3 + w_{32}b_2 + w_{32}w{21}b_1)^T \tag{8.17} \\
\Sigma =
\left(
\begin{array}{ccc}
v_1 & w_{21}v_1 & w_{32}w_{21}v_1 \\
w_{21}v_1 & v_2 + w_{21}^2v_1 & w_{32}(v_2 + w_{21}^2v_1) \\
w_{32}w_{21}v_1 & w_{32}(v_2 + w_{21}^2v_1) & v_3 + w_{32}^2(v_2 + w_{21}^2v_1) \\
\end{array}
\right) \tag{8.18}
\end{eqnarray}
$$
我们已经可以将线性高斯图模型扩展到结点表示多元高斯变量的情形。在这种情况下,我们可以将结点i的条件概率分布写成下面的形式
$$
p(x_i|pa_i) = \mathcal{N}\left(x_i|\sum\limits_{j \in pa_i}W_{ij}x_j + b_i, \Sigma_i\right) \tag{8.19}
$$
现在$$ W_{ij} $$是一个矩阵。如果$$ x_i, x_j $$的维度不同,那么$$ W_{ij} $$不是方阵。与之前一样,很容易证明所有变量上的联合概率分布是高斯分布。
注意,我们已经看到高斯变量$$ x $$的均值$$ \mu $$的共轭先验本身是$$ \mu $$上的一个高斯分布。此时我们已经遇到了线性高斯关系的一个具体的例子。因此$$ x $$和$$ \mu $$的联合分布就是高斯分布。这对应于一个简单的具有两个结点的图,其中表示$$ \mu $$和结点是表示$$ x $$的结点的父结点。$$ \mu
$$上的概率分布的均值是控制先验分布的参数,因此它可以被看做超参数。由于超参数的值本身是未知的,因此我们可以再一次使用贝叶斯的观点,引入一个超参数上的先验概率分布。这个先验概率分布有时被称为超先验(hyperprior),它还是一个高斯分布。这种构造过程原则上可以延伸到任意层次。这个模型是层次贝叶斯模型(hierarchical Bayesian model)的一个例子,我们会在后续章节中遇到这个模型的更多例子。