受限玻尔兹曼机(RBM)以及对比散度(CD)
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 算法
目标函数,即在参数(θ)确定的情况,最大化重现(再现)输入;
5. AE 与 RBM
- AE:
- 出于简化的考虑:输入层,隐层,输出层;
- 因为通过低维的隐层,可以重构出输出层,可见低维的隐层,是一种对输入本质特征的描述,又可从侧面说明,输入层是可以被压缩,也即存在冗余,进一步我们可认为其是可以被稀疏表示的;
- 平方损失,BP反向传播,
- RBM:
- 可见层,隐层,可见层,隐层 ,,, ,是一种横向的展开;
- 这种周期性的循环结构可以被视为:不同的可见层其实是相互重叠的;
- 可见层既作为输入,也作为输出,(之所以称其为可见层,隐层,而不是输入层,隐层,输出层,就在于,可见层既作为输入层,也作为输出层)
-
受限玻尔兹曼机(RBM)以及对比散度(CD)的更多相关文章
- 深度学习方法:受限玻尔兹曼机RBM(一)基本概念
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 最近在复习经典机器学习算法的同 ...
- 基于受限玻尔兹曼机(RBM)的协同过滤
受限玻尔兹曼机是一种生成式随机神经网络(generative stochastic neural network), 详细介绍可见我的博文<受限玻尔兹曼机(RBM)简介>, 本文主要介绍R ...
- 深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence,CD
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 上篇讲到,如果用Gibbs Sa ...
- 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 接下来重点讲一下RBM模型求解 ...
- 深度学习方法:受限玻尔兹曼机RBM(二)网络模型
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入 上解上一篇RBM(一)基本概念, ...
- 受限玻尔兹曼机RBM
相关算法 python代码参考http://blog.csdn.net/zc02051126/article/details/9668439#(作少量修改与注释) #coding:utf8 impor ...
- 受限玻尔兹曼机RBM—简易详解
- 受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)
这篇写的主要是翻译网上一篇关于受限玻尔兹曼机的tutorial,看了那篇博文之后感觉算法方面讲的很清楚,自己收获很大,这里写下来作为学习之用. 原文网址为:http://imonad.com/rbm/ ...
- 受限玻尔兹曼机(RBM)学习笔记(六)对比散度算法
去年 6 月份写的博文<Yusuke Sugomori 的 C 语言 Deep Learning 程序解读>是囫囵吞枣地读完一个关于 DBN 算法的开源代码后的笔记,当时对其中涉及的算 ...
随机推荐
- Linux上制作Window启动盘
Linux上制作Window启动盘 注意: U盘在Linux中的标签(依具体情况而定:执行df查看) U盘 ----- /dev/sdb4 格式化U盘 建立U盘的启动分区 安装关键工具 ms-sys ...
- 解决java中ZipFile解压缩时候的中文路径和乱码问题
JAVA中对jar文件或zip文件解压的时候,能够使用JDK内置的API:JarFile和ZipFile,在windows下解压这2种格式文件的时候,常常报下面错误: Exception in thr ...
- Codeforces 138C(区间更新+离散化)
题意:有n棵树在水平线上,给出每棵树的坐标和高度,然后向左倒的概率和向右倒的概率,和为1,然后给出了m个蘑菇的位置,每一个蘑菇都有一个魔法值,假设蘑菇被压死了,也就是在某棵树[a[i] - h[i], ...
- DI:依赖注入详解
DI(依赖注入) 依赖注入的理解: 一般写程序的时候service层都需要用到dao层,所以一般都是在service层里面new dao ,而现在利用依赖注入的方式,直接把dao给了service层 ...
- php实现求扑克牌顺子(*****)(AC)(分类:把问题分小,利于排错)
php实现求扑克牌顺子(*****)(AC)(分类:把问题分小,利于排错) 一.总结 分类(那就可以把问题分小而逐步完成每个板块,这样是很简单的) 分类还有助于查错 二.php实现求扑克牌顺子 题目描 ...
- BigDecimal 舍入模式(Rounding mode)介绍
BigDecimal 舍入模式(Rounding mode)介绍 什么样的经历,才能领悟成为架构师? >>> 1 RoundingMode介绍 package java.math ...
- 云平台DevOps实践
基于TFS的.net技术路线的云平台DevOps实践 DevOps是近几年非常流行的系统研发管理模式,很多公司都或多或少在践行DevOps.那么,今天就说说特来电云平台在DevOps方面的实践吧. ...
- UIPasteboard粘贴板:UIMenuController自定义(三)
这篇咱总结总结自定义剪贴板的使用 其实自定义剪贴板也非常简单,无非是放开响应时间,通过UIMenuController自定义剪贴板,然后就是最关键的实现你所用的copy方法拉. 为了方便实用,我给ce ...
- erlang---启动参数学习/研究
erlang启动参数有3种:emulator flags, flags 和plain arguments. emulator flags 是以“+”开头的,用来控制模拟器的行为,附送一个非常实用的例子 ...
- 解决eclipse 保存卡顿的问题
开发十年,就只剩下这套Java开发体系了 >>> eclipse 如果启动慢,还可以接收. 可是如果是 保存的时候卡顿, 有时候会 卡顿 3秒-5 秒的,感觉到写代码特别的不顺畅 ...