本文后面很多内容都是参考博客:http://www.cnblogs.com/xbinworld/p/4266146.html。本文主要用作学习交流备忘用。

  

1)简述:

  随机模拟也可以叫做蒙特卡洛模拟,其中一个很重要的问题就是指定一个概率分布p(x),然后在计算机中生成它的样本。

2)MC核心思想:

  当我们无法精确精算和或者积分时,可以把和或者积分视作某种分布下的期望,然后通过估计对应的平均值来近似这个期望。

        

3)产生的问题与改进

在上述式子中,我们依赖于基本分布p(x),而且该分部可以让我们轻易的采样。但是实际中这个条件并不都是成立的。当我们无法从p中采样时,一个方案是重要采样,另一种是使用一个趋近于目标分部估计的序列即MCMC(马尔科夫蒙塔卡洛方法)

4)重要采样的方法

  令:p(x)f(x)=。在这里我们从q中进行采样,然后估计的均值。

  问题:对于上述式子,对于任意的q分布都是可行的,如果从方差最小的角度选择最优q分布,虽然能够最优q分布可以得到,但是从中采样是不可行的。但是其他的仍然能够降低方差的q还是可行的。

  另外一个好的q分布很难取得。因为如果一个q使得很大,那么这个估计的方差也会很大。因为我们经常会取一些简单的分布作为q。但是当x是高维数据的时候,q分布的简单性很难与p或者pf相匹配。当q>>pf时候,重要采样采到了很多无用的样本(权值之和很小,或趋近于0)。当q<<pf时候,样本很少被采集到,其对应的权值会非常大。

  尽管存在很多风险,重要采样在机器学习和深度学习中仍有重要的作用: 重要采样被应用于加速训练具有大规模词汇的神经网络语言模型的过程中或者其他有着大量输出结点的神经网络中。此外,还可以看到重要采样应用于估计配分函数(一个概率分布的归一化常数)的过程中以及在深度有向图模型比如变分自编码器中估计似然函数的对数。采用随机梯度下降训练模型参数的时候重要采样可以用来改进对代价函数梯度的估计,尤其是针对于分类器模型的训练中一小部分错误分类样本产生的代价函数。在这种情况下更加频繁地采集这些困难的样本可以降低梯度估计的误差。

5)马尔科夫链和马尔科夫稳态

  马氏链定理:如果一个非周期马氏链具有状态转移概率矩阵P,且它的任何两个状态是联通的,那么存在,且与i无关(i表示初始状态),记 =π(j)。即沿着状态转移矩阵进行转移,无论初始状态为什么,最终都会收敛到一个稳定分布π=[π(1),π(2)….]。

  所以一个理想的情况是:找到转移矩阵为p的马氏链,使得该马氏链的平稳分布恰好是p(x),那么我们从任一个初始状态x0出发,得到一个转移序列x1,x2,….如果其在xi处收敛,则x(i+1)…..就是我们要取的样本。

细致平稳条件:

  

  

  

  

  此时取:

  则有:

  

6)MCMC-Gibbs Sampling

  

  Gibbs-Sampling算法:

  

  

  

参考文献:

    [1]http://www.cnblogs.com/xbinworld/p/4266146.html

[2]
http://blog.csdn.net/xianlingmao/article/details/7768833

    [3] http://www.cnblogs.com/daniel-D/p/3388724.html

    [4] http://cos.name/2013/01/lda-math-mcmc-and-gibbs-sampling/

    [5] An Introduction to MCMC for Machine Learning,2003

    [6] Introduction to Monte Carlo Methods

    [7]深度学习

MCMC,GIBBS SAMPLING简单摘要的更多相关文章

  1. MCMC&Gibbs sampling

    Note of Markov Chain Monte Carlo and Gibbs Sampling :  http://pan.baidu.com/s/1jHpWY1o 序:A major lim ...

  2. 随机采样方法整理与讲解(MCMC、Gibbs Sampling等)

    本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...

  3. 机器学习方法(八):随机采样方法整理(MCMC、Gibbs Sampling等)

    转载请注明出处:Bin的专栏,http://blog.csdn.net/xbinworld 本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比 ...

  4. 随机采样方法整理与讲解(Acceptance-Rejection、MCMC、Gibbs Sampling等)

    本文是对参考资料中多篇关于sampling的内容进行总结+搬运,方便以后自己翻阅.其实参考资料中的资料写的比我好,大家可以看一下!好东西多分享!PRML的第11章也是sampling,有时间后面写到P ...

  5. PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)

    主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00  今天的主要内容:Markov Chain Monte Carlo,M ...

  6. 【转载】MCMC和Gibbs Sampling算法

    转载随笔,原贴地址:MCMC和Gibbs Sampling算法 本文是整理网上的几篇博客和论文所得出来的,所有的原文连接都在文末. 在科学研究中,如何生成服从某个概率分布的样本是一个重要的问题.如果样 ...

  7. 随机模拟MCMC和Gibbs Sampling

    随机模拟 统计模拟中有一个重要的问题就是给定一个概率分布 p(x),我们如何在计算机中生成它的样本.一般而言均匀分布 Uniform(0,1)的样本是相对容易生成的. 通过线性同余发生器可以生成伪随机 ...

  8. LDA-math-MCMC 和 Gibbs Sampling

    http://cos.name/2013/01/lda-math-mcmc-and-gibbs-sampling/ 3.1 随机模拟 随机模拟(或者统计模拟)方法有一个很酷的别名是蒙特卡罗方法(Mon ...

  9. 随机采样和随机模拟:吉布斯采样Gibbs Sampling

    http://blog.csdn.net/pipisorry/article/details/51373090 吉布斯采样算法详解 为什么要用吉布斯采样 通俗解释一下什么是sampling. samp ...

随机推荐

  1. springboot 热部署的两种方式

    问题的提出: 在编写代码的时候,你会发现我们只是简单把打印信息改变了,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来就真的是打几个Hello World就下班了.那么如何解决热部署的问题呢 ...

  2. 比最差的API(ETW)更差的API(LTTng)是如何炼成的, 谈如何写一个好的接口

    最近这几天在帮柠檬看她的APM系统要如何收集.Net运行时的各种事件, 这些事件包括线程开始, JIT执行, GC触发等等. .Net在windows上(NetFramework, CoreCLR)通 ...

  3. Java之线程安全中的三种同步方式

    一个程序在运行起来时,会转换为进程,通常含有多个线程. 通常情况下,一个进程中的比较耗时的操作(如长循环.文件上传下载.网络资源获取等),往往会采用多线程来解决. 比如,现实生活中,银行取钱问题.火车 ...

  4. bzoj 4539: [Hnoi2016]树

    Description 小A想做一棵很大的树,但是他手上的材料有限,只好用点小技巧了.开始,小A只有一棵结点数为N的树,结 点的编号为1,2,-,N,其中结点1为根:我们称这颗树为模板树.小A决定通过 ...

  5. HTML5 矩阵变换

    transforms 使用图形上下文对象的transforms方法修改变换矩阵,该方法的定义如下: context.transform(m11,m12,m21,m22,dx,dy); 其中m11,m1 ...

  6. ABP 教程文档 1-1 手把手引进门之 AngularJs, ASP.NET MVC, Web API 和 EntityFramework(官方教程翻译版 版本3.2.5)含学习资料

    本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 转载请注明出处:http://www.cnblogs.com/yabu007/  谢谢 官方文档分四部分 一. 教程文档 二.ABP 框架 三. ...

  7. AJAX请求真的不安全么?谈谈Web安全与AJAX的关系。

    开篇三问 AJAX请求真的不安全么? AJAX请求哪里不安全? 怎么样让AJAX请求更安全? 前言 本文包含的内容较多,包括AJAX,CORS,XSS,CSRF等内容,要完整的看完并理解需要付出一定的 ...

  8. php+中文分词scws+sphinx+mysql打造千万级数据全文搜索

    转载自:http://blog.csdn.net/nuli888/article/details/51892776 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎.意图 ...

  9. 细说MyEclipse调试

     在程序出现问题时,我们需要找到并解决掉这些恼人的Bug,才能使程序顺利的运行下去.但是,当代码很多,程序很大的时候,找起来就很麻烦. 所以,我们需要借助工具——Eclipse/MyEclipse中的 ...

  10. WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口

    目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息的窗口和系统资源通知窗口 (3)用于用户交互的可见窗口 (4 ...