能量模型(EBM)、限制波尔兹曼机(RBM)

在介绍EBM(Energy Based Model)和BM(Boltzmann Machines)之前,我们先来了解一下产生式模型(generative model)和判别式模型(discriminative model)的区别

产生式模型:用来估计联合概率P(x,y), 因此可以根据联合概率来生成样本,如HMM

判别式模型:用来估计条件概率P(y|x),因为没有x的知识,无法生成样本,只能判断分类,如SVM,CRF,MEM(最大熵)

举例:

(1,0),(1,0), (2,0), (2, 1)
产生式模型:

P(x,y):    P(1, 0) = 1/2, P(1, 1) = 0, P(2, 0)= 1/4, P(2, 1) = 1/4.

判别式模型:
P(
y|x):    P(0|1) = 1, P(1|1) = 0, P(0|2) =1/2, P(1|2) = 1/2


基于能量的模型和波尔兹曼机


由于深度置信网络(Deep Belief Networks,DBN)是基于限制性玻尔兹曼机(Restricted Boltzmann Machines,RBM)的深层网络结构, 所以本文重点讨论一下玻尔兹曼机(BM),以及它的学习算法——对比散度(Contrastive Divergence,CD)算法。在介绍BM前,我们首先介绍一下 基于能量的模型(Energy Based Model,EBM),因为BM是一种特殊的EBM。

1. 基于能量的模型(EBM)

基于能量的模型是一种具有普适意义的模型,可以说它是一种模型框架,在它的框架下囊括传统的判别模型和生成模型,图变换网络(Graph-transformer Networks),条件随机场,最大化边界马尔科夫网络以及一些流形学习的方法等。EBM通过对变量的每个配置施加一个有范围限制的能量来捕获变量之间的依赖 关系。EBM有两个主要的任务,一个是推断(Inference),它主要是在给定观察变量的情况,找到使能量值最小的那些隐变量的配置;另一个是学习(Learning), 它主要是寻找一个恰当的能量函数,使样本中正确的输入输出的能量 比错误的输入输出的能量低

基于能量的模型(EBM)把我们所关心变量的各种组合和一个标量能量联系在一起。我们训练模型的过程就是不断改变标量能量的过程,因此就有了数学上期望的意义。比如,如果一个变量组合被认为是合理的,它同时也具有较小的能量。基于能量的概率模型通过能量函数来定义概率分布:


其中Z为规整因子,

基于能量的模型可以利用使用梯度下降或随机梯度下降的方法来学习,具体而言,就是以训练集的负对数作为损失函数,

其中 θ 为模型的参数,将损失函数对 θ 求偏导,

即得到损失函数下降最快的方向。

包含隐单元的EBMs

在很多情况下,我们无法观察到样本的所有属性,或者我们需要引进一些没有观察到的变量,以增加模型的表达能力,这样得到的就是包含隐含变量的EBM,


其中 h 表示隐含变量。在这种情况下,为了与不包含隐含变量的模型进行统一,我们引入如下的自由能量函数,

这样 P(x) 就可以写成,

此时,损失函数还是类似的定义,只是在进行梯度下降求解时稍微有些不同,
  • 6
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
EBM模型和SBM模型是社会网络中常用的两种模型,它们的区别主要体现在以下几个方面。 首先,EBM模型是基于指数随图的社区检测模型,该模型假设社交网络中的节点服从指数分布。该模型适用于大规模网络,在节点度数呈现幂律分布的情况下能够准确地发现社区结构。而 SBM模型则是基于随模型的社区检测模型,该模型假设网络中的节点属于不同的社区,并且社区内的节点存在较高的连接概率,而社区之间的连接概率较低。该模型适用于小规模网络,并且需要预先知道社区的数量。 其次,EBM模型和SBM模型的目标函数不同。EBM模型通过最大化对数似然估计来寻找社区结构,而SBM模型则是通过最大化模块度来寻找社区结构。 另外,EBM模型和SBM模型在处理重叠社区的能力上也存在差异。EBM模型能够检测到一个节点同时属于多个社区,即重叠社区。而SBM模型主要用于检测非重叠社区,即一个节点只能属于一个社区。 此外,EBM模型和SBM模型在计算复杂性上也有差异。由于SBM模型要考虑到社区之间的连接概率,因此在大规模网络中计算复杂度较高。而EBM模型的计算复杂度较低,适用于大规模网络。 综上所述,EBM模型和SBM模型在假设、目标函数、处理重叠社区的能力以及计算复杂度等方面存在显著区别。选择哪种模型应根据具体的网络特点和研究需要来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值