1. RBM 的提出

BM 的缺点:

  • 计算时间漫长,尤其是无约束自由迭代的负向阶段;
  • 对抽样噪音敏感;
  • 流行软件的不支持;

受限玻尔兹曼机(Restricted Boltzmann Machine,简称 RBM,以解决 BM 的学习效率过慢的严重缺陷)是由 Hinton 和 Sejnowski 于 1986 年提出的一种生成式随机神经网络(generative stochastic neural network),该网络由一些可见单元(visible unit,对应可见变量,亦即数据样本)和一些隐藏单元(hidden unit,对应隐藏变量)构成,可见变量和隐藏变量都是二元变量,亦即其状态取{0,1}。整个网络是一个二部图,只有可见单元和隐藏单元之间才会存在边,可见单元之间以及隐藏单元之间都不会有边连接,如下图所示:

2. BM 与 RBM 的对比

  • RBM 和 BM 一样,都可视为一种无向图(undirected graph),所谓无向的涵义即在于,权值对称,wji=wij(自然对于有向图而言,与指向有关;)

  • RBM 同层节点之间没有连接(BM 有连接),

    • 可见层,隐层:结点之间彼此独立(简化的思路)(条件独立假设),

3. 数学记号

  • 能量函数的定义:

    E(v,h|θ)=−∑iaivi−∑jbjhj−∑in∑jmaiWijbj
    • 显然可以将上述公式简化为:一种向量的记法;
    • ai:可见层的偏置(bias)
    • bj:隐层的偏置(bias)
    • 竖线右边的 θ 就像条件概率的形式一样,一般理解为固定 θ(θ={Wij,ai,bj})的条件下,E 关于 v,h 的函数;
  • v,h 的联合概率分布为(由玻尔兹曼分布而来):

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

    Z 十分难计算(2n+m 种组合)

4. CD 算法

θ∗=argmaxL(θ)=argmax∑t=1TlogP(v(t)|θ)

目标函数,即在参数(θ)确定的情况,最大化重现(再现)输入;

5. AE 与 RBM

  • AE:

    • 出于简化的考虑:输入层,隐层,输出层;
    • 因为通过低维的隐层,可以重构出输出层,可见低维的隐层,是一种对输入本质特征的描述,又可从侧面说明,输入层是可以被压缩,也即存在冗余,进一步我们可认为其是可以被稀疏表示的;
      • 平方损失,BP反向传播,
  • RBM:
    • 可见层,隐层,可见层,隐层 ,,, ,是一种横向的展开;
    • 这种周期性的循环结构可以被视为:不同的可见层其实是相互重叠的;
    • 可见层既作为输入,也作为输出,(之所以称其为可见层,隐层,而不是输入层,隐层,输出层,就在于,可见层既作为输入层,也作为输出层)
    • -

受限玻尔兹曼机(RBM)以及对比散度(CD)的更多相关文章

  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(二)网络模型

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 上解上一篇RBM(一)基本概念, ...

  6. 受限玻尔兹曼机RBM

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

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

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

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

  9. 受限玻尔兹曼机(RBM)学习笔记(六)对比散度算法

      去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...

随机推荐

  1. 在vue中使用font-awesome

    1.安装 cnpm i font-awesome -S 2.在main.js中引入 import 'font-awesome/css/font-awesome.min.css'

  2. IntelliJ IDEA设置鼠标悬浮提示

    测试代码; public interface MyInterface { /** * 我是接口方法的注释 * @param num1 我是接口方法入参的注释 * @return 我是接口方法返回值的注 ...

  3. Coverage报告生成

    Coverage报告生成 覆盖率 覆盖率驱动的验证方法中覆盖率报告的生成至关重要,现在介绍一下使用DVE和URG生成覆盖率报告的步骤. 使用VCS生成数据 在VCS的运行脚本中添加-cm cond+f ...

  4. [TypeScript] Understand lookup types in TypeScript

    Lookup types, introduced in TypeScript 2.1, allow us to dynamically create types based on the proper ...

  5. [Angular] Using InjectionToken

    Previously we have 'OpaqueToken', but it is DEPRECATED. The new one is called 'InjectionToken'. The ...

  6. 【C++竞赛 G】Lines

    Time Limit: 3s Memory Limit: 64MB 问题描述 Ljr has several lines. The lines are covered on the X axis. L ...

  7. acdream 1430 SETI 后缀数组+height分组

    这题昨天比赛的时候逗了,后缀想不出来,由于n^2的T了,就没往后缀数组想--并且之后解题的人又说用二分套二分来做.然后就更不会了-- 刚才看了题解,唉--原来题讲解n^2的也能够过,然后就--这样了! ...

  8. Android Studio Gradle:Resolvedependencies':app:_debugCompile' 问题解决纪录

    问题描述: 第一次使用AndroidStudio打开已经存在的AndroidStudio项目,卡在Gradle:Resolvedependencies':app_debugCompile'步骤,即使进 ...

  9. [Jenkins] Creating Application builds

    After installing the jenkins, we start creating new job. 1. Give job names (your project name): 2. G ...

  10. .net core——Docker化开发和部署

    原文:.net core--Docker化开发和部署 本篇文章是使用Vs2017生成的Dockerfile进行部署的. 目录 VS2017生成Docker部署项目 Dockerfile内容 在开发服务 ...