本文后面很多内容都是参考博客: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. 源生js惯性滚动与回弹效果

    在写移动端的APP或者页面时,经常会遇到惯性滚动与回弹效果.用插件iscroll可以轻松解决这个问题,大多数的移动框架也能轻松解决这个问题,它们内部都封装了这个效果. 一直好奇这个效果原生JS是怎么实 ...

  2. lock锁速记

    1.Lock关键字主要实现锁互斥,确保一个线程A在请求此操作时不会被其线程B请求中断(假设A先请求并在没有未完成的操作情况下申请了此互斥锁).lock的参数必须是基于引用类型的对象,不要是基本类型像b ...

  3. How to use GitHub with Android Studio

    转载于:http://www.wfuyu.com/technology/22499.html 目前业界主流的版本管理工具主要是 svn/git.svn是1种集中式的代码管理工具,而git是1种散布式的 ...

  4. 《高性能MySQL(第3版)》【PDF】下载

    内容简介 <高性能mysql(第3版)>是mysql 领域的经典之作,拥有广泛的影响力.第3版更新了大量的内容,不但涵盖了最新mysql5.5版本的新特性,也讲述了关于固态盘.高可扩展性设 ...

  5. Chef 自动化运维:开始“烹饪”

    在 Chef Workstation 上创建了一个 cookbook 之后,我们执行以下命令来进行测试: chef-client --local-mode --override-runlist fir ...

  6. ArcGIS 网络分析[8.4] 资料4 聚合——创建及打开网络数据集的类实现

    这篇是对前三篇的总结,因为网络数据集涉及的"点"太多了,我只能挑重点来设置,大家明白框架后可以自行寻求帮助文档添加功能. 我以C#类的形式给出,这个类包含很多种方法,因为本人的C# ...

  7. BZOJ 4816 数字表格

    首先是惯例的吐槽.SDOI题目名称是一个循环,题目内容也是一个循环,基本上过几年就把之前的题目换成另一个名字出出来,喜大普奔亦可赛艇.学长说考SDOI可以考出联赛分数,%%%. 下面放解题报告.并不喜 ...

  8. lesson - 1 aming

    一.  Linux是什么* 关于Linux历史(http://www.aminglinux.com/bbs/thread-6568-1-1.html  需要大家查查资了解,也可以看看5期的视频)* 发 ...

  9. Git Pro读书笔记

    本文为Git Pro读书笔记,所有内容均来自Git Pro 1 Git基础 1.1 记录每次更新到仓库 在Git里,文件有4种状态,modified, staged, commited, 还有一种状态 ...

  10. JAVA图片批量上传JS-带预览功能

    这篇文章就简单的介绍一个很好用的文件上传工具,批量带预览功能.直接贴代码吧,都有注释,很好理解. HTML页面 <!DOCTYPE html> <%@ taglib prefix=& ...