受限Boltzmann机

1. 马尔科夫过程

  • 随机过程:设T是一个无限实数集,我们把依赖于参数t∈T的一族随机变量称为随机过程,记作{X(t),t∈T}
  • 马尔科夫性:随机过程中的随机变量将来的取值只与现在有关,而与过去无关(即只依赖于现在,不依赖于过去),我们就称随机过程具有马尔可夫性。
  • 马尔科夫过程和马氏链:具有马尔可夫性的随机过程,由马尔科夫过程中的随机变量组成的集合叫做马尔科夫链,简称马氏链。
  • 马氏链的转移概率矩阵:状态转移是指客观事物由一种状态转移到另一种状态的概率。时间间隔为n的称为n步转移概率矩阵。

2. 马氏链的性质

符号约定:n步转移概率矩阵pij(m,m+n)表示马氏链在m时刻处于状态i的条件下,m+n时刻处于状态j的概率

  • 齐次马氏链:当马氏链的状态转移矩阵只与当前状态、目标状态和时间间隔有关,而与初始时间无关时,称转移概率具有平稳性,对应的马氏链是齐次的或时齐的。此时,pij(m,m+n)记作pij(n)
  • 遍历性:即收敛性,当n趋向于无穷大时,n步转移概率矩阵p和马氏链都收敛于π,π的各分量之和为1,那么称该马氏链收敛于π

定理1:齐次马氏链的n步转移概率矩阵等于一步转移概率矩阵的n次方
定理2:设p是s马氏链对应的一步转移概率矩阵,当存在正整数m使得pij(m)>0,那么,该马氏链收敛
细致平稳条件:若
π(i) pij=π(j) pji对任意i,j都成立,那么π(x)是马氏链的平稳分布,即马氏链收敛于π

3. MCMC采样和Gibbs采样

  • MCMC即马尔科夫蒙特卡洛方法:对于任意给定的概率分布P(x),要求他的采样样本,我们可以联想到马氏链,如果马氏链的转移概率矩阵收敛于p,那么马氏链不就是p的样本吗。虽然这个想法很美好,但是怎么保证它收敛于p呢,对于任意一个转移概率矩阵q(i,j),细致平稳条件p(i) q(i,j)=p(j) q(j,i)显然不成立。
    这个问题怎么解决呢?我们可以引入α(i,j),使得:p(i) q(i,j) α(i,j) = p(j) q(j,i) α(j,i),这样新的转移概率矩阵q(i,j) α(i,j)就满足了细致平稳条件,我们称α为接受率

    mcmc采样算法描述如下:

注意:mcmc采样算法中假设对q采样比对p采样容易得多

  • Gibbs采样:
    由于MCMC采样对于高维随机变量的采样并不能胜任,由此提出Gibbs(吉布斯)采样

由此,我们可以构造转移概率矩阵:

满足细致平稳条件

给出Gibbs采样算法如下:

在受限Boltzmann机的训练算法中会用到Gibbs采样

4.受限Boltzmann机

我们知道,BM模型虽然能够解决Hopfield神经网络的伪吸引子问题,但是,由于其计算量太大,所以在实际中的应用并不多。
而受限Boltzmann机(RBM)模型的引入就是为了解决这一问题,其基于Gibbs采样的对比散度学习算法使得其学习训练的过程非常快。他还有一个非常重要的应用–可以使用RBM和BP神经网络堆叠出DBN-DNN深度网络。

4.1受限Boltzmann机的结构

从上图可以看出,受限玻尔兹曼机的同层节点之间不连接,层间全连接。
相比于BM模型,RBM模型的这种结构计算量少在哪里呢?由于它层内节点是没有连接的,这就决定了在计算每一层概率的时候可以单独计算层内每个节点的概率在相乘。

4.2受限Boltzmann机的训练算法

  • 符号约定:向量v,h分别代表可见层和隐层,下标i,j分别表示可见层和隐层的节点,向量a,b,w分别表示可见层、隐层的偏置以及层间的权重。能量函数如下:
  • 首先,明确训练目标:我们训练RBM的目的是实现类似Hopfield神经网络的联想记忆功能,也就是说,训练完成之后,在将一个新的测试样本输入网络可以输出与之最接近训练样本。所以,我们要尽可能多的让网络输出输入的训练样本。由此,可以给出训练的目标函数:


    Θ表示a,b,w三个待训练参数
    要使目标函数达到最大,可以使用梯度上升法来求解。求导之后,有:

    其中,<·>p表示对概率分布p求数学期望,data为已知可见层的条件下隐层的条件概率分布,这一项比较好求,model是v,h的联合分布,无法直接求出。

对比散度学习算法(CD算法)
从上面的分析中,我们可以知道,三个偏导数的前一项比较简单,直接求解便可,但是后一项无法直接求出。这时,我们的Gibbs采样就要派上用场了,我们可以用采样的方法来近似数学期望,但是,Gibbs采样要经过若干步之后才能收敛,然后才能模拟出当前的分布。但是,Hinton提出的CD算法指出,只用循环一次,便能够很好的模拟当前的分布,这又一次大大降低了计算量。c描述如下:

RBM模型就介绍到这里,本文主要参考张春霞的受限波尔兹曼机简介一文

受限Boltzmann机详解相关推荐

  1. Boltzmann机详解

    基于热力学的随机型神经网络–Boltzmann机 1. 模拟退火算法 我们知道,Hopfield神经网络拥有联想记忆的能力,这也是对生物神经网络的一种模拟.但是,Hopfield神经网络也和BP神经网 ...

  2. 2010 27寸 imac 升级固态_2017 款 iMac,27 寸升级换 SSD 固态硬盘拆机详解

    想要 iMac玩游戏?怎么能带动?如何解决卡顿问题?别急,给您带来2017 款 iMac,27 寸升级换 SSD 固态硬盘拆机详解,拆机并不复杂,动手能力差的同学看了这篇文章会觉得原来我也可以,那让我 ...

  3. dell灵越笔记本后盖怎么拆_dell笔记本拆机详解【图文教程】

    总所周知,笔记本室友大大小小的配置组装而成的,而笔记本同样的,有时也会存在着或多或少的故障,又或者有时由于好奇心的趋势,让我们相对笔记本内部的相关配置做更深一步的了解,这个时候,我们会选择对笔记本进行 ...

  4. 海尔微型计算机机箱如何拆解,海尔t628拆机详解

    电脑在我们这个时代已经是我们生活的必需品了,不管是在家里的生活方面还是在工作方面,电脑都能给我们带来极大的帮助.可是电脑毕竟只是一部机器,机器就避免不了出现问题的时候,有一些小问题我们又不想拿到外面去 ...

  5. android手机怎么拆机,韩雪拆安卓手机:十分钟熟练拆机/详解每个部件

    原标题:韩雪拆安卓手机:十分钟熟练拆机/详解每个部件 韩雪再拆安卓手机,近日,曾给iPhone换屏幕的科技达人韩雪,再次成功拆解安卓手机,并与知名游戏主播一同竞技.直播时,韩雪娴熟地拆下手机的所有部件 ...

  6. 新能源汽车车载充电机详解_新能源汽车车载充电机图解

    新能源汽车车载充电机详解 车载充电机是新能源汽车必不可少的核心零部件,其市场规模随着新能源汽车市场的快速增长而扩大.2016年,电动汽车车载充电机市场规模约20亿元,未来几年随着新能源汽车产量的逐年提 ...

  7. Unity3D-摄像机详解

    前言 之前由于在学校基本涉及到对于摄像机的操作,无非就是拖拉拽.对这块没有进行深入了解,现在在项目中碰到多次涉及摄像机的调节,现在对遇到的问题进行总结 一.Camera组件 我们新建场景中,通常默认会 ...

  8. 拆机详解2:比Macintosh还早?苹果Lisa拆解

    hello大家好,我是每天(实际并不是每天,你们点的赞太少了,每人点一个赞我就日更)给你们讲解的Eric_Bells.这里感谢博主@半身风雪的支持,我会更新的!看到的麻烦点个关注谢谢拉 今天唠唠一台比 ...

  9. 三星9300刷机详解 (转载)

    有机油询问在同是zip压缩包的情况系如何分辨是线刷包还是卡刷包,下面放上区分方法: 同是zip压缩包和,第一个是线刷包,需解压:第二个是卡刷包,不能解压.区分方法是:双击打开压缩包,查看包内文件(只是 ...

最新文章

  1. 2022-2028年中国急救中心行业发展战略规划及未来前景展望报告
  2. Spring 面试问题
  3. 专访盖茨:我的梦想是实现生命价值平等[转]
  4. python教程:可变长参数(*args、**kwargs)、返回值(return)
  5. 介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现
  6. tftp服务器从交换机上下载配置命令_软考网络工程师之交换机和路由(交换机基础)...
  7. 诸如北京现代 只有四个轮子和一电瓶由中国制造(转自新华网)
  8. 汉化风暴 python_手机端强大的汉化风暴工具 可汉化软件
  9. HTML ===> 页面添加数学公式
  10. Android 使用 Gradle 构建时,出现 Crunching Cruncher xxx.9.png failed 问题的解决方法
  11. linux制作U盘启动盘无法使用,完美:使用syslinux制作U盘启动盘
  12. 计算机课搞事情检讨,考试作弊被抓写的检讨书(精选10篇)
  13. 海尔智家半年报营收净利双增,卡萨帝、三翼鸟贡献几何?
  14. 斯尔福化学实验室设计规划环境及建设要求
  15. 深度学习入门(一)快速建立自己的图片数据集
  16. QT实战-计算器-刘桂林-专题视频课程
  17. C语言-八道题深入理解c指针
  18. Linux环境下Kafka的下载配置和运行
  19. 在GeoServer中使用Udig配置的地图样式
  20. 如何在WPS、MathType中输入傅立叶变换的符号

热门文章

  1. oracle的hints类型,oracle中的sql语句优化附件_HINTS
  2. 如何使用C#以编程方式将MPP文件转换为PDF?
  3. applecare多少钱?_如何在Apple设备上检查AppleCare的状态
  4. 美颜api和AI智能美妆碰撞出了怎样的火花?
  5. 。颜色 网页色彩转载 白底
  6. 如何使用谷歌浏览器开发者工具中的Performance分析网页性能
  7. 【Linux】ubuntu安装ssh服务端openssh-server
  8. ubuntu安装ssh服务器
  9. 微信营销以人为本 产品第二
  10. 【软件工程】软件设计概述