机器学习笔记之受限玻尔兹曼机——推断任务[后验概率]
引言
上一节介绍了受限玻尔兹曼机的模型表示(Representation),本节将介绍推断任务(Inference)。
回顾:受限玻尔兹曼机的模型表示
针对玻尔兹曼机概率图结构过于复杂,计算代价过于庞大的问题,提出一种关于结点间边的约束方式:只有隐变量和观测变量之间存在边连接,隐变量、观测变量内部无边连接。
已知一个受限玻尔兹曼机表示如下:
从图中可以看出,受限玻尔兹曼机将随机变量集合 X \mathcal X X分成两个部分:
X = ( x 1 , x 2 , ⋯ , x p ) T = ( h v ) \mathcal X = (x_1,x_2,\cdots,x_p)^T = \begin{pmatrix} h \\ v\end{pmatrix} X=(x1,x2,⋯,xp)T=(hv)
- 其中蓝色结点表示观测变量包含的随机变量集合(这里使用向量表示) v = ( v 1 , v 2 , ⋯ , v n ) T v = (v_1,v_2,\cdots,v_n)^T v=(v1,v2,⋯,vn)T;
- 白色结点表示隐变量包含的随机变量集合 h = ( h 1 , h 2 , ⋯ , h m ) T h = (h_1,h_2,\cdots,h_m)^T h=(h1,h2,⋯,hm)T;
- 并且有 m + n = p m + n = p m+n=p。
基于该模型,随机变量集合 X \mathcal X X的联合概率分布 P ( X ) \mathcal P(\mathcal X) P(X)表示如下:
P ( X ) = P ( h , v ) = 1 Z exp { − E ( h , v ) } = 1 Z exp ( v T W h + b T v + c T h ) = 1 Z { ∏ j = 1 m ∏ i = 1 n exp ( v i ⋅ w i j ⋅ h j ) ∏ i = 1 n exp ( b i v i ) ∏ j = 1 m exp ( c j h j ) } \begin{aligned} \mathcal P(\mathcal X) = \mathcal P(h,v) & = \frac{1}{\mathcal Z} \exp \{- \mathbb E(h,v)\} \\ & = \frac{1}{\mathcal Z} \exp (v^T \mathcal W h + b^T v + c^Th) \\ & = \frac{1}{\mathcal Z} \left\{\prod_{j=1}^m \prod_{i=1}^n \exp (v_i \cdot w_{ij} \cdot h_j)\prod_{i=1}^n \exp (b_iv_i) \prod_{j=1}^m \exp (c_jh_j)\right\} \end{aligned} P(X)=P(h,v)=Z1exp{
−E(h,v)}=Z1exp(vTWh+bTv+cTh)=Z1{
j=1∏mi=1∏nexp(vi⋅wij⋅hj)i=1∏nexp(bivi)j=1∏mexp(cjhj)}
其中 W , b , c \mathcal W,b,c W,b,c分别表示针对结点和边的权重信息:
W = ( w 11 , w 12 , ⋯ , w 1 m w 21 , w 22 , ⋯ , w 2 m ⋮ w n 1 , w n 2 , ⋯ , w n m ) n × m b = ( b 1 b 2 ⋮ b n ) n × 1 c = ( c 1 c 2 ⋮ c m ) m × 1 \mathcal W = \begin{pmatrix} w_{11},w_{12},\cdots,w_{1m} \\ w_{21},w_{22},\cdots,w_{2m} \\ \vdots \\ w_{n1},w_{n2},\cdots,w_{nm} \\ \end{pmatrix}_{n \times m} \quad b = \begin{pmatrix} b_1 \\b_2 \\ \vdots \\ b_n \end{pmatrix}_{n \times 1} \quad c = \begin{pmatrix} c_1 \\ c_2 \\ \vdots \\ c_m \end{pmatrix}_{m \times 1} W=
w11,w12,⋯,w1mw21,w22,⋯,w2m⋮wn1,wn2,⋯,wnm
n×mb=
b1b2⋮bn
n×1c=
c1c2⋮cm
m×1
推断任务求解——后验概率(posterior)
关于受限玻尔兹曼机的推断任务,是基于模型参数 W , b , c \mathcal W,b,c W,b,c均已给定(模型已知),将随机变量 v , h v,h v,h的概率分布求解出来。这里主要求解两方面的概率结果:
- 后验概率:包括观测变量后验 P ( v ∣ h ) \mathcal P(v \mid h) P(v∣h),以及隐变量后验 P ( h ∣ v ) \mathcal P(h \mid v) P(h∣v)。
- 边缘概率:主要关注观测变量边缘概率分布: P ( v ) \mathcal P(v) P(v)
基于隐变量的后验概率求解
这里以隐变量后验 P ( h ∣ v ) \mathcal P(h \mid v) P(h∣v)为例,进行求解。 P ( h ∣ v ) \mathcal P(h \mid v) P(h∣v)本质上是针对隐变量集合的联合后验概率分布 进行求解:
P ( h ∣ v ) = P ( h 1 , h 2 , ⋯ , h m ∣ v ) \mathcal P(h \mid v) = \mathcal P(h_1,h_2,\cdots,h_m \mid v) P(h∣v)=P(h1,h2,⋯,hm∣v)
为了简化运算,定义随机变量集合 X \mathcal X X服从伯努利分布(Bernoulli Distribution)。从而无论是观测变量还是隐变量,都仅包含两种选择方式: { 0 , 1 } \{0,1\} { 0,1}。
然而根据受限玻尔兹曼机的特殊约束,在 v v v被观测的条件下,任意两个隐变量 h i , h j ∈ h ; i ≠ j h_i,h_j \in h;i\neq j hi,hj∈h;i=j之间均存在条件独立性。即:
详见
马尔可夫随机场的结构表示中的’全局马尔可夫性‘(Global Markov Property),由于
h i , h j h_i,h_j hi,hj之间不存在直接关联关系,因而它们只可能借助某一观测变量达成关联关系。如果该观测变量被观测,
h i , h j h_i,h_j hi,hj之间路径阻塞,两者自然条件独立。
h i ⊥ h j ∣ v h_i \perp h_j \mid v hi⊥hj∣v
因而,可以将 P ( h ∣ v ) \mathcal P(h \mid v) P(h∣v)简化为:
P ( h ∣ v ) = ∏ l = 1 m P ( h l ∣ v ) \mathcal P(h \mid v) = \prod_{l=1}^m \mathcal P(h_l \mid v) P(h∣v)=l=1∏mP(hl∣v)
仅需求解出 P ( h l ∣ v ) \mathcal P(h_l \mid v) P(hl∣v)即可。
-
首先求解 P ( h l = 1 ∣ v ) \mathcal P(h_l = 1 \mid v) P(hl=1∣v),回顾已知条件——模型给定意味着随机变量 X \mathcal X X、隐变量 h h h、观测变量 v v v的 概率密度函数/联合概率分布 P ( X ) , P ( h ) , P ( v ) \mathcal P(\mathcal X),\mathcal P(h),\mathcal P(v) P(X),P(h),P(v)均是已知的。因此,这里将 除去