第十七章 蒙特卡罗方法

中文
英文

2020-4-4 深度学习笔记17 - 蒙特卡罗方法 1 (采样和蒙特卡罗方法-必要性和合理性)
2020-4-4 深度学习笔记17 - 蒙特卡罗方法 2 ( 重要采样–采样数量一定,提高准确度,减少方差)

马尔可夫链蒙特卡罗方法MCMC

关于马尔可夫链蒙特卡洛方法(Markov chain Monte Carlo/MCMC)

  • 解释1:是一种使用了“马尔可夫链”的“蒙特卡罗”(即随机)方法。显然,MCMC是一种蒙特卡罗方法。
  • 解释2:通过在概率空间中随机采样以近似兴趣参数(parameter of interest)的后验分布。或者说从某些模型的后验概率分布中抽取样本
  • 解释3:为了在一个指定的分布上采样,根据马尔可夫过程,首先从任一状态出发,模拟马尔可夫过程,不断进行状态转移,最终收敛到平稳分布。

上面概念中的名词解释
1 . 兴趣参数,可以总结我们感兴趣现象的一些数字,通常使用统计学评估参数

2 . 后验分布,这个在概率中已经介绍过。这里在展开一下关于 先验/后验/似然

2-1 . 后验分布–根据结果求原因
举例,已知A花了1个小时到了公园,那么很大可能是他是骑车过去的;如果A花了3个小时才到公园,那么很大可能是他是走过去的;如果A花了1个小时才到公园,那么很大可能是他是开车过去的。

这种预先已知结果(路上花的时间),然后根据结果估计(猜)原因(交通方式)的概率分布即 后验(概率)分布

2-2 . 先验分布–根据历史求原因
举例,已知A的个人习惯,他是个健身爱好者就喜欢跑步运动,所以我们可以猜测他更可能倾向于走路过去公园。

这里交通工具选择与花费时间不再相关。因为我们是在结果发生前就开始猜的,根据历史规律确定原因 (交通方式)的概率分布即 先验(概率)分布

2-3 . 似然估计–根据原因求结果
举例,假设到公园10公里
如果A步行走路去,一般情况下小哥大概要用2个多小时。当然很小的可能性是小哥是飞毛腿,跑步过去用了1个小时左右,极为小的可能是小哥是隐藏的高手,10分钟就轻功跑酷到了;
如果A开车去到公园半个小时是非常可能的,非常小的概率是小哥因为途径的路上有车祸堵了3个小时。

这种先定下来原因,根据原因来估计结果的概率分布即 似然估计。根据原因来统计各种可能结果的概率即似然函数。

在贝叶斯学派中,先验分布+数据(似然)= 后验分布 。

3 .马尔可夫链

马尔可夫链是随机建模的强大工具。它是许多著名随机过程之一,包含

  • 高斯过程
  • 泊松过程
  • 自回归模型
  • 移动平均模型
  • 马尔可夫链

马尔可夫链是一组具有马尔可夫性质的离散随机变量的集合。它研究的是在离散情况下随机概率

马尔可夫性质,该性质也被称为“无记忆性(memorylessness)”,即t+1步的随机变量在给定第t步随机变量后与其余的随机变量条件独立(conditionally independent)。简单的说,即过程在t0时刻所处的状态为已知的条件下,过程在t>t0时刻所处状态的条件分布与过程在t0时刻之前所处的状态无关。

看到网上马尔可夫性质的举例,满搞笑的

  • 已知你大学学习情况下,和已知你在幼儿园小学初中高中大学的所有学习情况下,考研能不能考上的概率是一样的。
  • 已知父母具有某项天赋的条件下,孩子也拥有这个天赋的概率,与已知历代祖先和父母的信息的条件下,孩子拥有这个天赋的概率是一样的。

总结一下:马尔可夫的不追溯当前之前

马尔可夫链的核心思想是从某个可取任意值的状态xxx出发。 随着时间的推移,我们随机地反复更新状态xxx。最终xxx成为了一个从p(x)p(x)p(x)中抽出的(非常接近)比较一般的样本。

正式的定义中,马尔可夫链由一个随机状态xxx和一个转移分布T(x’∣x)T(x’\mid x)T(x’∣x)定义而成,T(x’∣x)T(x’\mid x)T(x’∣x)是一个概率分布,说明了给定状态xxx的情况下随机地转移到x’x’x’的概率。

运行一个马尔可夫链意味着根据转移分布T(x’∣x)T(x’ \mid x)T(x’∣x)采出的值x’x’x’来更新状态xxx。

现在回到《机器学习》

在许多实例中,我们希望采用蒙特卡罗方法,然而往往又不存在一种简单的方法可以直接从目标分布pmodel(x)p_{\text{model}}(x)pmodel​(x)中精确采样或者一个好的(方差较小的)重要采样分布q(x)q(x)q(x)。

在这种情况下,为了从分布pmodel(x)p_{\text{model}}(x)pmodel​(x)中近似采样,我们引入了一种称为马尔可夫链的数学工具。 利用马尔可夫链来进行蒙特卡罗估计的这一类算法被称为马尔可夫链蒙特卡罗方法

无论状态是连续的还是离散的,所有的马尔可夫链方法都包括重复、随机地更新直到最后状态开始从均衡分布中采样。

我们对新的观察结果进行抽样时,我们会确定它是否在正确的方向,然后决定是保留它还是丢弃它。
两种常见的接受拒绝算法是Metropolis-Hasting算法和No-U-Turn采样器。

运行马尔可夫链直到它达到均衡分布的过程通常被称为马尔可夫链的磨合(Burning-in)过程(下一节中有补充说明)。在马尔可夫链达到均衡分布之后,我们可以从均衡分布中抽取一个无限多数量的样本序列(得到最高的概率值)。

深度学习的从业者们通常选取的马尔可夫链的数目和小批量中的样本数相近,然后从这些固定的马尔可夫链集合中抽取所需要的样本。马尔可夫链的数目通常选为100。

【补充–解释MCMC后验分布过程】
使用 MCMC 方法,我们可以有效地从后验分布中提取样本,然后计算统计特征,例如提取样本的平均值。

首先,MCMC 方法选择一个随机参数值。模拟过程中会持续生成随机的值(即蒙特卡洛部分),但服从某些能生成更好参数值的规则。即对于一对参数值,可以通过给定先验信度计算每个值解释数据的有效性,从而确定哪个值更好。我们会将更好的参数值以及由这个值的解释数据有效性决定的特定概率添加到参数值的链中(即马尔科夫链部分)。

对于单个参数,MCMC 方法会从随机在 x 轴上采样开始。

上图中的红点表征随机参数采样。

由于随机采样服从固定的概率,它们倾向于经过一段时间后收敛于参数的高概率区域。

蓝点表示当采样收敛之后,经过任意时间的随机采样。注意:垂直堆叠这些点仅仅是为了说明目的。

收敛出现之后,MCMC 采样会得到作为后验分布样本的一系列点。用这些点画直方图,然后你可以计算任何感兴趣的统计特征。

通过 MCMC 模拟生成的样本集合计算的任何统计特征,都是对真实后验分布的统计特征的最佳近似。

MCMC 方法也可以用于评估多于一个参数的后验分布(例如,人类身高和体重)。对于 n 个参数,在 n 维空间中存在高概率的区域,其中特定的参数值集合可以更有效地解释数据。

所以,MCMC 方法的本质,就是在一个概率空间中进行随机采样以近似后验分布,不断磨合,得到最高的概率值。

2020-4-5 深度学习笔记17 - 蒙特卡罗方法 3 ( 马尔可夫链蒙特卡罗方法MCMC-先验分布/后验分布/似然估计,马尔可夫性质)相关推荐

  1. 深度学习笔记:神经网络权重确定初始值方法

    神经网络权重不可为相同的值,比如都为0,因为如果这样网络正向传播输出和反向传播结果对于各权重都完全一样,导致设置多个权重和设一个权重毫无区别.我们需要使用随机数作为网络权重 实验程序 在以下实验中,我 ...

  2. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  3. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  4. 深度学习笔记(17) 误差分析(二)

    深度学习笔记(17) 误差分析(二) 1. 使用来自不同分布的数据进行误差分析 2. 数据分布不匹配时的偏差与方差 3. 处理数据不匹配问题 1. 使用来自不同分布的数据进行误差分析 越来越多的团队都 ...

  5. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  6. 深度学习笔记其三:多层感知机和PYTORCH

    深度学习笔记其三:多层感知机和PYTORCH 1. 多层感知机 1.1 隐藏层 1.1.1 线性模型可能会出错 1.1.2 在网络中加入隐藏层 1.1.3 从线性到非线性 1.1.4 通用近似定理 1 ...

  7. 《繁凡的深度学习笔记》前言、目录大纲 一文让你完全弄懂深度学习所有基础(DL笔记整理系列)

    <繁凡的深度学习笔记>前言.目录大纲 (DL笔记整理系列) 一文弄懂深度学习所有基础 ! 3043331995@qq.com https://fanfansann.blog.csdn.ne ...

  8. 下载量过百万的吴恩达机器学习和深度学习笔记更新了!(附PDF下载)

    今天,我把吴恩达机器学习和深度学习课程笔记都更新了,并提供下载,这两本笔记非常适合机器学习和深度学习入门.(作者:黄海广) 0.导语 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在g ...

  9. 33万字!深度学习笔记在线版发布!

    吴恩达老师的深度学习课程(deeplearning.ai),可以说是深度学习入门的最热门课程,我和志愿者编写了这门课的笔记,并在 github 开源,为满足手机阅读的需要,我将笔记做成了在线版,可以在 ...

最新文章

  1. java web 打印控件_web打印,web打印控件,dotnet web打印控件,java web打印控件,webprint...
  2. 关于Mysql 修改密码的记录
  3. 公众号向特定用户主动推送消息_SAP系统和微信集成的系列教程之三:微信用户关注公众号之后,自动在SAP C4C系统创建客户主数据...
  4. 动态规划(二)——经典问题之最长上升子序列
  5. 利用Gulp实现JSDoc 3的文档编写过程中的实时解析和效果预览
  6. 前排强势围观|云端落地AI,如此超级干货有哪些?
  7. JSK-353 求同存异【暴力+排序+二分】
  8. adb.exe可能被其他程序关闭_苹果说关闭后台 反而会缩短电池寿命?!
  9. jsoup获取图片并下载
  10. 使用idea开发vue初始步骤
  11. 从消费互联网到产业互联网:平台思维始终是主导
  12. 嵌入式开发使用虚拟机的基本服务安装
  13. 密码学系列(一):密码行业、政策介绍
  14. 使用moviepy快速剪辑和拼接视频
  15. 递归算法的时间复杂度的分析方法
  16. mac pdf去水印_PDF水印工具Mac版
  17. 行业网站十年改变了什么 电商网 -《电子商务世界》打造电子商务大社区
  18. Vue 设置背景图片样式
  19. CCIE重认证--350-401-补充题库-也是必须的哟
  20. 一句话木马原理与实战

热门文章

  1. PT_二维随机变量:正态分布的可加性/一维随机变量函数与正态分布
  2. 广州蔬菜配送公司如何做,食材配送生意如何起步?这些行业内容你要知道
  3. SIP协议简介(一)之SIP基本的概述
  4. WPF使用SaveFileDialog对话框保存文件时不要用DialogResult.OK判断对话框正常关闭
  5. 云原生CICD:Tekton之TaskTaskRun概念篇
  6. mysql 出现2003- cant connect to MYSQL server on localhost 的解决办法
  7. 小王的摆烂日记之6月工作总结
  8. crontab 奇数时间定时执行
  9. 【R】R语言指定包安装目录
  10. jbpm3\jbpm4_在jBPM中支持高级用户交互模式