欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld

技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入

上解上一篇RBM(一)基本概念,本篇记叙一下RBM的模型结构,以及RBM的目标函数(能量函数),通过这篇就可以了解RBM到底是要求解什么问题。在下一篇(三)中将具体描述RBM的训练/求解方法,包括Gibbs sampling和对比散度DC方法。

RBM模型结构

因为RBM隐层和可见层是全连接的,为了描述清楚与容易理解,把每一层的神经元展平即可,见下图[7],本文后面所有的推导都采用下图中的标记来表示。



再重提一下,经典的RBM模型中的神经元都是binary的,也就是说上面图中的神经元取值都是{0,1}的。实际上RBM也可以做实数性的model,不过这一块可以先放一放,先来看binary的基本model。

RBM能量函数

RBM是一个能量模型(Energy based model, EBM),是从物理学能量模型中演变而来;能量模型需要做的事情就是先定义一个合适的能量函数,然后基于这个能量函数得到变量的概率分布,最后基于概率分布去求解一个目标函数(如最大似然)。RBM的过程如下:

我们现在有的变量是(v,h),包括隐层和可见层神经元;参数包括θ=(W,a,b)。能量函数定义:

Eθ(v,h)=−∑i=1nvaivi−∑j=1nhbjhj−∑i=1nv∑j=1nhhjwj,ivi

如果写成向量/矩阵的形式,则为:

Eθ(v,h)=−aTv−bTh−hTWv

那么,可以得到变量(v,h)的联合概率分布是:

Pθ(v,h)=1Zθe−Eθ(v,h)

其中,Zθ称为归一化因子,作用是使得概率之和(或者积分)为1,形式为:

Zθ=∑v,he−Eθ(v,h)

在上面所有算式中,下标θ都表示在参数θ=(W,a,b)下的表达,为了书写的简洁性,本文余下部分如果没有特殊指定说明,就省略下标θ了,但含义不变。

OK,当我们有了联合概率分布,如果想求观察数据(可见层)的概率分布P(v),则求边缘分布:

P(v)=∑hP(v,h)=1Z∑he−E(v,h)

相对应的,如果想求隐层单元的概率分布P(h),则求边缘分布:

P(h)=∑vP(v,h)=1Z∑ve−E(v,h)

当然,我们不太可能直接计算Z,因为Z的求和中存在指数项种可能——2nv+nh种取值。接下来考虑条件概率,即可见层神经元状态给定时,(任意)隐藏层神经元状态为1的概率,即P(hk=1|v)。类似的也可以求P(vk=1|h),方法也是差不多的,下面就只对P(hk=1|v)进行描述。我们可以推导出:

P(hk=1|v)==sigmoid(bk+∑j=1nvwkjvj)

以及

P(vk=1|h)==sigmoid(ak+∑j=1nhwjkhj)

可以直接知道结果即可,证明可以跳过。这里我们可以看到,sigmoid是一种激励函数,因此才把RBM也叫做一种神经网络模型。


证:以下记h−k表示隐藏层神经元k以外的神经元。

P(hk=1|v)=P(hk=1|h−k,v)=P(hk=1,h−k,v)P(h−k,v))=P(hk=1,h−k,v)P(hk=1,h−k,v))+P(hk=0,h−k,v))=1Ze−E(hk=1,h−k,v)1Ze−E(hk=1,h−k,v))+1Ze−E(hk=0,h−k,v))=11+e−E(hk=0,h−k,v))+E(hk=1,h−k,v)=11+e−(bk+∑nvj=1wkjvj)=sigmoid(bk+∑j=1nvwkjvj)

因为假设同层神经元之间相互独立,所以有:

P(h|v)=∏j=1nhP(hj|v)P(v|h)=∏i=1nvP(vi|h)

RBM目标函数

假设给定的训练集合是S={vi},总数是ns,其中每个样本表示为vi=(vi1,vi2,…,vinv),且都是独立同分布i.i.d的。RBM采用最大似然估计,即最大化

lnLS=ln∏i=1nsP(vi)=∑i=1nslnP(vi)

RBM的求解问题就是如何最大化似然估计,在下一篇中我会描述常用的求解方法:Gibbs Sampling以及对比散度方法,算是RBM的核心吧。本篇就到这里。


觉得有一点点价值,就支持一下哈!花了很多时间手打公式的说~更多内容请关注Bin的专栏


参考资料

[1] http://www.chawenti.com/articles/17243.html

[2] 张春霞,受限波尔兹曼机简介

[3] http://www.cnblogs.com/tornadomeet/archive/2013/03/27/2984725.html

[4] http://deeplearning.net/tutorial/rbm.html

[5] Asja Fischer, and Christian Igel,An Introduction to RBM

[6] G.Hinton, A Practical Guide to Training Restricted Boltzmann Machines

[7] http://blog.csdn.net/itplus/article/details/19168937

[8] G.Hinton, Training products of experts by minimizing contrastive divergence, 2002.

[9] Bengio, Learning Deep Architectures for AI, 2009

深度学习方法:受限玻尔兹曼机RBM(二)网络模型的更多相关文章

  1. 深度学习方法:受限玻尔兹曼机RBM(一)基本概念

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 最近在复习经典机器学习算法的同 ...

  2. 基于受限玻尔兹曼机(RBM)的协同过滤

    受限玻尔兹曼机是一种生成式随机神经网络(generative stochastic neural network), 详细介绍可见我的博文<受限玻尔兹曼机(RBM)简介>, 本文主要介绍R ...

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

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 上篇讲到,如果用Gibbs Sa ...

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

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 接下来重点讲一下RBM模型求解 ...

  5. 受限玻尔兹曼机RBM

    相关算法 python代码参考http://blog.csdn.net/zc02051126/article/details/9668439#(作少量修改与注释) #coding:utf8 impor ...

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

  7. 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)

    这篇写的主要是翻译网上一篇关于受限玻尔兹曼机的tutorial,看了那篇博文之后感觉算法方面讲的很清楚,自己收获很大,这里写下来作为学习之用. 原文网址为:http://imonad.com/rbm/ ...

  8. 关于”机器学习方法“,&quot;深度学习方法&quot;系列

    "机器学习/深度学习方法"系列,我本着开放与共享(open and share)的精神撰写,目的是让很多其它的人了解机器学习的概念,理解其原理,学会应用.如今网上各种技术类文章非常 ...

  9. 受限玻尔兹曼机(Restricted Boltzmann Machine)

    受限玻尔兹曼机(Restricted Boltzmann Machine) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 生成模型 2. 参数学 ...

随机推荐

  1. HDOJ(HDU).1016 Prime Ring Problem (DFS)

    HDOJ(HDU).1016 Prime Ring Problem (DFS) [从零开始DFS(3)] 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架 ...

  2. 【树形DP】【P1364】医院放置

    传送门 Description 设有一棵二叉树,如图: 其中,圈中的数字表示结点中居民的人口.圈边上数字表示结点编号,现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻接 ...

  3. caffe数据集——LMDB

    LMDB介紹 Caffe使用LMDB來存放訓練/測試用的數據集,以及使用網絡提取出的feature(為了方便,以下還是統稱數據集).數據集的結構很簡單,就是大量的矩陣/向量數據平鋪開來.數據之間沒有什 ...

  4. 一维的Haar小波变换

    小波变换的基本思想是用一组小波函数或者基函数表示一个函数或者信号,例如图像信号.为了理解什么是小波变换,下面用一个具体的例子来说明小波变换的过程. 1. 求有限信号的均值和差值 [例] 假设有一幅分辨 ...

  5. Dynamic len(set(a[L:R])) UVA - 12345(这么过分一定要写博客)

    给出一个有n个元素的数组,有以下两种操作:Q x y,求出区间[x,y)内不同元素的个数, M x y,把第x个元素的值修改为y.注意题目中的下标是从0开始的 这题超级超级坑 妈的一个水题找了几个小时 ...

  6. Elasticsearch6.0 IKAnalysis分词使用

    Elasticsearch 内置的分词器对中文不友好,会把中文分成单个字来进行全文检索,不能达到想要的结果,在全文检索及新词发展如此快的互联网时代,IK可以进行友好的分词及自定义分词. IK Anal ...

  7. 35 个你也许不知道的 Google 开源项目

    转载自:http://blog.csdn.net/cnbird2008/article/details/18953113 Google是支持开源运动的最大公司之一,它们现在总共发布有超过500个的开源 ...

  8. 【BZOJ4821】【SDOI2017】相关分析 [线段树]

    相关分析 Time Limit: 10 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Frank对天文学非常感兴趣,他经 ...

  9. 【HNOI】五彩斑斓 模拟

    [题目描述] 给定一个n*m的矩阵,矩阵的某些位置有一个颜色(可以没有颜色,即为0),现在你可以将矩阵的某一行或者某一列染成同一种颜色,问最少用多少步能达到目标矩阵的染色方案,输出最少步数和方案. [ ...

  10. hdu 1556(线段树之扫描线)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556 Color the ball Time Limit: 9000/3000 MS (Java/Ot ...