【基础算法】受限玻尔兹曼机●RBM

所谓概率图模型,就是指运用了概率和图这两种工具创建的模型(逐渐忘记标题),咳咳,今天讲一下限制玻尔兹曼机,或者叫做受限玻尔兹曼机,这个名字起的真是,。。,好的,咳咳

所谓玻尔兹曼机,就是就是玻尔兹曼家的机,就是说玻尔兹曼这个人发明了一种模型,一种机器,所以叫做玻尔兹曼机器,简称玻尔兹曼机。而受限玻尔兹曼机和玻尔兹曼机有什么区别呢?顾名思义,受限玻尔兹曼机多了个限制,那是哪里限制了呢?原来在玻尔兹曼机里,隐变量和观测变量这两种节点之间是没有差别的,每个节点都和其他的节点相连,如下图:
在这里插入图片描述
受限玻尔兹曼机中的变量也分为隐藏变量和可观测变量。我们分别用可观测层和隐藏层来表示这两组变量。同一层中的节点之间没有连接,而不同层一个层中的节点与另一层中的所有节点连接,这和两层的
全连接神经网络的结构相同。
在这里插入图片描述
在这里插入图片描述
当然,也可以站着,像下面这样
在这里插入图片描述

RBM是无监督学习模型,有两个层的浅层神经网络,一个可见层,一个隐藏层,是一种用于降维、分类、回归、协同过滤、特征学习和主题建模的算法,它是组成深度置信网络的基础部件。

在这里插入图片描述
所以:
公式1
Y5=fX4×W45+X3×W35+X2×W25+X1×W15+b5 输出Y_5 = 激活函数f(X_4 \times W_{45} + X_3 \times W_{35} + X_2 \times W_{25} + X_1 \times W_{15} + b_5)
公式2
X1=fY5×W51+Y6×W61+Y7×W71+a1 输出X1 = 激活函数f(Y_5 \times W_{51} + Y_{6} \times W_{61} + Y_{7} \times W_{71} + a_{1})

现在主要讲一下计算过程,根据以上公式1, 将Y5 ~ Y7都算出来,也就是将隐含层的值都算出来了,再根据隐含层的值,根据公式2,反推计算出重构值:X‘1 ~ X’4, 根据X‘1 ~ X’4再计算出Y‘5~Y’6,根据XX‘的差值,进行反向传播,并更新权重和偏置(w, a, b),根据YY‘的差值,也进行反向传播,同理更新权重和偏置(线调上的是权重,圆圈里的是偏置),经过数次的计算和更新,反复的循环,直到XX‘YY‘近乎相等为止,此时便构建好了限制玻尔兹曼机的模型。

由于一般RBM的隐藏层的神经元个数会比可见层的神经元个数少,而在反向运算中,较少神经元的隐藏层又能够近似复现原始可见层的输入,因此,可以认为前向运算是对输入信号的编码,特征提取的过程,而反向运算是解码的过程。

关于RBM的特点总结如下:

  • 两层,一个可见层,一个隐藏层
  • 层间全连接,层内不连接
  • 前向运算是编码,反向运算是解码
  • 前向和反向使用同一组权重
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章