所谓概率图模型,就是指运用了概率和图这两种工具创建的模型(逐渐忘记标题),咳咳,今天讲一下限制玻尔兹曼机,或者叫做受限玻尔兹曼机,这个名字起的真是,。。,好的,咳咳
所谓玻尔兹曼机,就是就是玻尔兹曼家的机,就是说玻尔兹曼这个人发明了一种模型,一种机器,所以叫做玻尔兹曼机器,简称玻尔兹曼机。而受限玻尔兹曼机和玻尔兹曼机有什么区别呢?顾名思义,受限玻尔兹曼机多了个限制,那是哪里限制了呢?原来在玻尔兹曼机里,隐变量和观测变量这两种节点之间是没有差别的,每个节点都和其他的节点相连,如下图:
受限玻尔兹曼机中的变量也分为隐藏变量和可观测变量。我们分别用可观测层和隐藏层来表示这两组变量。同一层中的节点之间没有连接,而不同层一个层中的节点与另一层中的所有节点连接,这和两层的
全连接神经网络的结构相同。
当然,也可以站着,像下面这样
RBM
是无监督学习模型,有两个层的浅层神经网络,一个可见层,一个隐藏层,是一种用于降维、分类、回归、协同过滤、特征学习和主题建模的算法,它是组成深度置信网络的基础部件。
所以:
公式1
公式2
现在主要讲一下计算过程,根据以上公式1, 将Y5 ~ Y7都算出来,也就是将隐含层的值都算出来了,再根据隐含层的值,根据公式2,反推计算出重构值:X‘1 ~ X’4, 根据X‘1 ~ X’4再计算出Y‘5~Y’6,根据X
与X‘
的差值,进行反向传播,并更新权重和偏置(w, a, b
),根据Y
与Y‘
的差值,也进行反向传播,同理更新权重和偏置(线调上的是权重,圆圈里的是偏置),经过数次的计算和更新,反复的循环,直到X
与X‘
,Y
与Y‘
近乎相等为止,此时便构建好了限制玻尔兹曼机的模型。
由于一般RBM的隐藏层的神经元个数会比可见层的神经元个数少,而在反向运算中,较少神经元的隐藏层又能够近似复现原始可见层的输入,因此,可以认为前向运算是对输入信号的编码,特征提取的过程,而反向运算是解码的过程。
关于RBM的特点总结如下:
- 两层,一个可见层,一个隐藏层
- 层间全连接,层内不连接
- 前向运算是编码,反向运算是解码
- 前向和反向使用同一组权重