共轭先验分布,LDA与吉布斯采样
共轭先验分布
我们之前学习过贝叶斯公式,概括地来说,贝叶斯公式是对因果关系的总结。
贝叶斯学派与频率学派最大的不同是频率派认为参数是客观存在,不会改变,虽然未知,但却是固定值;贝叶斯派则认为参数是随机值,因为没有观察到,那么和是一个随机数也没有什么区别,因此参数也可以有分布。
而这个概率分布是在抽样之前,就基于已有的知识对于这个未知量进行的预估,这在贝叶斯公式里面被称作 先验分布,然后再基于样本的分布情况,最后在考虑到所有因素的情况下得出 后验分布。
往小处说,频率派最常关心的是似然函数,而贝叶斯派最常关心的是后验分布。
贝叶斯公式牵涉到较为复杂的计算,特别是当其先验分布很复杂时,这个时候就需要一种能够简化计算的方法,这就需要引入下一个概念——共轭先验分布。
共轭先验分布的定义是:
设是总体分布中的参数(或参数向量),x为给定的样本。贝叶斯公式为:
而由于x为给定样本,P(x)有时被称为“证据”,仅仅是归一化因子,如果不关心的具体值,只考察取何值时后验概率最大,则可将分母省去。得:
在贝叶斯概率理论中,如果后验概率和先验概率满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布。
采用共轭先验分布的意义为可以使得先验分布和后验分布的形式相同,这样当共轭先验分布是一个常见的分布时,可以很快地补出所需的常数项,从而得出后验分布。
一些常见的共轭先验分布
函数:
Beta分布:
二项分布的共轭先验是Beta分布,它具有两个参数α和β
而多项分布的共轭先验为Dirichlet分布,当Dirichlet分布参数相同时为对称Dirichlet分布。
LDA模型
LDA模型又称作主题模型,是一种形成文章的模型,它模拟一个过程:
共有m篇文章,一共涉及了K个主题。
每篇文章(长度为)都有各自的主题分布,主题分布是多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为α。
每个主题都有各自的词分布,词分布为多项分布,该多项分布的参数服从Dirichlet分布,该Dirichlet分布的参数为β。
对于某篇文章中的第n个词,首先从该文章的主题分布中采样一个主题,然后在这个主题对应的词分布中采样一个词。不断重复这个随机生成过程,直到m篇文章全部完成上述过程。
图中K为主题个数,M为文档总数,Nm是第m个文档的单词总数。β是每个Topic下词的多项分布的Dirichlet先验参数,α是每个文档下Topic的多项分布的Dirichlet先验参数。是第m个文档中第n个词的主题,是m个文档中的第n个词。两个隐含变量0和(p分别表示第m个文档下的Topic分布和第k个Topic下词的分布,前者是k维(k为Topic总数)向量,后者是v维向量(v为词典中term总数)。
给定一个文档集合,是可以观察到的已知变量,α和β是根据经验给定的先验参数,其他的变量都是未知的隐含变量,需要根据观察到的变量来学习估计的。根据LDA的图模型,可以写出所有变量的联合分布:
如何去计算,就要用到Gibbs Sampling了
Gibbs Sampling
Gibbs Sampling算法的运行方式是每次选取概率向量的一个维度,给定其他维度的变量值采样当前
维度的值。不断迭代直到收敛输出待估计的参数.
初始时随机给文本中的每个词分配主题,然后统计每个主题z下出现词t的数量以及每个文档m下出现主题z的数量,每一轮计算,即排除当前词的主题分布,根据其他所有词的主题分布估计当前词分配各个主题的概率。
当得到当前词属于所有主题z的概率分布后,根据这个概率分布为该词采样一个新的主题。
用同样的方法更新下一个词的主题,直到发现每个文档的主题分布,和每个主题的词分布收敛,算法停止,输出待估计的参数和,同时每个单词的主题也可同时得出。
实际应用中会设置最大迭代次数。每一次计算的公式称为Gibbs updating rule。
共轭先验分布,LDA与吉布斯采样相关推荐
- 【LDA】吉布斯采样
吉布斯采样是用条件概率得到联合概率分布. 其实是得到我们想要东西的近似解 目录 1 蒙特卡罗 2 马尔科夫链 3.MCMC采样 4 MH采样 5 吉布斯采样 1 蒙特卡罗 蒙特卡洛方法是为了解决一些不 ...
- 【机器学习】主题建模+隐狄利克雷分配模型(LDA)+吉布斯采样
[主题建模] 大数据时代,面对海量的数据,如果能知道它的主题是什么,从数据压缩的角度来看,我们可以通过很少量的主题来管理很大亮的文档数据集合,从而实现一个比较简洁的操作和管理文档集合的目的:除此之外, ...
- LDA 吉布斯采样(Gibbs Sampling)的公式推导
假设读者已经了解 LDA 的来龙去脉. 需要明确采样的含义: 随机变量是总体,采样就是按照总体的概率分布(指示了样本出现的概率)抽取样本的过程.样本应该能正确反映总体的情况,即样本与总体应该具有相同的 ...
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling
2016年05月12日 00:24:21 阅读数:45658 http://blog.csdn.net/pipisorry/article/details/51373090 吉布斯采样算法详解 为什么 ...
- 吉布斯采样(Gibbs Sampling)
吉布斯采样(Gibbs Sampling) 常用于DBM和DBN,吉布斯采样主要用在像LDA和其它模型参数的推断上. 要完成Gibbs抽样,需要知道条件概率.也就是说,gibbs采样是通过条件 ...
- 【ML】线性回归的吉布斯采样(Gibbs Sampling)实现(python)
导航 Bayesian Linear Regression Gibbs Sampling Derving a Gibbs sampler Update for β0\beta_0β0 Update ...
- 随机采样和随机模拟:吉布斯采样Gibbs Sampling实现高斯分布参数推断
http://blog.csdn.net/pipisorry/article/details/51539739 吉布斯采样的实现问题 本文主要说明如何通过吉布斯采样来采样截断多维高斯分布的参数(已知一 ...
- 从马尔科夫链到吉布斯采样与PageRank
马尔科夫链表示state的链式关系,下一个state只跟上一个state有关. 吉布斯采样通过采样条件概率分布得到的样本点,近似估计概率分布P(z)P(z).PageRank通过节点间的连接,估计节点 ...
- MCMC笔记:吉布斯采样(Gibbs)
1 介绍 吉布斯采样是一种特殊的MH采样 MCMC笔记Metropilis-Hastings算法(MH算法)_UQI-LIUWJ的博客-CSDN博客 此时我们要采样的分布是一个高维的情况 吉布斯采样的 ...
最新文章
- 随机梯度下降分类器(SGDClassifier)
- 无刷新读取数据库 (ajax)
- POJ - 1094 Sorting It All Out(拓扑排序)
- Java黑皮书课后题第8章:*8.22(偶数个1)编写一个程序,产生一个6*6的填满0和1的二维矩阵,显示该矩阵,检测是否每行以及每列中有偶数个1
- 电脑技巧:电脑插上U盘就死机或重启原因和解决办法
- 合工大850参考书_合肥工业大学计算机考研850上岸经验分享
- 【渝粤教育】广东开放大学 机械制造基础 形成性考核 (55)
- 调用线程必须为sta_Java手写分布式系统远程调用RPC框架
- WebApp的前端所遇问题
- 数据库创建联合主键(MySql)
- MATLAB中的线性插值
- java freemark 使用_freemarker单独使用介绍
- INS-13001环境不满足最低要求
- python将多个txt内容合并_python合并多个txt文件成为一个文件
- 深入解析 Raft 模块在云溪数据库中的优化改造(上)
- php 匹配多个正则表达式,php – 正则表达式匹配无限数量的选项
- qt去掉莫名其妙的semantic issue
- 高数笔记(九):不定积分,分部积分法,有理函数的积分
- atoi()函数的实现
- 机器人三大定律的发展和演进概述
热门文章
- Android 接入华为扫码库,实现堪比微信扫码的效果
- unity主角移动到屏幕最左侧时向上移动_王者荣耀:新增右手模式,连线功能升级,守卫峡谷增加天赋系统 – 手机游戏网—推荐最精彩的手机游戏...
- 域名的https证书申请并自动续期
- ES6之Proxy代理
- c语言判断顺序链表是否为空,数据结构之线性表(五)——单链表(2 初始化,判断空表,销毁,清空,求表长)...
- 如何完成一次快速的查询 - 从MySQL到分库分表到ES和HBASE
- 【后端开发】check the manual that corresponds to your MySQL server version for the right syntax to use nea
- 数据频繁项集挖掘算法
- uniapp实现支付宝可拖曳的智能客服按钮
- Missing iOS Distribution signing identity证书失效问题