受限玻尔兹曼机(RBM)

RBM用到了能量模型。

简单的概括一下能量模型。假设一个孤立系统(总能量$E$一定,粒子个数$N$一定),温度恒定为1,每个粒子有$m$个可能的状态,每个状态对应一个能量$e_i$。那么,在这个系统中随机选出一个粒子,这个粒子处在状态$k$的概率,或者说具有状态$k$的粒子所占的比例为:

$$p(state=k)=\frac{e^{-e_k}}{\sum e^{-e_i}}$$

扩展开来,在一个正则系综中,系统$i$处在状态$S_i$的概率为:

$$P(state=i)=\frac{e^{-E_i}}{\sum e^{-E_i}}$$

受限玻尔兹曼机是这么一个系统,系统结构为一个二分网络。一种节点类型为可视节点,另一种为隐含节点,所有节点都为二值节点(0,1)。如下图。

定义该系统的能量为

$$E=-(\sum a_iv_i+\sum w_{i,j}v_i h_j+\sum b_ih_j)~~where~~w_{i,j}=w_{j,i} ~~~~~~~~~(1)$$

即系统能量为各节点能量与耦合能量(边能量)之和。系统处在状态${V,H}$的概率为:

$$P(V,H)=\frac{e^{-E(V,H)}}{\sum_{V,H} e^{-E(V,H)}}=\frac{e^{-E(V,H)}}{Z}$$

$Z$为配分函数。

可视层节点处在状态$x$的概率为:

$$P(V=x)=\frac{\sum _He^{-E(x,H)}}{Z} \equiv \frac{e^{-E_x}}{\sum e^{-E_x}}~~~~~~~~~~(2)$$

其中

$$E_x=-log(\sum _He^{-E(x,H)})$$

由于同一类节点是不相连的,因此同类节点之间相互独立,因此每个隐含层节点以及与它相连的边组成的一个小系统是一个独立系统。当可视层状态给定为$x$时,该小系统只有两个状态(隐含节点为0或者1),或者说具有两个能阶。

$$-E(h_i;x)=b_ih_i+\sum w_ix_ih_i=(b_i+\sum w_ix_i)h_i=B_ih_i~~where~~B_i=b_i+\sum w_ix_i$$

因此

$$E(h_i=0;x)=0,E(h_i=1;x)=-B_i$$

$$P(h_i=1;x)=\frac{e^{B_i}}{e^0+e^{B_i}}=sigmoid(B_i)$$

参考文献

http://en.wikipedia.org/wiki/Restricted_Boltzmann_machine

http://deeplearning.net/tutorial/rbm.html

时间: 2024-08-01 22:44:56

受限玻尔兹曼机(RBM)的相关文章

深度学习深入浅出:受限玻尔兹曼机RBM(一)基本概念

技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 最近在复习经典机器学习算法的同时,也仔细看了一些深度学习的典型算法.深度学习是机器学习的"新浪潮",它的成功主要得益于深度"神经网络模型"的优异效果.这个小系列打算深入浅出地记录一下深度学习中常用的一些算法.第一篇先写一下"受限玻尔兹曼机"RBM,会分若干个小段写,这是第一段,关于RBM的基本概念. 网上有很多关于RBM的介绍,但是很多写的比较简略,跳过了很多细节,本文

深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling

技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 接下来重点讲一下RBM模型求解方法,其实用的依然是梯度优化方法,但是求解需要用到随机采样的方法,常见的有:Gibbs Sampling和对比散度(contrastive divergence, CD[8])算法. RBM目标函数 假设给定的训练集合是S={vi},总数是ns,其中每个样本表示为vi=(vi1,vi2,-,vinv),且都是独立同分布i.i.d的.RBM采用最大似然估计,即最大化 lnLS=ln∏i=1n

深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence

技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 上篇讲到,如果用Gibbs Sampling方法来训练rbm会非常慢,本篇中介绍一下对比散度contrastive divergence, CD算法. 我们希望得到P(v)分布下的样本,而我们有训练样本,可以认为训练样本就是服从P(v)的.因此,就不需要从随机的状态开始gibbs采样,而从训练样本开始. CD算法大概思路是这样的,从样本集任意一个样本v0开始,经过k次Gibbs采样(实际中k=1往往就足够了),即每一步

深度学习深入浅出:受限玻尔兹曼机RBM(二)模型与目标函数

技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 上解上一篇RBM(一)基本概念,本篇记叙一下RBM的模型结构,以及RBM的目标函数(能量函数),通过这篇就可以了解RBM到底是要求解什么问题.在下一篇(三)中将具体描述RBM的训练/求解方法,包括Gibbs sampling和对比散度DC方法. RBM模型结构 因为RBM隐层和可见层是全连接的,为了描述清楚与容易理解,把每一层的神经元展平即可,见下图[7],本文后面所有的推导都采用下图中的标记来表示. 再重提一下,经典

受限玻尔兹曼机RBM—简易详解

RBM(受限玻尔兹曼机)

基于能量模型 (EBM) 基于能量模型将关联到感兴趣的变量每个配置的标量能量.学习修改的能量函数使他它的形状具有最好的性能.例如,我们想的得到最好的参量拥有较低的能量. EBM的概率模型定义通过能量函数的概率分布,如下所示: 规则化系数 Z 称为分区函数和物理系统的能量模型相似. 一种基于能量模型可以学习通过随机梯度下降的方法处理负对数似然训练数据的.至于 logistic 回归分析我们将首次作为负对数似然定义对数似然然后损失函数. 使用随机梯度  更新参数权值,  是模型中的各种参数. EBM

受限玻尔兹曼机和深度置信网络

2016-07-20   11:21:33 1受限玻尔兹曼机 受限玻尔兹曼机(Restricted Boltzmann Machines, RBM)[1]由深度学习专家Hinton提出,有很多方面的应用,最成熟的有图像领域的图像识别和手写体数字识别,作为协同过滤算法对某一个未知值做预测,针对具有高维时间序列属性的数据,如人体移动的特征,同样也是做预测,还有针对文档数据分类和音频数据识别等等. 受限玻尔兹曼机RBM是一种特殊的马尔科夫随机场(Markov Random Field, MRF).一个

[深度学习]受限玻尔兹曼机生成手写数字训练样本分析

基于能量的模型(EBM) 基于能量的模型将每一个我们感兴趣的变量构造联系到一个标量能量上. 学习就是修改能量方程从而使得它的外形有我们需要的特点. 举例来说, 我们希望的是: 期望构造的能量低. 基于能量的概率性模型定义了一个概率分布, 它是由能量方程决定的: 归一化因子Z被称为配分函数, 类比于物理系统. 基于能量的模型可以通过SGD(随机梯度下降)算法基于数据的负值对数相似性(NLL)学习得到. 对于对数回归我们首先定义了对数相似性, 之后是损耗函数, 即 负值对数相似性(NLL). 使用随

受限玻尔兹曼机(RBM)原理总结

https://blog.csdn.net/l7H9JA4/article/details/81463954 授权转发自:刘建平<受限玻尔兹曼机(RBM)原理总结> 地址:http://www.cnblogs.com/pinard/p/6530523.html 前  言 本文主要关注于这类模型中的受限玻尔兹曼机(Restricted Boltzmann Machine,以下简称RBM),RBM模型及其推广在工业界比如推荐系统中得到了广泛的应用.章节目录 RBM模型结构 RBM概率分布 RBM模