版权声明:博主Github链接:https://github.com/geeklili , 本篇文章链接: https://blog.csdn.net/weixin_42057852/article/details/83413178
所谓概率图模型,就是指运用了概率和图这两种工具创建的模型(逐渐忘记标题),咳咳,今天讲一下限制玻尔兹曼机,或者叫做受限玻尔兹曼机,这个名字起的真是,。。,好的,咳咳
所谓玻尔兹曼机,就是就是玻尔兹曼家的机,就是说玻尔兹曼这个人发明了一种模型,一种机器,所以叫做玻尔兹曼机器,简称玻尔兹曼机。
首先,简单的看一下玻尔兹曼机的图片:
当然,也可以站着,像下面这样
RBM
是无监督学习模型,有两个层的浅层神经网络,一个可见层,一个隐藏层,是一种用于降维、分类、回归、协同过滤、特征学习和主题建模的算法,它是组成深度置信网络的基础部件。
所以:
公式1
输出Y5 = 激活函数f(X4*W45 + X3*W35 + X2*W25 + X1*W15 + b5)
公式2
输出X1 = 激活函数f(Y5*W51 + Y6*W61 + Y7*W71 + a1)
现在主要讲一下计算过程,根据以上公式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的特点总结如下:
- 两层,一个可见层,一个隐藏层
- 层间全连接,层内不连接
- 前向运算是编码,反向运算是解码
- 前向和反向使用同一组权重