受限玻尔兹曼机 模型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HelloWorld_Xia/article/details/52505134

首先玻尔兹曼机(BM)是是一个能量模型,也是一个随机概率模型,也是一个神经网络模型,分为输入层和输出层两层。层与层之间相互连接,同一层的神经元之间也相互连接,具体结构如下:
这里写图片描述

玻尔兹曼机很强大,然而训练这个模型的计算量过大,从而产生了受限玻尔兹曼机(restricted Boltzmann machine),也就是我们所要讲的RBM,相较于BM,受限玻尔兹曼机只让两个层之间的神经元有连接,既 没一层之间的各个神经元相互独立。结构图如下:底部为可见层(visible),上方为隐藏层(hidden),对可见层我们用字母v表示,对隐藏层我们用字母h表示,可见层和隐藏层之间的连接权重我们用W表示:
这里写图片描述

上面讲的都是RBM模型的结构,接着我们要引入一些RBM的内核部分了,这是最重要的部分:
首先是能量函数E(v,h):
这里写图片描述

很多人首次接触的时候对这个函数都会感觉不知所云,这个时候大家不要方,可以搜一搜伊辛模型来看看,然后就会有些感悟了,总的来说,系统的能量越底,系统越稳定,具体到RBM中,之所以引入能量函数,其目的是为了让隐藏层尽量的可以抽取出可见层重要的特征,类似于PCA。

接着我们要用E(v,h | θ)来表示v和h在条件θ下的联合概率了:
这里写图片描述

这里的Z(θ)是一个归一化因子。由上式可知,当E(v,h | θ)越小的时候,P(v,h | θ)越大,表示此时v,h在条件θ下,越有可能出现。

再接着,是要求v的边缘分布了,公式如下:
**这里写图片描述**

这一步,是最重要的一步,表示的是在条件θ下v可能出现的概率。得到了v的边缘分布后,我们便可以拿我们的的P(V | θ)分布和真实可见层的P(V)分布做对比了,然后通过不断的训练来更改权重W和隐藏层h的值便可以了。

本文只是简单的介绍一下RBM而已,至于如何训练的,后续再写。一言以蔽之,受限玻尔兹曼机是一个概率模型,引入了能量函数,同时也是一个神经网络,通过不断的更改隐藏层的内容以及可见层和隐藏层的连接权重,来使得模型可以很好的拟合可见层的真实概率分布。

上文只是我自己的一点理解,期待大家拍砖指教。

没有更多推荐了,返回首页