深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
来源:互联网 发布:建立少数民族数据库 编辑:程序博客网 时间:2024/05/20 07:36
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。
技术交流QQ群:433250724,欢迎对算法、技术、应用感兴趣的同学加入。
接下来重点讲一下RBM模型求解方法,其实用的依然是梯度优化方法,但是求解需要用到随机采样的方法,常见的有:Gibbs Sampling和对比散度(contrastive divergence, CD[8])算法。
RBM目标函数
假设给定的训练集合是
参数表示为
其中,
其中
(其中第3个等式左边内条件概率
上面式子的两个部分的含义是期望——左边是梯度
因此,我们重点就是需要就算
类似的,我们可以很容易得到:
于是,我们很容易得到,
上面求出了一个样本的梯度,对于
到这里就比较明确了,主要就是要求出上面三个梯度;但是因为不好直接求概率分布
Gibbs Sampling
很多资料都有提到RBM可以用Gibbs Sampling来做,但是具体怎么做不讲(是不是有点蛋疼?),可能很多人也不清楚到底怎么做。下面稍微介绍一下。
吉布斯采样(Gibbs sampling),是MCMC方法的一种,具体可以看我前面整理的随机采样MCMC的文章。总的来说,Gibbs采样可以从一个复杂概率分布
也就是说
有了样本
看起来很简单是不是?但是问题是,每一次gibbs采样过程都需要反复迭代很多次以保证马尔科夫链收敛,而这只是一次梯度更新,多次梯度更新需要反复使用gibbs采样,使得算法运行效率非常低。为了加速RBM的训练过程,Hinton等人提出了对比散度(Contrastive Divergence)方法,大大加快了RBM的训练速度,将在下一篇重点讲一下。
OK,本篇先到这里。平时工作比较忙,加班什么的(IT的都这样),晚上回到家比较晚,每天只能挤一点点时间写,写的比较慢,见谅。RBM这一块可以看的资料很多,网上一搜一大堆,还包括hinton的一些论文和Bengio的综述[9],不过具体手写出来的思路还是借鉴了[7],看归看,我会自己推导并用自己的语言写出来,大家有什么问题都可以留言讨论。下一篇最后讲一下CD算法,后面有时间再拿code出来剖析一下。
觉得有一点点价值,就支持一下哈!花了很多时间手打公式的说~更多内容请关注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(三)模型求解,Gibbs sampling
- 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
- 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
- 深度学习方法:受限玻尔兹曼机RBM(二)网络模型
- 深度学习方法:受限玻尔兹曼机RBM(二)网络模型
- 深度学习方法:受限玻尔兹曼机RBM(二)网络模型
- 深度学习方法:受限玻尔兹曼机RBM(一)基本概念
- 深度学习方法:受限玻尔兹曼机RBM(一)基本概念
- 深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence,CD
- 深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence,CD
- 深度学习方法:受限玻尔兹曼机RBM(四)对比散度contrastive divergence,CD
- 深度学习-受限玻尔兹曼机(RBM)
- RBM(受限玻尔兹曼机)
- RBM(受限玻尔兹曼机)
- 受限玻尔兹曼机(RBM)
- 深度置信网络(DBN)和受限玻尔兹曼机(RBM)
- Gibbs Sampling\吉布斯采样(三)
- Gibbs Sampling(三):补充
- Collections.synchronizedList()方法
- Java 基础练习题(50)
- Android开发UI界面优化(2)
- 算法之动态规划初步认识(一)
- Gradle version 2.2 is required错误解决,还有gradle造成的各种错误
- 深度学习方法:受限玻尔兹曼机RBM(三)模型求解,Gibbs sampling
- 如何使用SecureCRT连接虚拟机中的Linux
- The method getTextContent() is undefined for the type Node
- MyEclipse8.5集成Tomcat7时的启动错误:Exception in thread “main” java.lang.NoClassDefFoundError org/apache/com
- 第8周拓展实践 8.污损的单据
- Mysql分库分表方案
- IOS 地图导航(其中包括苹果地图、百度地图、高德地图、谷歌地图)
- Error处理:Invalid arguments ‘ Candidates are: void * memcpy(void *, const void *, ?)
- linux的top命令参数详解