文本主题模型之LDA(一) LDA基础 文本主题模型之LDA(二) LDA求解之Gibbs采样算法 文本主题模型之LDA(三) LDA求解之变分推断EM算法(TODO) 本文是LDA主题模型的第二篇,读这一篇之前建议先读文本主题模型之LDA(一) LDA基础,同时由于使用了基于MCMC的Gibbs采样算法,如果你对MCMC和Gibbs采样不熟悉,建议阅读之前写的MCMC系列MCMC(四)Gibbs采样. 1. Gibbs采样算法求解LDA的思路 首先,回顾LDA的模型图如下: 在Gibbs采样算…
原文地址:<如何做Gibbs采样(how to do gibbs-sampling)> 随机模拟 随机模拟(或者统计模拟)方法最早有数学家乌拉姆提出,又称做蒙特卡洛方法.蒙特卡洛是一个著名的赌场,赌博总是和统计有着密切的关系,所以这个命名风趣而贴切,被广为接受. 随机模拟的一个重要问题就是给定一个概率分布\(p(x)\),如何生成它的样本.均匀分布\(Uniform(0,1)\)的样本可以通过线性同余发生器生成的伪随机数来模拟.常见的概率分布,无论是离散的还是连续的分布,都可以基于\(Unif…
本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例子: 1. Markov Chain (马尔科夫链) 2. Random Walk(随机游走) 3. MCMC具体方法: 3.1 M-H法 3.2 Gibbs采样 PS:本篇blog为ese机器学习短期班参考资料(20140516课程),课上讲详述. 下面三节分别就前面几点简要介绍基本概念,并附上代…
MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)MCMC采样和M-H采样 MCMC(四)Gibbs采样 在MCMC(三)MCMC采样和M-H采样中,我们讲到了M-H采样已经可以很好的解决蒙特卡罗方法需要的任意概率分布的样本集的问题.但是M-H采样有两个缺点:一是需要计算接受率,在高维时计算量大.并且由于接受率的原因导致算法收敛时间变长.二是有些高维数据,特征的条件概率分布好求,但是特征的联合分布不好求.因此需要一个好的方法来改进M-H采样,这就是我们下面讲到的Gibbs采样.…
(学习这部分内容大约需要50分钟) 摘要 Gibbs采样是一种马尔科夫连蒙特卡洛(Markov Chain Monte Carlo, MCMC)算法, 其中每个随机变量从给定剩余变量的条件分布迭代地重新采样. 它是在概率模型中执行后验推理的简单且常用的高效方法. 预备知识 学习Gibbs采样需要以下预备知识 条件分布: Gibbs采样根据条件分布定义. 马尔科夫蒙特卡洛(Markov chain Monte Carlo, MCMC): Gibbs采样是一种MCMC算法. 马尔科夫随机场(Mark…
算法里面是随机初始了一个分布,然后进行采样,然后根据每次采样的结果去更新分布,之后接着采样直到收敛. 1.首先明确一下MCMC方法. 当我们面对一个未知或者复杂的分布时,我们经常使用MCMC方法来进行分布采样.而采样的目的是得到这个分布的样本,通过这些样本,我们就能明确出该分布的具体结构.所以MCMC本身就是解决无法直接采样或理解的分布问题的,所以不是对已知分布进行采样. 而gibbs采样时MCMC方法的一种改进策略,所以解决的是一类问题.在LDA中,后验概率无法直接取得,我们通过gibbs采样…
Gibbs 采样的最大作用在于使得对高维连续概率分布的抽样由复杂变得简单. 可能的应用: 计算高维连续概率分布函数的数学期望, Gibbs 采样得到 n 个值,再取均值: 比如用于 RBM:…
坐标平面上的三点,A(x1,y1),B(x1,y2),C(x2,y1),假设有概率分布 p(x,y)(P(X=x,Y=y) 联合概率),则根据联合概率与条件概率的关系,则有如下两个等式: {p(x1,y1)p(y2|x1)=p(x1)p(y1|x1)p(y2|x1)p(x1,y2)p(y1|x1)=p(x1)p(y2|x1)p(y1|x1) 因此有: p(x1,y1)⋅p(y2|x1)=p(x1,y2)⋅p(y1|x1) 对于此坐标平面上的三点而言,即为:p(A)⋅p(y2|x1)=p(B)⋅p…
1.cv2.pyrDown(src)  对图片做向下采样操作,通常也可以做模糊化处理 参数说明:src表示输入的图片 2.cv2.pyrUp(src) 对图片做向上采样操作 参数说明:src表示输入的图片 高斯金字塔:分为两种情况:一种是向下采样,一种是向上采样 下采样的原理:先与Gi进行高斯卷积即高斯滤波,再将所有偶数行和列去除,实现行和列维度缩减的目的 代码: 第一步:读入图片 第二步:使用cv2.pyrDown进行高斯金字塔的下采样 第三步:使用自己的步骤做高斯金字塔的下采样,先对图像作高…
MCMC: The Gibbs Sampler 多元高斯分布的边缘概率和条件概率 Marginal and conditional distributions of multivariate normal distribution clear, clc rng('default') num_samples = 5000; num_dims = 2; mu = [0, 0]; rho(1) = .8; rho(2) = .8; prop_sigma = 1; minn = [-3, -3]; ma…
作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,以下简称MCMC)在机器学习,深度学习以及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础.比如分解机(Factorization Machines)推荐算法,还有前面讲到的受限玻尔兹曼机(RBM)原理总结,都用到了MCMC来做一些复杂运算的近似求解.下面我们就对MCMC的原理做一个总结. 一.MCMC概述 从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Si…
David M.BLEI nCR文献学习笔记(基本完成了)  http://yhbys.blog.sohu.com/238343705.html 题目:The Nested Chinese Restaurant Process and Bayesian Nonparametric Inference of Topic Hierarchies David M.BLEI 这个LDA领域的大牛,对LDA有诸多变形,这一片是将随机过程(stochastic process)用于无参贝叶斯推断上,构造主题…
采样方法(二)MCMC相关算法介绍及代码实现 2017-12-30 15:32:14 Dark_Scope 阅读数 10509更多 分类专栏: 机器学习   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Dark_Scope/article/details/78937731 0.引子 书接前文,在采样方法(一)中我们讲到了拒绝采样.重要性采样一系列的蒙特卡洛采样方法,但这些方法在高维空间…
http://blog.csdn.net/pipisorry/article/details/51525308 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样进行文档分类(聚类),当然更复杂的实现可以看看吉布斯采样是如何采样LDA主题分布的[主题模型TopicModel:隐含狄利克雷分布LDA]. 关于吉布斯采样的介绍文章都停止在吉布斯采样的详细描述上,如随机采样和随机模拟:吉布斯采样Gibbs Sampling(why)但并没有说明吉布斯采样到底如何实现的(how)? 也就是具体怎么实现…
http://blog.csdn.net/pipisorry/article/details/51373090 吉布斯采样算法详解 为什么要用吉布斯采样 通俗解释一下什么是sampling. sampling就是以一定的概率分布,看发生什么事件.举一个例子.甲只能E:吃饭.学习.打球,时间T:上午.下午.晚上,天气W:晴朗.刮风.下雨.现在要一个sample,这个sample可以是:打球+下午+晴朗...问题是我们不知道p(E,T,W),或者说,不知道三件事的联合分布.当然,如果知道的话,就没有…
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 接下来重点讲一下RBM模型求解方法,其实用的依然是梯度优化方法,但是求解需要用到随机采样的方法,常见的有:Gibbs Sampling和对比散度(contrastive divergence, CD[8])算法. RBM目标函数 假设给定的训练集合是S={vi},总数是ns,其中每个样本表示为vi=(vi1,vi2,-,vinv…
Gibbs Sampling Intro Gibbs Sampling 方法是我最近在看概率图模型相关的论文的时候遇见的,采样方法大致为:迭代抽样,最开始从随机样本中抽样,然后将此样本作为条件项,按条件概率抽样,每次只从一个维度考虑,当所有维度均采样完,开始下一轮迭代. Random Sampling 假设我们一直一个随机变量的概率密度函数,我们如何采样得到服从这个分布的样本呢? 学矩阵论的时候,老师教我们用反函数来生成任意概率分布的随机数,因此,我们也可以用反函数法来生成该分布的样本.即假设…
Note of Markov Chain Monte Carlo and Gibbs Sampling :  http://pan.baidu.com/s/1jHpWY1o 序:A major limitation towards more widespread implementation of Bayesian approaches is that obtaining thee posterior distribution often requires the integration of…
MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链 MCMC(三)MCMC采样和M-H采样 MCMC(四)Gibbs采样(待填坑) 在MCMC(二)马尔科夫链中我们讲到给定一个概率平稳分布$\pi$, 很难直接找到对应的马尔科夫链状态转移矩阵$P$.而只要解决这个问题,我们就可以找到一种通用的概率分布采样方法,进而用于蒙特卡罗模拟.本篇我们就讨论解决这个问题的办法:MCMC采样和它的易用版M-H采样. 1. 马尔科夫链的细致平稳条件 在解决从平稳分布$\pi$, 找到对应的马尔科夫链状态转移矩…
一.直接采样 直接采样的思想是,通过对均匀分布采样,实现对任意分布的采样.因为均匀分布采样好猜,我们想要的分布采样不好采,那就采取一定的策略通过简单采取求复杂采样. 假设y服从某项分布p(y),其累积分布函数CDF为h(y),有样本z~Uniform(0,1),我们令 z = h(y),即 y = h(z)^(-1),结果y即为对分布p(y)的采样. 直接采样的核心思想在与CDF以及逆变换的应用.在原分布p(y)中,如果某个区域[a, b]的分布较多,然后对应在CDF曲线中,[h(a), h(b…
1 MCMC蒙特卡罗方法 作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Carlo,以下简称MCMC)在机器学习,深度学习以及自然语言处理等领域都有广泛的应用,是很多复杂算法求解的基础.下面我们就对MCMC的原理做一个总结. 1.1 MCMC概述 从名字我们可以看出,MCMC由两个MC组成,即蒙特卡罗方法(Monte Carlo Simulation,简称MC)和马尔科夫链(Markov Chain ,也简称MC).要弄懂MCMC的原理我们首先得搞清楚蒙特卡罗方…
看了好多相关的知识,大致了解了一下马尔可夫链-蒙特卡罗采样理论,有必要记来下来. 蒙特卡罗积分:(来自:http://blog.csdn.net/itplus/article/details/19168937) 下面的写的很让人明白:好好理解一下,第一次感觉到积分与统计学的联系. 利用蒙特卡罗方法求积分的重点就是怎么如何采样指定的分布....简单的分布如均匀分布我们有方法可以采样,但是复复杂的分布呢?如高斯分布呢?你怎么办?? 这是就利用马尔可夫链的性质进行采样. 一些马尔可夫链的相关知识 在学…
总结下常见的对串行数据采样的三种方式: 1. 全采样存储方式: 采用过采样,用过采样时钟,用移位寄存器移位,把每次采样值都存起来.采用高速的过采样时钟运行. 然后等待触发条件,(就是找到数据的起始点条件,触发),然后从所有的记录到寄存器的采样值中,按照某种对应的关系选取. 起始采样点必须做合适的触发.这样需要很长的寄存器串起来.对于数据太长,实现起来有限制.另外就是,满足触发条件就抽取一次过采样出来的寄存器值,触发条件很重要. 2. 计数器作为触发方式: 采用过采样,用过采样时钟,丢数据的起始点…
源:使用STM8SF103 ADC采样电压 硬件环境: STM8SF103 TSSOP20封装 因为项目需要用到AD采样电池电压,于是便开始了使用STM8S ADC进行采样,也就有了下文. 手册上对STM8S ADC的管脚描述如下: STM8SF103这款芯片是TSSOP 20管脚封装,如下: STM8SF103这款芯片能用的是5个AD采样通道,分别是AIN2~AIN6.其实是还有一个通道AIN7,但手册并没有对其描述. 这里还有一个很奇怪的地方,从ST资料中找到一个与上面的表数据不同的地方,如…
特征处理是特征工程的核心部分,特征工程是数据分析中最耗时间和精力的一部分工作,它不像算法和模型那样式确定的步骤,更多的是工程上的经验和权衡,因此没有统一的方法,但是sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等.首次接触到sklearn,通常会被其丰富且方便的算法模型库吸引,但是这里介绍的特征处理库也非常强大! 经过前人的总结,特征工程已经形成了接近标准化的流程,如下图所示(此图来自此网友,若侵权,联系我,必删除) 1 特征来源——导入数据 在做数据分析的时候,特征…
使用EFM8SB的MCU做ADC采样,检测MIC Bias的电源,解码android耳机的线控.初始时, ADC的采样频率2KHz, 在录音时后播放,能固定的听到接近2K的一个噪声.示波器探测不到明显的噪声信号.增大ADC采样频率到30KHz, 声音变得更加尖锐,幅度变小,但是听起来很不舒服.减少到10Hz, 噪声幅度变大,噪声频率跟随到低频. MicBias增加RC滤波器, ADC恢复到初始2K, MIC录音噪声消除,但是ADC采样结果变差.查datasheet中 电容增加,导致ADC的set…
在机器学习多分类任务中有时候需要针对类别进行分层采样,比如说类别不均衡的数据,这时候随机采样会造成训练集.验证集.测试集中不同类别的数据比例不一样,这是会在一定程度上影响分类器的性能的,这时候就需要进行分层采样保证训练集.验证集.测试集中每一个类别的数据比例差不多持平. 下面python代码. # 将数据按照类别进行分层划分 def save_file_stratified(filename, ssdfile_dir, categories): """ 将文件分流到3个文件中…
源:使用STM8SF103 ADC采样电压 硬件环境: STM8SF103 TSSOP20封装 因为项目需要用到AD采样电池电压,于是便开始了使用STM8S ADC进行采样,也就有了下文. 手册上对STM8S ADC的管脚描述如下: STM8SF103这款芯片是TSSOP 20管脚封装,如下: STM8SF103这款芯片能用的是5个AD采样通道,分别是AIN2~AIN6.其实是还有一个通道AIN7,但手册并没有对其描述. 这里还有一个很奇怪的地方,从ST资料中找到一个与上面的表数据不同的地方,如…
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 准备:图像转数组,数组转图像 将RGB图像转换为一维数组的代码如下: # 图像二维像素转换为一维 img = cv2.imread(filename=img_path) data = img.reshape((-1, 3)) data = np.float32(data) print(img.shape…
从随机过程到马尔科夫链蒙特卡洛方法 1. Introduction 第一次接触到 Markov Chain Monte Carlo (MCMC) 是在 theano 的 deep learning tutorial 里面讲解到的 RBM 用到了 Gibbs sampling,当时因为要赶着做项目,虽然一头雾水,但是也没没有时间仔细看.趁目前比较清闲,把 machine learning 里面的 sampling methods 理一理,发现内容还真不少,有些知识本人也是一知半解,所以这篇博客不可…