仅知道概率密度是不狗的,需要的是样本,gibbs sampling 就是获取样本的。

  • Gibbs 抽样将高维的连续概率密度分布退化为一维概率密度函数分布的抽样;

    • 2 维 ⇒ 1 维;
    • Gibbs 采样极大地降低了高维概率分布函数采样的难度;
  • Gibbs 抽样的三阶段:
    • Initialization
    • burn-in
    • sampling
  • 为了使得采样样本之间尽可能地保持独立,可在采样阶段设置每隔 L 次采样一次:

    
    # L, num_burn, num_samplessamples = []
    for i in range(num_burn+L*num_samples):if i > num_burn:...x = ...if (i-num_burn) % L == 0:samples.append(x)

Gibbs 抽样是一种基于 MCMC(Markov Chain Monte Carlo)策略的抽样方法,具体来说对于一个 dd 维的随机向量 X=(x1,x2,…,xd)X=(x_1,x_2,\ldots,x_d),但是我们无法直接求出 XX 的概率分布 p(X)p(X),但我们知道给定的 XX 的其他分量关于第 ii 个分量 xix_i 的条件分布,即 p(xi|xi−),xi−=(x1,x2,…,xi−1,xi+1,xd)p(x_i|x_i-),x_i-=(x_1,x_2,\ldots,x_{i-1},x_{i+1},x_d)。那么,我们可以从 xx 的任意状态,如 (x1(0),x2(0),…,xd(0))(x_1(0),x_2(0),\ldots,x_d(0)) 开始,利用条件分布 p(xi|xi−)p(x_i|x_i-),迭代地对这状态的每个分量进行抽样

x = np.random.randn(d)
for i in range(d):x[i] = conditional_prob(...)...

随着抽样次数的增加,随机变量 (x1(n),x2(n),…,xd(n))(x_1(n),x_2(n),\ldots,x_d(n)) 的概率分布将以 nn 的几何级数的速度收敛于 xx 的联合概率分布 p(x)p(x)。

例如,一个样本是 3 维的,姑且设为 (g,u,b)(g,u,b),一般来说,我们无法直接获得样本的分布,但我们知道条件概率 p(g|u,b)p(g|u,b)、p(u|g,b)p(u|g,b)、p(b|g,u)p(b|g,u):

  • (1)给 (g,u,b)(g,u,b) 赋初值,(g0,u0,b0)(g_0,u_0,b_0),
  • (2)利用 p(g|u0,b0)p(g|u_0,b_0),计算 g1g_1
  • (3)利用 p(u|g1,b0)p(u|g_1,b_0),计算 u1u_1
  • (4)利用 p(b|g1,u1)p(b|g_1,u_1),计算 b1b_1
  • (5)重复 (2)-(4),这样我们就得到一个 Markov Chain {(g0,u0,b0),(g1,u1,b1),…,(gt,ut,bt)}\{(g_0,u_0,b_0),(g_1,u_1,b_1),\ldots,(g_t,u_t,b_t)\}

深度学习基础(七)—— Gibbs 采样相关推荐

  1. 深度估计相关原理(计算机视觉和深度学习基础)

    今天来和大家介绍一下深度估计涉及到的理论知识点,包括计算机视觉基础和深度学习基础. 一.计算机视觉基础 1.1. 针孔相机模型 相机模型,是指采用一个几何模型来描述三维世界中的坐标点映射到二维图像平面 ...

  2. 深度学习基础(基本概念、优化算法、初始化、正则化等)

    2020-04-25 16:29:09 引言 深度学习目前已成为发展最快.最令人兴奋的机器学习领域之一,许多卓有建树的论文已经发表,而且已有很多高质量的开源深度学习框架可供使用.然而,论文通常非常简明 ...

  3. 人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 个性化推荐

    人工智能 - paddlepaddle飞桨 - 深度学习基础教程 - 个性化推荐 本教程源代码目录在book/recommender_system,初次使用请您参考Book文档使用说明. 说明: 硬件 ...

  4. 第三章_深度学习基础

    文章目录 第三章 深度学习基础 3.1 基本概念 3.1.1 神经网络组成? 3.1.2神经网络有哪些常用模型结构? 3.1.3如何选择深度学习开发平台? 3.1.4为什么使用深层表示? 3.1.5为 ...

  5. 深度学习基础知识点【更新中】

    深度学习基础知识点 文章目录 深度学习基础知识点 1. 数据归一化 2. 数据集划分 3. 混淆矩阵 4. 模型文件 5. 权重矩阵初始化 6. 激活函数 7. 模型拟合 8. 卷积操作 9. 池化操 ...

  6. 五万字总结,深度学习基础。

    文章目录 1 基本概念 1.1 神经网络组成? 1.2 神经网络有哪些常用模型结构? 1.3 如何选择深度学习开发平台? 1.4 为什么深层神经网络难以训练? 1.5 深度学习和机器学习的异同? 2 ...

  7. 第3章(3.11~3.16节)模型细节/Kaggle实战【深度学习基础】--动手学深度学习【Tensorflow2.0版本】

    项目地址:https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0 UC 伯克利李沐的<动手学深度学习>开源书一经推出便广受好评.很多开 ...

  8. 《机器学习系列教程》第三章 深度学习基础

    @[第三章 深度学习基础] 第三章 深度学习基础 3.1 基本概念 3.1.1 神经网络组成? 为了描述神经网络,我们先从最简单的神经网络说起. 感知机 简单的感知机如下图所示: [外链图片转存失败( ...

  9. 深度学习 实验七 循环神经网络

    文章目录 深度学习 实验七 循环神经网络 一.问题描述 二.设计简要描述 三.程序清单 深度学习 实验七 循环神经网络 一.问题描述 之前见过的所以神经网络(比如全连接网络和卷积神经网络)都有一个主要 ...

  10. 深度学习基础之卷积神经网络

    摘要 受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位.近年来卷积神经网络在多个 ...

最新文章

  1. 卸载ORACLE 11g
  2. .9-Vue源码之AST(5)
  3. Server.UrlEncode、HttpUtility.UrlDecode不同编码
  4. 【Docker-Ubuntu】ubuntu16.04 docker 使用记录
  5. Mac 神兵利器(三) 使用Intellij IDEA打造全栈IDE
  6. CVPR 2019 | 今日新出14篇论文汇总(来自微软、商汤、腾讯、斯坦福等)
  7. 解决虚拟机VMware运行Ubuntu时无法和主机之间复制粘贴的问题
  8. Mac新手使用技巧——设置Finder(访达)快捷键
  9. mysql 触发器 实例_MySQL触发器简单用法示例
  10. jquery 元素第二个_jQuery知识总结
  11. 理解RESTful架构(转)
  12. windows 程序员计算器 详细解释
  13. python简单的计算方法_用python实现简单的有限元方法(二)
  14. I2S协议及在verilog中实现
  15. 物联网之有线通信技术之短距离的现场总线
  16. iOS自定义相机(转)
  17. 图片中画框(C语言实现)
  18. 如何通过修改注册表关闭、开启windows10内置Windows Defender安全中心
  19. k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)
  20. 【MC 网易-我的世界-mod开发基础笔记】 --- 常用的在线工具

热门文章

  1. java后台如何国际化,Java SpringMVC实现国际化整合案例分析(i18n)
  2. Android上传图片的两种方式
  3. docker 网桥冲突了解决
  4. linux java bin 安装_linux下安装后缀为bin的Java JDK
  5. LeetCode90. 子集 II(回溯)
  6. 数据结构和算法详解(三)——递归、排序、散列表
  7. 一位女孩对男孩的忠告(转贴)
  8. CF-1099 D. Sum in the tree
  9. Ubuntu中eclipse端口被占
  10. c#中(,||)与(,|)的区别和应用