LDA详解

















PART 1
这个性质被叫做共轭性。共轭先验使得后验概率分布的函数形式与先验概率相同,因此使得贝叶斯分析得到了极⼤的简化。

V:文档集中不重复的词汇的数目
语料库共有m篇文档,
;
对于文档
,由
个词汇组成,可重复;
是第m个文档中的第n个词。
:文档集中文档的总数
:第m个文档中包含的词汇总数
:文档m中第n个词在词典中的序号,属于1到V
:文档m第n个词汇的主题标号,属于1到k
:第k个主题的词汇分布中的参数向量
:第m文档的主题分布中的参数向量
(1)
是每个文档下主题的多项式分布的Dirichlet先验参数,
是每个主题下词的多项式分布的Dirichlet先验参数。
一般事先给定,如果取0,1对称的Dirichlet分布,表示在参数学习接收后,期望每篇文档的主题不会十分集中。
(2)
表示第m个文档下的主题分布的分布;
表示第k个主题下的词分布。
对于第i篇文档
的主题分布是
,是长度为K的向量;
对于第i篇文档的
,在主题分布
下,可以确定一个具体的主题
对于第K个主题
的词分布
,是长度为v的向量;
由
选择
,表示由词分布
确定词,即得到观测值
。
(3)
是第m个文档的单词总数。
是第m个文档中第n个词的主题



注解:
1)
表示是第 m 篇文档的词汇序列
2)
是第 m 篇文档中词汇序列对应的主题序列
3)
是生成此文档的生成概率
4)
由第 m 篇文章的文档-主题分布
产生第 n 个词汇对应主题的概率;
5)
表示由
产生第 m 篇文档所有词汇的概率
PART 2
Gibbs迭代规则的思想:即不考虑当前词汇的主题分配,据此词汇所在文档的主题分布以及各个主题下词汇分布来计算此词汇被分配到各个主题的概率分布,然后选择以最大概率被分配的主题。
Gibbs迭代规则公式:

(1)
表示排除当前第i个词汇,根据文档集中其他词汇序列的主题分布来计算第i个词汇属于第k个主题的概率
3)t 是第i个词汇对应词汇的字典序列号,
表示排除当前词汇,k个主题中词汇 t 出现次数。
4)m 是当前词汇出现在第 m 篇文档中,
表示排除当前词汇,m 篇文档中出现词汇k的次数。
当 Gibbs 采样收敛后,跟据每个文档中主题分配次数以及每个主题中词汇分配次数来计算"文档-主题"分布和和"主题-词汇"分布。


1)
表示标号为v的词语分配到主题 k 的次数,
表示文档m 中所有词语分配到主题 z 的个数。
2)
是主题在词汇上分布,式(2-10)中分子的意义是字典中第 t 个词汇分配到主题k下的次数,分母是表示的意义字典中所有词汇被分配到主题k下的次数,
是主题-词汇分布中的先验参数,表示人为认为词汇 t 被分配到主题 k 的次数。所有词汇初始时都是等可能的被分配,以这里都假定
=1。
3)
是文档-主题分布,式(2-11)中分子的意义是主题 k 被分配到第 m 篇文档中的次数,分母是表示的意义各个主题被分配到第 m 篇文档中的次数总和,文档m 的长度。
是文档-主题分布中的先验参数,表示主题 k 被分配的次数。所有主题初始时都是等可能的被分配,以这里都假定
=1
PART 3
LDA主题模型生成文档语料库的过程如下:(建设生成的语料库包含m篇文档、K个主题)
(1)对于m篇文档,生成"文档-主题"分布。文档主题分布也是一个多项式分布,它的参数服从参数为
的Dirichlet先验分布。
(2)获取每个主题下的"主题-词汇"的分布。主题-词汇分布是一个多项式分布,且它的参数变量服从参数为
的Dirichlet先验分布。
(3)根据 "文档-主题"、"主题-词汇"分布,依次生成所有文档中的词汇。具体做法,首先根据该文档的"文档-主题"分布规律采样一个主题,然后从这个主题对应的"主题-词汇"分布规律中采样生成一个词汇,不断重复步骤3的生成过程,直到m篇文档词汇全部生成。
LDA详解的更多相关文章
- 线性判别分析LDA详解
1 Linear Discriminant Analysis 相较于FLD(Fisher Linear Decriminant),LDA假设:1.样本数据服从正态分布,2.各类得协方差相等.虽然 ...
- PCA(主成分分析)和LDA详解
http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html http://www.c ...
- LDA与最小二乘法的关系及其变种详解
1 LDA与最小二乘法的关联 对于二值分类问题,令人惊奇的是最小二乘法和LDA分析是一致的.回顾之前的线性回归,给定N个d维特征的训练样例(i从1到N),每个对应一个类标签.我们之前令y=0表示一类, ...
- Android系统目录结构详解
Android系统基于linux内核.JAVA应用,算是一个小巧精致的系统.虽是开源,但不像Linux一般庞大,娇小可亲,于是国内厂商纷纷开发出自己基于Android的操作系统.在此呼吁各大厂商眼光放 ...
- 16S 基础知识、分析工具和分析流程详解
工作中有个真理:如果你连自己所做的工作的来龙去脉都讲不清楚,那你是绝对不可能把这份工作做好的. 这适用于任何行业.如果你支支吾吾,讲不清楚,那么说难听点,你在混日子,没有静下心来工作. 检验标准:随时 ...
- 人脸验证算法Joint Bayesian详解及实现(Python版)
人脸验证算法Joint Bayesian详解及实现(Python版) Tags: JointBayesian DeepLearning Python 本博客仅为作者记录笔记之用,不免有很多细节不对之处 ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- 架构设计:远程调用服务架构设计及zookeeper技术详解(下篇)
一.下篇开头的废话 终于开写下篇了,这也是我写远程调用框架的第三篇文章,前两篇都被博客园作为[编辑推荐]的文章,很兴奋哦,嘿嘿~~~~,本人是个很臭美的人,一定得要截图为证: 今天是2014年的第一天 ...
- EntityFramework Core 1.1 Add、Attach、Update、Remove方法如何高效使用详解
前言 我比较喜欢安静,大概和我喜欢研究和琢磨技术原因相关吧,刚好到了元旦节,这几天可以好好学习下EF Core,同时在项目当中用到EF Core,借此机会给予比较深入的理解,这里我们只讲解和EF 6. ...
随机推荐
- NTP时间服务器的配置
1.NTP简介NTP(Network Time Protocol,网络时间协议)是用来使网络中的计算机,时间同步的一种协议.NTP服务器利用NTP协议来提供时间同步服务. 2 .环境准备主机名 ...
- PTHREAD的WINDOWS开发包
PTHREAD的WINDOWS开发包 网站地址是http://sourceware.org/pthreads-win32/
- MySql登陆密码忘记了 怎么办?
MySql登陆密码忘记了 怎么办?root密码:连root密码忘记没用root进修改mysql数据库user表咯 root密码: 方法一:MySQL提供跳访问控制命令行参数通命令行命令启MySQL服务 ...
- gpio_get_value的定义 (转)
gpio_get_value等一系列函数,并非Linux标准函数,而是跟硬件相关的. 通常我们说的driver都是跟外围设备相关的,所以需要我们自己开发,但是这次我们说到的gpio是跟soc相关的,其 ...
- Shell实现Unix进程间信息交换的几种方法
本文将介绍在SCO OpenServer5.0.5系统中使用shell语言来实现进程间信息交换的几种方法: 使用命名管道实现进程间信息交换 使用kill命令和trap语句实现进程间信息交换 使用点命令 ...
- 国产FPGA市场分析 该如何破局
2018年上半年对于中国半导体行业而言是多事之秋,发生了几件让国人深入思考的大事.我作为IC产业的逃兵,最近也在思考很多的问题,包括资本市场.集成电路行业和研究所的一些不成熟的想法. 2008年进入华 ...
- 测试用例文件的存放和创建,对page objeck的理解
如:(注意我下面这种要用eval函数取拼接的)
- beautifulsoup 基本语法
案例一: #coding=utf-8import jsonimport requestsfrom bs4 import BeautifulSoupurl = 'http://www.itest.inf ...
- 安装特定版本 sysbench 以及安装时指定特定的mysql客户端
step1: 下载安装源码 https://github.com/akopytov/sysbench (git clone https://github.com/akopytov/sysbench.g ...
- [java]经验集
Calendar c = Calendar.getInstance(); c.set(1999,12,21); SimpleDateFormat sdf = new SimpleDateFormat( ...
是Dirichlet
分布的