18 高斯网络(Gaussian Network)

18 高斯网络(Gaussian Network)

1 Background

概率图模型(Probability Graphic Model),我们之前学习的是贝叶斯网络和马尔可夫随机场,之
前学习的概率图中每个节点都是离散随机变量。所以根据图是有向图还是无向图,我们可以将概率图
模型分成贝叶斯网络(Bayesian Network) 和马尔可夫随机场(Markov Random Field)。
而如果概率图中每个节点都是一维连续随机变量,则称为高斯网络,进一步,根据图是有向图还是无向图,可以被分为高斯
贝叶斯网络(Gaussian Bayesian Network) 和高斯马尔可夫随机场(Gaussian Markov Random Field)。

1.1 高斯网络概念

假设高斯马尔可夫随机场的概率图模型如下所示:
18 高斯网络(Gaussian Network)
每一个节点都是一个一维随机变量,每一个节点 xiN(μi,Σi),x_{i} \sim \mathcal{N}\left(\mu_{i}, \Sigma_{i}\right), 而所有的节点构成的集合: X=\mathcal{X}= (x1,x2,,xp)T\left(x_{1}, x_{2}, \cdots, x_{p}\right)^{T} 。多维变量的高斯分布为:
P(X)=1(2π)72Σ12exp{12(Xμ)TΣ1(Xμ)} P(X)=\frac{1}{(2 \pi)^{\frac{7}{2}}|\Sigma|^{\frac{1}{2}}} \exp \left\{-\frac{1}{2}(X-\mu)^{T} \Sigma^{-1}(X-\mu)\right\}
所以,一个高斯网络就可以映射为一个高维高斯分布。而协方差矩阵 Σ\Sigma 实际就反映了变量之间的联系。
由于高斯分布的自共轭性,单个变量和整个高斯网络都是符合高斯分布的。
协方差矩阵为:
Σ=(σij)=[σ11σ12σ1pσ21σ22σ2pσp1σp2σpp]p×p \Sigma=\left(\sigma_{i j}\right)=\left[\begin{array}{cccc} \sigma_{11} & \sigma_{12} & \cdots & \sigma_{1 p} \\ \sigma_{21} & \sigma_{22} & \cdots & \sigma_{2 p} \\ \vdots & \vdots & \ddots & \vdots \\ \sigma_{p 1} & \sigma_{p 2} & \cdots & \sigma_{p p} \end{array}\right]_{p \times p}
而协方差矩阵描述的就是两个变量之间关系,当 σij=0,\sigma_{i j}=0, 就等价于 xixjx_{i} \perp x_{j} 。整个是绝对独立或者称之为边缘独立,而在我们概率图模型中往往研究的是条件独立 xAxBxCx_{A} \perp x_{B} | x_{C}(xA,xB,xCx_{A}, x_{B}, x_{C} 都是节点的集合)。我们研究条件独立性实际上是为了简化计算,因为完全图的复杂度实在是太高了。
我们定义信息矩阵(Information Matrix) 或者也被称为精度矩阵(Precision Matrix) 为:
Λ=Σ1=[λ11λ12λ1pλ21λ22λ2pλp1λp2λpp]p×p \Lambda=\Sigma^{-1}=\left[\begin{array}{cccc} \lambda_{11} & \lambda_{12} & \cdots & \lambda_{1 p} \\ \lambda_{21} & \lambda_{22} & \cdots & \lambda_{2 p} \\ \vdots & \vdots & \ddots & \vdots \\ \lambda_{p 1} & \lambda_{p 2} & \cdots & \lambda_{p p} \end{array}\right]_{p \times p}
λij=0\lambda_{i j}=0 就意味着 xixj{xi,xj}x_{i} \perp x_{j} |-\left\{x_{i}, x_{j}\right\} 这就可以用来表示条件概率了。这也是信息矩阵的微妙之处, 至于为什么我们相信大部分同学都是一脸構逼,这里会在后面进行描述。

1.2 小结

Gaussian Network 是连续型的概率图模型,一个高斯网络实际上可以看成是一个高维高斯分布。 协方差矩阵中可以反映完全独立性,而精度矩阵中可以反映条件独立性,也就是在其他所有节点已知
的情况下,两个节点之间的独立性。下面我们要分别介绍 Gaussian Bayesian Network 和 Gaussian
Markov Random Field

2 Gaussian Bayesian Network

在连续型的 Probability Graphic Model 中,有向图,被我们称之为 Gaussian Bayesian Network。 假设概率图中一共有 pp 个节点,根据我们之前学习的贝叶斯网络的因子分析法,可以得到:
P(X)=i=1pP(xixpa(i)) P(X)=\prod_{i=1}^{p} P\left(x_{i} | x_{\mathrm{pa}(i)}\right)
pa(i)\mathrm{pa}(i) 是一个集合,代表 xix_{i} 节点的父亲节点集合。 GBN is based on Linear Gaussian Model。GBN 是一个 global 的概念,代表的是整个高斯网络, 也就是 X 之间的高维高斯分布。而 Linear Gaussian Model 指的是 local 的模型,也就是局部父亲节 点与孩子节点之间的关系是符合高斯线性模型的。
我们看看标准的线性高斯模型:
{P(x)=N(xμx,Σx)P(yx)=N(yAx+b,Σy) \left\{\begin{array}{l} P(x)=\mathcal{N}\left(x | \mu_{x}, \Sigma_{x}\right) \\ P(y | x)=\mathcal{N}\left(y | A x+b, \Sigma_{y}\right) \end{array}\right.
线性就体现在了y 与x 之间的关系。

2.1 Kalman Filter 回顾

我们以HMM 为例,概率图模型如下所示:
18 高斯网络(Gaussian Network)
Kalman Filter 是用来解决 HMM 问题中的 Filter 问题,也被称之为线性高斯系统,线性主要体
现在下面两个地方:
{P(xtxt1)=N(xtAxt1+B,Q)P(ytxt)=N(ytCxt+D,R) \left\{\begin{array}{l} P\left(x_{t} | x_{t-1}\right)=\mathcal{N}\left(x_{t} | A x_{t-1}+B, Q\right) \\ P\left(y_{t} | x_{t}\right)=\mathcal{N}\left(y_{t} | C x_{t}+D, R\right) \end{array}\right.
变量之间的线性关系即为:
{xt=Axt1+B+ϵϵN(0,Q)yt=Cxt+D+δδN(0,R) \left\{\begin{array}{ll} x_{t}=A x_{t-1}+B+\epsilon & \epsilon \sim \mathcal{N}(0, Q) \\ y_{t}=C x_{t}+D+\delta & \delta \sim \mathcal{N}(0, R) \end{array}\right.
这就是 Kalman Filter 的 Representation Model,也就是一种特殊的 Gaussian Bayesian Model。

2.2 Gaussian Bayesian Model 详解

下面我以如下所示的 Gaussian Bayesian Model 为例:
18 高斯网络(Gaussian Network)
很显然 xpa(i)={x1,x2}x_{\mathrm{pa}(i)}=\left\{x_{1}, x_{2}\right\} 。根据因子分解法,我们可以得到:
P(X)=i=1pP(xixPa(i)) P(X)=\prod_{i=1}^{p} P\left(x_{i} | x_{\mathrm{Pa}(i)}\right)
我们将 xpa(i)x_{\mathrm{pa}(i)} 写成向量形式,所以 xpa(i)=(x1,x2,,xk)x_{\mathrm{pa}(i)}=\left(x_{1}, x_{2}, \cdots, x_{k}\right) 。根据父子节点之间的线性关系,我们可以 得到:
P(xixpa(i))=N(xiμi+wiTxpa(i),σi2) P\left(x_{i} | x_{\mathrm{pa}(i)}\right)=\mathcal{N}\left(x_{i} | \mu_{i}+w_{i}^{T} x_{\mathrm{pa}(i)}, \sigma_{i}^{2}\right)
其中 , xix_{i} 是一维变量, 实际上我们可以看成 xix_{i} 就是它的父亲节点的线性组合, 所以说 Guassian Network 是基于局部模型,局部模式是一个 Linear Gaussian Model,为了清楚表示可以写为:
xi=μi+jxp=(i)wij(xjμj)+σiξi x_{i}=\mu_{i}+\sum_{j \in x_{p=(i)}} w_{i j} \cdot\left(x_{j}-\mu_{j}\right)+\sigma_{i} \cdot \xi_{i}
这里有的小伙伴可能会有点槽逼了,实际上我们将这个 xjx_{j} 写成 (xjμj),\left(x_{j}-\mu_{j}\right), 是为了使其进行归一化,使 均值等于 0,以 0 为中心,便于对 learning 的运算。而 ξiN(0,1),\xi_{i} \sim \mathcal{N}(0,1), 我们知道 σiξi\sigma_{i} \cdot \xi_{i} 的方差还是为 σ2,\sigma^{2}, 而乘上一个随机变量是使 xix_{i} 变成一个随机变量。而为了统一结构,我们将其写为:
xiμi=jxpa(i)wij(xjμj)+σiξi x_{i}-\mu_{i}=\sum_{j \in x_{\mathrm{pa}(i)}} w_{i j} \cdot\left(x_{j}-\mu_{j}\right)+\sigma_{i} \cdot \xi_{i}
很显然, 这就是一种线性组合。从全局角度看就是 Gaussian Network,从局部角度来看就是一个 Linear
Gaussian Model

2.3 Gaussian Bayesian Model 的矩阵表达形式

假如,高斯网络中有pp 个节点,各个节点变量组成的集合为:
X=(x1,x2,,xp)T X=\left(x_{1}, x_{2}, \cdots, x_{p}\right)^{T}
相应每个节点的均值为:
μ=(μ1,μ2,,μp)T \mu=\left(\mu_{1}, \mu_{2}, \cdots, \mu_{p}\right)^{T}
每个节点对应的一个 N(0,1)\mathcal{N}(0,1) 的随机变量为:
ξ=(ξ1,ξ2,,ξp)T \xi=\left(\xi_{1}, \xi_{2}, \cdots, \xi_{p}\right)^{T}
节点与节点之间的权重组成了一个矩阵为:
W=[wij]p×p W=\left[w_{i j}\right]_{p \times p}
SSσi\sigma_{i} 组成一个对角矩阵:
S=diag(σi)p×p S=\operatorname{diag}\left(\sigma_{i}\right)_{p \times p}
所以,我们就可以得到 Gaussian Linear Representation 的向量表达形式为:
Xμ=W(Xμ)+Sξ X-\mu=W(X-\mu)+S \cdot \xi
化简就可以得到:
Xμ=(IW)1Sξ X-\mu=(I-W)^{-1} S \cdot \xi
当然我们都假设这里都是可逆的。因为 XN(μ,Σ),X \sim \mathcal{N}(\mu, \Sigma), 我们把变量看成 Xμ,X-\mu, 所以重点要计算的就 是 Σ\Sigma ㇇
Σ=cov(X)=cov(Xμ)=cov((IW)1Sξ)cov((IW)1Sξ)=((IW)1S)T((IW)1S)cov(ξ)=((IW)1S)T((IW)1S) \begin{array}{c} \Sigma=\operatorname{cov}(X)=\operatorname{cov}(X-\mu)=\operatorname{cov}\left((I-W)^{-1} S \cdot \xi\right) \\ \operatorname{cov}\left((I-W)^{-1} S \cdot \xi\right)=\left((I-W)^{-1} S\right)^{T}\left((I-W)^{-1} S\right) \operatorname{cov}(\xi)=\left((I-W)^{-1} S\right)^{T}\left((I-W)^{-1} S\right) \end{array}
因为这里的 (IW)1S(I-W)^{-1} S 是一个确定的常数。

2.4 小结

在这一小节中,我们主要研究了连续随机变量的有向图,为Gaussian Bayesian Model,我们主要
研究的是模型的表达形式,包括向量表达形式。最后,老师在求协方差矩阵的时候,没有求完,我觉
得比较简单就顺手写了。高斯贝叶斯模型,全局是多维高斯分布,局部是线性高斯模型。

3 Gaussian Markov Random Field

这小节我们要介绍的连续变量的无向图结构,高斯马尔可夫随机场(Gaussian Markov Random
Field)。多维高斯分布的概率密度函数如下所示:
P(X)=1(2π)P2Σ12exp{12(Xμ)TΣ1(Xμ)}P(X)=\frac{1}{(2 \pi)^{\frac{P}{2}}|\Sigma|^{\frac{1}{2}}} \exp \left\{-\frac{1}{2}(X-\mu)^{T} \Sigma^{-1}(X-\mu)\right\}
假设现有一个Gaussian Markov Random Field 如下图所示:
18 高斯网络(Gaussian Network)

3.1 Gaussian Markov Random Field 的概率计算

之前,我们使用了最大团的势函数的乘积来计算随机变量的概率。这里成对Markov 性质,我们
使用另一种表达方式,更适合对此问题的分析。我们假设模型中有p 个节点,那么概率表达如下所示:
P(X)=1Zi=1pϕ(xi)i,jXϕij(xi,xj) P(X)=\frac{1}{Z} \prod_{i=1}^{p} \phi\left(x_{i}\right) \cdot \prod_{i, j \in X} \phi_{i j}\left(x_{i}, x_{j}\right)
其中 ϕ(xi)\phi\left(x_{i}\right) 表示的是一个点的势函数,被称为 node potential; 而 ϕij(xi,xj)\phi_{i j}\left(x_{i}, x_{j}\right) 表示的是一条边的势函 数,被称为 edge potential。令 Σ1=Λ,\Sigma^{-1}=\Lambda, 下面我来计算 P(X)P(X) 的表达形式,为了清晰的分析,我们只 考虑和 X 相关的部分。
P(X)exp{12(Xμ)TΣ1(Xμ)}=exp{12(XTΛμTΛ)(Xμ)}=exp{12(XTΛXXTΛμμTΛX+μTΛμ} \begin{aligned} P(X) & \propto \exp \left\{-\frac{1}{2}(X-\mu)^{T} \Sigma^{-1}(X-\mu)\right\} \\ &=\exp \left\{-\frac{1}{2}\left(X^{T} \Lambda-\mu^{T} \Lambda\right)(X-\mu)\right\} \\ &=\exp \left\{-\frac{1}{2}\left(X^{T} \Lambda X-X^{T} \Lambda \mu-\mu^{T} \Lambda X+\mu^{T} \Lambda \mu\right\}\right. \end{aligned}
其中,X 和 μ\mup×1p \times 1 的矩阵, Λ\Lambdap×pp \times p 的矩阵。所以, XTΛμX^{T} \Lambda \muμTΛX\mu^{T} \Lambda X 都是一维实数,且 XTΛμ=μTΛX( 这还无法理解就自己拆开算一下吧 )X^{T} \Lambda \mu=\mu^{T} \Lambda X(\text { 这还无法理解就自己拆开算一下吧 })
P(X)exp{12(XTΛX2μTΛX+μTΛμ)} P(X) \propto \exp \left\{-\frac{1}{2}\left(X^{T} \Lambda X-2 \mu^{T} \Lambda X+\mu^{T} \Lambda \mu\right)\right\}
最后一项 μTΛμ\mu^{T} \Lambda \muXX 无关,所以
P(X)exp{12(XTΛX2μTΛX)}=exp{12XTΛX+μTΛX} P(X) \propto \exp \left\{-\frac{1}{2}\left(X^{T} \Lambda X-2 \mu^{T} \Lambda X\right)\right\}=\exp \left\{-\frac{1}{2} X^{T} \Lambda X+\mu^{T} \Lambda X\right\}
又因为, Λ\Lambda 是对称矩阵,所以 (μTΛ)T=(Λμ),\left(\mu^{T} \Lambda\right)^{T}=(\Lambda \mu), 所以:
P(X)exp{12XTΛX+(Λμ)TX}    (17) P(X) \propto \exp \left\{-\frac{1}{2} X^{T} \Lambda X+(\Lambda \mu)^{T} X\right\} \ \ \ \ (17)
其中 XTΛXX^{T} \Lambda X 为二次项, (Λμ)TX(\Lambda \mu)^{T} X 为一次性, 其中 Λ\Lambda 为 Precision Matrix, Λμ\Lambda \mu 为 Potential Matrix

3.2 Gaussian Markov Random Field 次项分析

我们来从 (17) 中提取一下和 xix_{i} 相关的项,提取的方法直接寻找相关项就行:
xi:12xi2λii+hixi x_{i}:-\frac{1}{2} x_{i}^{2} \lambda_{i i}+h_{i} x_{i}
其中, hih_{i} 为一个 pp 维的向量。 接着从 (17) 提取和 xix_{i}xjx_{j} 的相关项:
xi,xj:12(λijxixj+λjixjxi)=λijxixj x_{i}, x_{j}:-\frac{1}{2}\left(\lambda_{i j} x_{i} x_{j}+\lambda_{j i} x_{j} x_{i}\right)=-\lambda_{i j} x_{i} x_{j}
因为, Λ\Lambda 是对称矩阵。 当 λijxixj=0,\lambda_{i j} x_{i} x_{j}=0, 就意味着边上的势函数就等于 0,0, 就意味着两个点之间是没有边是直接相连的。因因为没有边直接向量,那么在其他点都观察到的情况广, xix_{i}xjx_{j} 之间是相互独立的。所以, λijxixj=0\lambda_{i j} x_{i} x_{j}=0 就蕴涵着 xixj{xi,xj},x_{i} \perp x_{j} |-\left\{x_{i}, x_{j}\right\}, 这实际上非常的巧妙。所以,通过上述的分析,我们就成功的把多维高 斯分布和一个无向图结合在了一起。所以,我们对 P(X) 进行研究的目的就是想知道,多维高斯模型 和无向图之间的关系。通过 Λ\Lambda 知阵微到了一个结合,这也就是我们在公式 (3) 下方给出的结论的原因。
我们可以看到,在对Gaussian Distribution 的参数进行学习的过程中,我们不仅可以学习到了参数,也同时根据ΛΛ的也就可以学习到结构 Λ\Lambda 单也就可以学习到结构 (λijxixj=0xixj{xi,xj})\left(\lambda_{i j} x_{i} x_{j}=0 \Longleftrightarrow x_{i} \perp x_{j} |-\left\{x_{i}, x_{j}\right\}\right) 。因为高斯分布
和高斯马尔可夫场的巧妙联系,在学习的过程中参数和结构都有考虑,这样的做法是非常棒的。

3.3 小结

本小节,最重要的就是三点,这里总结一下:

  • xixjx_{i} \perp x_{j},Σ=[σij],xixjσij=0,, \Sigma=\left[\sigma_{i j}\right], x_{i} \perp x_{j} \Longleftrightarrow \sigma_{i j}=0, 也就是边缘独立,或者说是完全独立。
  • xixjxi,xjx_{i} \perp x_{j} |-x_{i}, x_{j} 中。 Λ=Σ1=[λij],xixjxi,xjλij=0,\Lambda=\Sigma^{-1}=\left[\lambda_{i j}\right], x_{i} \perp x_{j} |-x_{i}, x_{j} \Longleftrightarrow \lambda_{i j}=0, 这就是条件独立的特点。
  • x,P(xixi)N(ijλijλiixj,λii1(σii)),\forall x, P\left(x_{i} |-x_{i}\right) \sim \mathcal{N}\left(\sum_{i \neq j} \frac{\lambda_{i j}}{\lambda_{i i}} x_{j}, \lambda_{i i}^{-1}\left(\sigma_{i i}\right)\right), 根据这个公式,我们可以深刻的体会到 xix_{i} 可以看做其他与其相连的 xjx_{j} 的线性组合。这个公式是怎么算来的呢?实际上思路很简单,
    X=[xi{xi}]=[xaxb] X=\left[\begin{array}{c} x_{i} \\ -\left\{x_{i}\right\} \end{array}\right]=\left[\begin{array}{c} x_{a} \\ x_{b} \end{array}\right]

而如果在知道高斯分布联合概率分布的情况下,求解条件概率分布是有系统的推导方法的。这里就不推了,有兴趣的同学自己请查阅之前讲到的“[机器学习基础02] 白板推导数学基础”,并且参考up 主的思路,或者PRML 的第二章P85,条件高斯分布。有详细的推导。

4 总结(Conclusion)

本小节主要介绍了连续变量的概率图模型,高斯网络,根据有向图和无向图,可以分为高斯贝叶斯网络和高斯马尔可夫网络。我觉得高斯贝叶斯的主要思路是考虑整体高斯网络和局部线性高斯模型之间的联系,高斯马尔可夫的主要思路是考虑网络和联合概率密度函数之间的关系。他们都是将复杂的模型进行简化,迁移到简单的模型中去解决。但是,我们只学习了模型的建立和结构特点,并没有学习根据这个结构使用数据来求得参数的过程,相关研究领域的同学可以自行研究,如果不是要用到这个,基本就可以到此为止了。