玻尔兹曼机
玻尔兹曼机是一种存在隐节点的无向图模型。在图模型中最简单的是朴素贝叶斯模型(朴素贝叶斯假设),引入单个隐变量后,发展出了 GMM,如果单个隐变量变成序列的隐变量,就得到了状态空间模型(引入齐次马尔可夫假设和观测独立假设就有HMM,Kalman Filter,Particle Filter),为了引入观测变量之间的关联,引入了一种最大熵模型-MEMM,为了克服 MEMM 中的局域问题,又引入了 CRF,CRF 是一个无向图,其中,破坏了齐次马尔可夫假设,如果隐变量是一个链式结构,那么又叫线性链 CRF。
SVM
PLA
LDA
}
⟸
硬
分类
⟹
软
{
Logistic Regression
⏟
概率判别模型:
p
(
y
∣
x
)
⟹
Maximum Entropy Model
⏟
给定均值和方差,高斯分布熵最大
Naive Bayes
⏟
概率生成模型:
p
(
x
,
y
)
⟹
y
∈
{
0
,
1
}
→
s
e
q
Hidden Markov Model
⏞
1)齐次Markov;2)观测独立
}
⟹
打
破
观
测
独
立
MEMM
⏞
问题:Label bias
⏟
判别模型
⟹
有
向
→
无
向
CRF
⇑
+
t
i
m
e
Gaussian Mixture Model
⏟
隐变量:离散;观测变量:x|y 高斯分布
\begin{aligned}\left. \begin{aligned} \text{SVM}\\[8pt] \text{PLA}\\[8pt] \text{LDA} \end{aligned} \right\}\mathop{ \Longleftarrow}\limits^{\text{\; 硬 \; }} \boxed{\text{分类}}\mathop{\Longrightarrow}\limits^{\;\text{ 软 }\;} \left\{ \begin{aligned} &\left. \begin{aligned} & \underbrace{\text{Logistic Regression}}_{\text{概率判别模型:$p(y|x)$}} \Longrightarrow \underbrace{\text{Maximum Entropy Model}}_{\text{给定均值和方差,高斯分布熵最大}}\\ \\ &\underbrace{\text{Naive Bayes}}_{\text{概率生成模型:$p(x,y)$}}\mathop{\Longrightarrow}\limits^{y\in\{0,1\}\to seq} \overbrace{\text{Hidden Markov Model}}^{\text{1)齐次Markov;2)观测独立}} \end{aligned}\right\}\mathop{\Longrightarrow}\limits^{打破观测独立 }\underbrace{\overbrace{\text{MEMM}}^{\text{问题:Label bias}}}_{\text{判别模型}} \mathop{\Longrightarrow}\limits^{有向\to 无向} \text{CRF} \\ &\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\Uparrow+\mathcal {time}\\ &\qquad\qquad\qquad\qquad\qquad\quad\underbrace{\text{Gaussian Mixture Model}}_{\text{隐变量:离散;观测变量:x|y 高斯分布}} \end{aligned}\right. \end{aligned}
SVMPLALDA⎭⎪⎪⎪⎪⎬⎪⎪⎪⎪⎫⟸硬 分类⟹ 软 ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧概率判别模型:p(y∣x)
Logistic Regression⟹给定均值和方差,高斯分布熵最大
Maximum Entropy Model概率生成模型:p(x,y)
Naive Bayes⟹y∈{0,1}→seqHidden Markov Model
1)齐次Markov;2)观测独立⎭⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎫⟹打破观测独立判别模型
MEMM
问题:Label bias⟹有向→无向CRF⇑+time隐变量:离散;观测变量:x|y 高斯分布
Gaussian Mixture Model
在无向图的基础上引入隐变量,即:把无向图的节点分为观测变量和隐变量两类,就是玻尔兹曼机,其实也就是含隐变量的马尔科夫随机场。这个图模型的概率密度函数是一个指数族分布。对隐变量和观测变量作出一定的限制,就得到了受限玻尔兹曼机(RBM)。
不同的概率图模型对下面几个特点作出假设:
- 方向-边的性质
- 离散/连续/混合-点的性质
- 条件独立性-边的性质
- 隐变量-节点的性质
- 指数族-结构特点
将观测变量和隐变量记为
h
=
(
h
1
,
⋯
,
h
m
)
T
h={(h_1,\cdots,h_m)^T}
h=(h1,⋯,hm)T,
v
=
(
v
1
,
⋯
,
v
n
)
T
v={(v_1,\cdots,v_n)^T}
v=(v1,⋯,vn)T,其中
p
=
m
+
n
p=m+n
p=m+n,无向图根据最大团的分解,可以写为玻尔兹曼分布的形式(也是一个指数族分布):
p
(
x
)
=
1
Z
∏
i
=
1
K
ψ
i
(
x
c
i
)
=
1
Z
exp
(
−
∑
i
=
1
K
E
(
x
c
i
)
)
p(x)=\frac{1}{Z}\prod\limits_{i=1}^K\psi_i(x_{ci})=\frac{1}{Z}\exp(-\sum\limits_{i=1}^KE(x_{ci}))
p(x)=Z1i=1∏Kψi(xci)=Z1exp(−i=1∑KE(xci))
K K K 为最大团个数, c i c_i ci 为最大团的节点集合, x c i x_{ci} xci 为最大团对应的随机变量集合, ψ i ( x c i ) = exp { − E ( x c i ) } \psi_i(x_{ci})=\exp\{-E(x_{c_i})\} ψi(xci)=exp{−E(xci)} 为势函数(严格大于 0,所以一般取指数函数, E E E 表示能量函数), Z = ∑ X ∏ i = 1 K ψ i ( x c i ) = ∑ X 1 ⋯ ∑ X p ∏ i = 1 K ψ i ( x c i ) Z=\sum\limits_X\prod\limits_{i=1}^K\psi_i(x_{ci})=\sum\limits_{X_1}\cdots\sum\limits_{X_p}\prod\limits_{i=1}^K\psi_i(x_{ci}) Z=X∑i=1∏Kψi(xci)=X1∑⋯Xp∑i=1∏Kψi(xci) 为归一化因子(partition function也叫配分函数,这里假设有 p p p 个随机变量)。
受限玻尔兹曼机
玻尔兹曼机节点间关系过于复杂,计算难度和计算量都较高(即使是近似推断难度也很大),因此需要对其做一定程度的简化:

假设所有隐变量内部以及观测变量内部没有连接,只在隐变量和观测变量之间有连接(类似神经网络的连接形式),则:
p
(
x
)
↓
=
1
Z
exp
(
−
E
(
X
)
)
指数部分进行了简化表示
p
(
h
,
v
)
=
1
Z
exp
(
−
E
(
v
,
h
)
)
\begin{aligned} &\mathop{p(x)}\limits_{\color{blue}\downarrow}=\frac{1}{Z}\exp(-E(X)) {\color{blue}\quad_\text{指数部分进行了简化表示}}\\ &p(h,v)=\frac{1}{Z}\exp(-E(v,h)) \end{aligned}
↓p(x)=Z1exp(−E(X))指数部分进行了简化表示p(h,v)=Z1exp(−E(v,h))
其中能量函数
E
(
v
,
h
)
E(v,h)
E(v,h) 可以写出三个部分,包括与节点集合相关的两项以及与边
w
w
w 相关的一项,记为:
E
(
v
,
h
)
=
−
(
h
T
w
v
⏟
e
d
g
e
+
α
T
v
⏟
n
o
d
e
+
β
T
h
⏟
n
o
d
e
)
E(v,h)=-(\underbrace{h^Twv}_{\color{blue}edge}+\underbrace{\alpha^T v}_{\color{blue}node}+\underbrace{\beta^T h}_{\color{blue}node})
E(v,h)=−(edge
hTwv+node
αTv+node
βTh)
所以RBM的 pdf:
p
(
x
)
=
1
Z
exp
(
h
T
w
v
)
exp
(
α
T
v
)
exp
(
β
T
h
)
=
1
Z
∏
i
=
1
m
∏
j
=
1
n
exp
(
h
i
w
i
j
v
j
)
∏
j
=
1
n
exp
(
α
j
v
j
)
∏
i
=
1
m
exp
(
β
i
h
i
)
\begin{aligned} p(x)&=\frac{1}{Z}\exp(h^Twv)\exp(\alpha^T v)\exp(\beta^T h)\\ &=\frac{1}{Z}\prod_{i=1}^m\prod_{j=1}^n\exp(h_iw_{ij}v_j)\prod_{j=1}^n\exp(\alpha_jv_j)\prod_{i=1}^m\exp(\beta_ih_i) \end{aligned}
p(x)=Z1exp(hTwv)exp(αTv)exp(βTh)=Z1i=1∏mj=1∏nexp(hiwijvj)j=1∏nexp(αjvj)i=1∏mexp(βihi)
上式和 RBM 的因子图一一对应。
推断
推断任务包括求后验概率 p ( v ∣ h ) , p ( h ∣ v ) \color{blue}\boxed{p(v|h)},\boxed{p(h|v)} p(v∣h),p(h∣v) 以及边缘概率 p ( v ) \color{blue}\boxed{p(v)} p(v)
对于一个无向图,满足局域的 Markov 性质,即内部无连接,如
h
1
h_1
h1 处:
p
(
h
1
∣
h
−
h
1
,
v
)
=
p
(
h
1
∣
N
e
i
g
h
b
o
u
r
(
h
1
)
)
=
p
(
h
1
∣
v
)
p(h_1|h-{h_1},v)=p(h_1|Neighbour(h_1))=p(h_1|v)
p(h1∣h−h1,v)=p(h1∣Neighbour(h1))=p(h1∣v)
所以可以得到:
p
(
h
∣
v
)
=
∏
i
=
1
m
p
(
h
i
∣
v
)
p(h|v)=\prod_{i=1}^mp(h_i|v)
p(h∣v)=i=1∏mp(hi∣v)
Binary RBM
考虑 Binary RBM,所有的隐变量只有两个取值 h l ∈ { 0 , 1 } \color{blue}h_l\in\{0,1\} hl∈{0,1}: p ( h l = 1 ∣ v ) = p ( h l = 1 , h − l , v ) p ( h − l , v ) = p ( h l = 1 , h − l , v ) p ( h l = 1 , h − l , v ) + p ( h l = 0 , h − l , v ) {\color{blue}p(h_l=1|v)}=\frac{p(h_l=1,h_{-l},v)}{p(h_{-l},v)}=\frac{p(h_l=1,h_{-l},v)}{p(h_l=1,h_{-l},v)+p(h_l=0,h_{-l},v)} p(hl=1∣v)=p(h−l,v)p(hl=1,h−l,v)=p(hl=1,h−l,v)+p(hl=0,h−l,v)p(hl=1,h−l,v)
将能量函数写成和
l
l
l 相关或不相关的两项:
E
(
v
,
h
)
=
−
(
∑
i
=
1
,
i
≠
l
m
∑
j
=
1
n
h
i
w
i
j
v
j
+
h
l
∑
j
=
1
n
w
l
j
v
j
+
∑
j
=
1
n
α
j
v
j
+
∑
i
=
1
,
i
≠
l
m
β
i
h
i
+
β
l
h
l
)
\begin{aligned} &E(v,h)=-\left(\sum\limits_{i=1,i\ne l}^m\sum\limits_{j=1}^nh_iw_{ij}v_j+{\color{blue}h_l}\sum\limits_{j=1}^nw_{lj}v_j+\sum\limits_{j=1}^n\alpha_j v_j+\sum\limits_{i=1,i\ne l}^m\beta_ih_i+\beta_l{\color{blue}h_l}\right) \end{aligned}
E(v,h)=−⎝⎛i=1,i=l∑mj=1∑nhiwijvj+hlj=1∑nwljvj+j=1∑nαjvj+i=1,i=l∑mβihi+βlhl⎠⎞
定义:
E
(
v
,
h
)
=
h
l
H
l
(
v
)
+
H
‾
(
h
−
l
,
v
)
E(v,h)={\color{blue}h_l}H_l(v)+\overline{H}(h_{-l},v)
E(v,h)=hlHl(v)+H(h−l,v)
{
h
l
H
l
(
v
)
=
h
l
∑
j
=
1
n
w
l
j
v
j
+
β
l
h
l
h
l
相关项
H
‾
(
h
−
l
,
v
)
=
∑
i
=
1
,
i
≠
l
m
∑
j
=
1
n
h
i
w
i
j
v
j
+
∑
j
=
1
n
α
j
v
j
+
∑
i
=
1
,
i
≠
l
m
β
i
h
i
h
l
无关项
\left\{\begin{aligned} &{\color{blue}h_l}H_l(v)={\color{blue}h_l}\sum\limits_{j=1}^nw_{lj}v_j+\beta_l{\color{blue}h_l}{\color{blue}\qquad\qquad\qquad\qquad\qquad\qquad\ \ _\text{$h_l$相关项}}\\ &\overline{H}(h_{-l},v)=\sum\limits_{i=1,i\ne l}^m\sum\limits_{j=1}^nh_iw_{ij}v_j+\sum\limits_{j=1}^n\alpha_j v_j+\sum\limits_{i=1,i\ne l}^m\beta_ih_i{\color{blue}\qquad_\text{$h_l$无关项}} \end{aligned}\right.
⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧hlHl(v)=hlj=1∑nwljvj+βlhl hl相关项H(h−l,v)=i=1,i=l∑mj=1∑nhiwijvj+j=1∑nαjvj+i=1,i=l∑mβihihl无关项
则有:
p
(
h
l
=
1
∣
v
)
=
1
Z
exp
{
1
H
l
(
v
)
+
H
‾
(
h
−
l
,
v
)
}
1
Z
exp
{
1
H
l
(
v
)
+
H
‾
(
h
−
l
,
v
)
}
+
exp
{
H
‾
(
h
−
l
,
v
)
}
=
1
1
+
exp
{
−
H
l
(
v
)
}
=
σ
(
H
l
(
v
)
)
=
σ
(
∑
j
=
1
n
w
l
j
v
j
+
β
l
)
\begin{aligned} {\color{blue}p(h_l=1|v)}&=\frac{\frac1Z\exp\{{\color{blue}1}H_l(v)+\overline{H}(h_{-l},v)\}}{\frac1Z\exp\{{\color{blue}1} H_l(v)+\overline{H}(h_{-l},v)\}+\exp\{\overline{H}(h_{-l},v)\}}\\ &=\frac{1}{1+\exp\{-H_l(v)\}}\\ &={\color{blue}\sigma(H_l(v))} =\sigma\left(\sum\limits_{j=1}^nw_{lj}v_j+\beta_l{\color{blue}}\right) \end{aligned}
p(hl=1∣v)=Z1exp{1Hl(v)+H(h−l,v)}+exp{H(h−l,v)}Z1exp{1Hl(v)+H(h−l,v)}=1+exp{−Hl(v)}1=σ(Hl(v))=σ(j=1∑nwljvj+βl)
于是就得到了后验概率 p ( h ∣ v ) \color{blue}\boxed{p(h|v)} p(h∣v), 而后验概率 p ( v ∣ h ) \color{blue}\boxed{p(v|h)} p(v∣h) 与其是对称的,可直接写出
求边缘概率
p
(
v
)
\color{blue}\boxed{p(v)}
p(v) 要消除
h
\color{blue}h
h:
p
(
v
)
=
∑
h
p
(
h
,
v
)
=
∑
h
1
Z
exp
(
h
T
w
v
+
α
T
v
+
β
T
h
)
=
exp
(
α
T
v
)
1
Z
∑
h
1
exp
(
h
1
w
1
v
+
β
1
h
1
)
⋯
∑
h
m
exp
(
h
m
w
m
v
+
β
m
h
m
)
展开
h
=
exp
(
α
T
v
)
1
Z
(
1
+
exp
(
w
1
v
+
β
1
)
)
⋯
(
1
+
exp
(
w
m
v
+
β
m
)
)
h
取0和1
=
1
Z
exp
{
α
T
v
+
∑
i
=
1
m
log
(
1
+
exp
(
w
i
v
+
β
i
)
)
⏟
s
o
f
t
p
l
u
s
:
log
(
1
+
exp
(
x
)
)
}
\begin{aligned} \color{blue}p(v)&=\sum\limits_hp(h,v)=\sum\limits_h\frac{1}{Z}\exp(h^Twv+\alpha^Tv+\beta^Th)\\ &=\exp(\alpha^Tv)\frac{1}{Z}\sum\limits_{h_1}\exp(h_1w_1v+\beta_1h_1)\cdots\sum\limits_{h_m}\exp(h_mw_mv+\beta_mh_m)\color{blue}\quad_\text{展开$h$}\\ &=\exp(\alpha^Tv)\frac{1}{Z}(1+\exp(w_1v+\beta_1))\cdots(1+\exp(w_mv+\beta_m))\color{blue}\quad_\text{$h$取0和1}\\ &=\frac{1}{Z}\exp\left\{\alpha^Tv+\sum\limits_{i=1}^m\underbrace{\log(1+\exp(w_iv+\beta_i))}_{\color{blue}softplus:\ \log(1+\exp(x))}\right\} \end{aligned}
p(v)=h∑p(h,v)=h∑Z1exp(hTwv+αTv+βTh)=exp(αTv)Z1h1∑exp(h1w1v+β1h1)⋯hm∑exp(hmwmv+βmhm)展开h=exp(αTv)Z1(1+exp(w1v+β1))⋯(1+exp(wmv+βm))h取0和1=Z1exp⎩⎪⎨⎪⎧αTv+i=1∑msoftplus: log(1+exp(x))
log(1+exp(wiv+βi))⎭⎪⎬⎪⎫
其中 w i w_i wi 为 w w w 的行向量
参考文献
【1】受限玻尔兹曼机
【2】深度学习 — 受限玻尔兹曼机详解(RBM)