吉布斯抽样

首先马尔科夫链(Markov chain)是一组事件的集合,在这个集合中,事件是一个接一个发生的,并且当前时刻事件的发生只与前一时刻事件的发生有关。用数学表达式表示如下:

A={a1,a2,a3,...,aN)

P{a(N+1)|a1,a2,a3,...,aN}=P{a(N+1)|aN}

这里的a可能是一个事件或者是一个矩阵,ai=(g,u,b),这里很难确定g,u,b的联合概率分布π(a)。

关键是确定下面两个函数:

1.q(ai,a(i+1)),这个函数决定怎么基于ai得到a(i+1)

2.α(ai,a(i+1)),这个函数决定得到的a(i+1)是否保留

下面引出吉布斯抽样的概念:

一般来说我们不知道π(a),但是我们知道P(g|u,b),P(b|g,u),P(u|b,g),即三个变量的后验分布。

首先给g,u,b赋予初值g0,u0,b0

然后利用P(g|u0,b0)得到g1

然后利用P(u|g1,b0)得到u1

然后利用P(b|g1,u1)得到b1

...

重复以上过程即可得到马尔科夫链。

这里q(ai,a(i+1))=P(g|u,b)*P(b|g,u)*P(u|b,g)

时间: 2024-10-06 21:31:22

吉布斯抽样的相关文章

贝叶斯网络小结

周末去给同事分享贝叶斯网络,每次分享过后的东西都没有记录感觉挺可惜的,故把准备分享过程中的一些笔记.资料.关键点等写成文章记录下来. 1.贝叶斯网络的定义 一个贝叶斯网络是一个有向无环图(DAG),其节点表示一个变量,边代表变量之间的联系,节点存储本节点相当于其父节点的条件概率分布. 其中每个节点受其父节点所影响,即其父节点代表原因,子节点表示结果. 用数学的形式描述就是贝叶斯网络各变量的联合概率分布等于其每个节点的以其父为条件概率的乘积. 即: 2.贝叶斯网络的推导 贝叶斯网络的推导即回答该贝

深度信念网络

深度信念网络 (Deep Belief Network, DBN) 由 Geoffrey Hinton 在 2006 年提出.它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据.我们不仅可以使用 DBN 识别特征.分类数据,还可以用它来生成数据.下面的图片展示的是用 DBN 识别手写数字: 图 1 用深度信念网络识别手写数字.图中右下角是待识别数字的黑白位图,它的上方有三层隐性神经元.每一个黑色矩形代表一层神经元,白点代表处于开启状态的神经元,黑色代表处

(六)6.15 Neurons Networks Deep Belief Networks

Hintion老爷子在06年的science上的论文里阐述了 RBMs 可以堆叠起来并且通过逐层贪婪的方式来训练,这种网络被称作Deep Belife Networks(DBN),DBN是一种可以学习训练数据的高层特征表示的网络,DBN是一种生成模型,可见变量  与  个隐层的联合分布: 这里 x = h0,为RBM在第 k 层的隐层单元条件下的可见单元的条件分布, 是一个DBN顶部可见层与隐层的条件分布,如图下: DBN的训练: 1. 首先充分训练第一个 RBM: 2. 固定第一个 RBM 的

COM:一种面向群推荐的生成模型

摘要 引言 相关工作 推荐系统 群推荐 一致性模型 问题描述 面向群推荐的一致性模型COnsensus Model for Group Recommendation 参数估计 推荐 内容信息融合 实验 实验设置 数据集 评价指标 推荐方法 实验结果 产品选择中主题的权重 主题分析 结论 摘要 引言 相关工作 推荐系统 群推荐 一致性模型 问题描述 面向群推荐的一致性模型(COnsensus Model for Group Recommendation) 参数估计 推荐 在向一个目标群gt进行推荐

论文笔记(2):A fast learning algorithm for deep belief nets.

论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm for Deep Belief Nets.这篇论文一开始读起来是相当费劲的,学习了好几天才了解了相关的背景,慢慢的思路也开始清晰起来.DBN算法就是Wake-Sleep算法+RBM,但是论文对Wake-Sleep算法解释特别少.可能还要学习Wake-Sleep和RBM相关的的知识才能慢慢理解,今天

MySTL:蓄水池抽样算法

给你一个长度为N的链表.N很大,但你不知道N有多大.你的任务是从这N个元素中随机取出k个元素.你只能遍历这个链表一次.你的算法必须保证取出的元素恰好有k个,且它们是完全随机的(出现概率均等). 这一题应该可以用来解决微信红包分配之类的那种问题,主要是概率的证明挺有意思. 1 #include <iostream> 2 #include <algorithm> 3 #include <time.h> 4 5 using namespace std; 6 7 typedef

水塘抽样

算法描述: 水塘抽样是一系列的随机算法,其目的在于从包含n个项目的集合S中选取k个样本(从s[n]中选取样本s(k)),其中n为一很大或未知的数量,尤其适用于不能把所有n个项目都存放到主内存的情况. 解决方案: 1.从S[n]中抽取首k项放入「水塘」中对于每一个S[j]项(j ≥ k): for(int i=0;i<k;i++){ R[i] = S[i]; } 2.从0到j的随机产生整数r,若 r < k 则把水塘中的第r项换成S[j]项: for(int j = k+1;j < n;j

R in action读书笔记(17)第十二章 重抽样与自助法

12.4 置换检验点评 除coin和lmPerm包外,R还提供了其他可做置换检验的包.perm包能实现coin包中的部分功能,因此可作为coin包所得结果的验证.corrperm包提供了有重复测量的相关性的置换检验. logregperm包提供了Logistic回归的置换检验.另外一个非常重要的包是glmperm,它涵盖了广义线性模型的置换检验依靠基础的抽样分布理论知识,置换检验提供了另外一个十分强大的可选检验思路.对于上面描述的每一种置换检验,我们完全可以在做统计假设检验时不理会正态分布.t分

R in action读书笔记(16)第十二章 重抽样与自助法之 置换检验

第十二章:重抽样与自助法 本章,我们将探究两种应用广泛的依据随机化思想的统计方法:置换检验和自助法 12.1 置换检验 置换检验,也称随机化检验或重随机化检验. 有两种处理条件的实验,十个受试者已经被随机分配到其中一种条件(A或B)中,相应的结果变量(score)也已经被记录.实验结果如下: 如果两种处理方式真的等价,那么分配给观测得分的标签(A处理或B处理)便是任意的.为检验两种处理方式的差异,我们可遵循如下步骤: (1) 与参数方法类似,计算观测数据的t统计量,称为t0: (2) 将10个得