机器学习笔记之Sigmoid信念网络——对数似然梯度
引言
从本节开始,将介绍 Sigmoid \text{Sigmoid} Sigmoid信念网络。
回顾:贝叶斯网络的因子分解
Sigmoid \text{Sigmoid} Sigmoid信念网络,其本质上就是 Sigmoid \text{Sigmoid} Sigmoid贝叶斯网络,这说明它是一个有向图模型。在概率图模型——贝叶斯网络的结构表示中介绍过,如果使用贝叶斯网络描述概率图结构,这意味着变量/特征之间存在显式的因果关系。
如果给定一个贝叶斯网络,可以根据该结构直接写出该模型的结构表示(Representation)。已知一个贝叶斯网络表示如下:
也可称作图中变量的‘联合概率分布’/‘概率密度函数’~
那么该模型中变量的联合概率分布 P ( I ) \mathcal P(\mathcal I) P(I)可表示为:
i 3 , i 4 ∣ i 2 i_3,i_4 \mid i_2 i3,i4∣i2属于同父结构,因此可以展开,而
i 5 ∣ i 3 , i 4 i_5 \mid i_3,i_4 i5∣i3,i4属于
V \mathcal V V型结构,无法展开。
P ( I ) = P ( i 1 , i 2 , i 3 , i 4 , i 5 ) = P ( i 2 ∣ i 1 ) ⋅ P ( i 3 , i 4 ∣ i 2 ) ⋅ P ( i 5 ∣ i 3 , i 4 ) = P ( i 2 ∣ i 1 ) ⋅ P ( i 3 ∣ i 2 ) ⋅ P ( i 4 ∣ i 2 ) ⋅ P ( i 5 ∣ i 3 , i 4 ) \begin{aligned} \mathcal P(\mathcal I) & = \mathcal P(i_1,i_2,i_3,i_4,i_5) \\ & = \mathcal P(i_2 \mid i_1) \cdot \mathcal P(i_3,i_4 \mid i_2) \cdot \mathcal P(i_5 \mid i_3,i_4) \\ & = \mathcal P(i_2 \mid i_1) \cdot \mathcal P(i_3 \mid i_2) \cdot \mathcal P(i_4 \mid i_2) \cdot \mathcal P(i_5 \mid i_3,i_4) \end{aligned} P(I)=P(i1,i2,i3,i4,i5)=P(i2∣i1)⋅P(i3,i4∣i2)⋅P(i5∣i3,i4)=P(i2∣i1)⋅P(i3∣i2)⋅P(i4∣i2)⋅P(i5∣i3,i4)
Sigmoid信念网络
单从名称中观察,信念网络指的就是贝叶斯网络; Sigmoid \text{Sigmoid} Sigmoid自然是指 Sigmoid \text{Sigmoid} Sigmoid函数:
σ ( x ) = 1 1 + exp ( − x ) \sigma(x) = \frac{1}{1 + \exp(-x)} σ(x)=1+exp(−x)1
它的模型结构,以及模型表示是如何产生的?已知一个 Sigmoid \text{Sigmoid} Sigmoid信念网络表示如下:
其中蓝色结点表示观测变量,蓝色虚线框中的结点表示观测变量层;同理,白色结点表示隐变量,整个隐变量包含两个隐变量层。
Neal \text{Neal} Neal在1990年提出该模型时,将玻尔兹曼机、贝叶斯网络相结合产生的模型产物。该模型的优势在于:
- Sigmoid \text{Sigmoid} Sigmoid信念网络是有向图模型,因此在采样过程中,根据结点之间的因果关系 可以很容易地找到采样顺序(祖先采样方法);根节点(入度为零)开始,按照拓扑排序的顺序进行采样。
从根节点开始采样,与根节点相连的其他结点之间属于同父结构。一旦根节点被采样(被观测),其相连结点之间条件独立。
- 和前馈神经网络的函数逼近定理类似,如果隐藏层数量 ≥ 1 \geq 1 ≥1层,从观测变量角度,它可以逼近任意二分类离散分布。
关于随机变量集合 S \mathcal S S的描述如下:
v v v表示观测变量集合;
h h h表示隐变量集合。
需要注意的点:
这里的小括号上标并非表示样本编号,而是关于层的编号。如
h i + 1 ( 1 ) h_{i+1}^{(1)} hi+1(1)表示第
1 1 1个隐藏层中编号
i + 1 i+1 i+1的随机变量结点。当然,推导过程中的小括号是样本编号~
与玻尔兹曼机、受限玻尔兹曼机相同,概率模型中的每个结点均服从‘伯努利分布’。
S = { v , h } = { v ( 1 ) , h ( 1 ) , h ( 2 ) } = { v i ( 1 ) , v i + 1 ( 1 ) , h i ( 1 ) , h i + 1 ( 1 ) , h i + 2 ( 1 ) , h j ( 2 ) , h j + 1 ( 2 ) } \begin{aligned} \mathcal S = \{v,h\} & = \{v^{(1)},h^{(1)},h^{(2)}\} \\ & = \{v_i^{(1)},v_{i+1}^{(1)},h_{i}^{(1)},h_{i+1}^{(1)},h_{i+2}^{(1)},h_{j}^{(2)},h_{j+1}^{(2)}\} \end{aligned} S={
v,h}={
v(1),h(1),h(2)}={
vi(1),vi+1(1),hi(1),hi+1(1),hi+2(1),hj(2),hj+1(2)}
由于这是一个贝叶斯网络,我们可以通过结点之间的因果关系描述出该图的联合概率分布:
在
贝叶斯网络结构表示中介绍过,受先找到入度为零的结点,再通过拓扑排序方式寻找各结点的后验概率信息。
P ( S ) = P ( v i ( 1 ) , v i + 1 ( 1 ) , h i ( 1 ) , h i + 1 ( 1 ) , h i + 2 ( 1 ) , h j ( 2 ) , h j + 1 ( 2 ) ) = P ( h j ( 2 ) ) ⋅ P ( h j + 1 ( 2 ) ) ⋅ P ( h i ( 1 ) ∣ h j ( 2 ) , h j + 1 ( 2 ) ) ⋅ P ( h i + 1 ( 1 ) ∣ h j ( 2 ) , h j + 1 ( 2 ) ) ⋅ P ( v i ( 1 ) ∣ h i ( 1 ) , h i + 1 ( 1 ) ) ⋅ P ( h i + 2 ( 1 ) ) ⋅ P ( v i + 1 ( 1 ) ∣ h i + 1 ( 1 ) , h i + 2 ( 1 ) ) \begin{aligned} \mathcal P(\mathcal S) & = \mathcal P (v_i^{(1)},v_{i+1}^{(1)},h_{i}^{(1)},h_{i+1}^{(1)},h_{i+2}^{(1)},h_{j}^{(2)},h_{j+1}^{(2)}) \\ & = \mathcal P(h_j^{(2)}) \cdot \mathcal P(h_{j+1}^{(2)}) \cdot \mathcal P(h_{i}^{(1)} \mid h_{j}^{(2)},h_{j+1}^{(2)}) \cdot \mathcal P(h_{i+1}^{(1)} \mid h_{j}^{(2)},h_{j+1}^{(2)}) \cdot \mathcal P(v_i^{(1)} \mid h_{i}^{(1)},h_{i+1}^{(1)}) \cdot \mathcal P(h_{i+2}^{(1)}) \cdot \mathcal P(v_{i+1}^{(1)} \mid h_{i+1}^{(1)},h_{i+2}^{(1)}) \end{aligned} P(S)=P(vi(1),vi+1(1),hi(1),hi+1(1),hi+2(1),hj(2),hj+1(2))=P(hj(2))⋅P(hj+1(2))⋅P(hi(1)∣hj(2),hj+1(2))⋅P(hi+1(1)∣hj(2),hj+1(2))⋅P(vi(1)∣hi(1),hi+1(1))⋅P(hi+2(1))⋅P(vi+1(1)∣hi+1(1),hi+2(1))
基于 Sigmoid \text{Sigmoid} Sigmoid信念网络的定义,以 h i ( 1 ) h_i^{(1)} hi(1)结点为例,它的概率分布表示如下:
由于
h i ( 1 ) h_i^{(1)} hi(1)与
h j ( 2 ) , h j + 1 ( 2 ) h_j^{(2)},h_{j+1}^{(2)} hj(2),hj+1(2)存在因果关系。因此,这个‘概率分布’明显指的是条件概率分布
P ( h i ( 1 ) ∣ h j ( 2 ) , h j + 1 ( 2 ) ) \mathcal P(h_i^{(1)} \mid h_j^{(2)},h_{j+1}^{(2)}) P(hi(1)∣hj(2),hj+1(2)).提醒:概率分布描述中的
h j ( 2 ) , h j + 1 ( 2 ) h_j^{(2)},h_{j+1}^{(2)} hj(2),hj+1(2)并不是概率分布结果,而是具体的随机变量取值:
h j ( 2 ) , h j + 1 ( 2 ) ∈ { 0 , 1 } h_j^{(2)},h_{j+1}^{(2)} \in \{0,1\} hj(2),hj+1(2)∈{ 0,1}.- σ ( − x ) = 1 − σ ( x ) \sigma(-x) = 1- \sigma(x) σ(−x)=1−σ(x)
是
Sigmoid \text{Sigmoid} Sigmoid函数自身的性质~
P ( h i ( 1 ) ∣ h j ( 2 ) , h j + 1 ( 2 ) ) = { P ( h i ( 1 ) = 1 ∣ h j ( 2 ) , h j + 1 ( 2 ) ) = σ ( W j → i ⋅ h j