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. ...
随机推荐
- C语言多线程pthread库相关函数说明
线程相关操作说明 一 pthread_t pthread_t在头文件/usr/include/bits/pthreadtypes.h中定义: typedef unsigned long int pth ...
- cocos2dx切换场景
第一屏必须: auto scene = GameMenu::createScene(); director->runWithScene(scene); 然后是主场景: auto scene = ...
- 洛谷八连测R6
本次测试暴0!!!还有两周就要考试啦!!! 看题目时觉得难度不大,就直接写正解,没有参照数据,导致测出的结果和预想有较大差距. 不过得到经验,不管题目难易(除了D1T1)都要参照数据一部分一部分写,那 ...
- springboot 整合 elasticsearch
1引入jar包 <!--elasticsearch--> <dependency> <groupId>org.springframework.boot</gr ...
- 转转转!!Spring MVC控制器用@ResponseBody声明返回json数据报406的问题
本打算今天早点下班,结果下午测试调试程序发现一个问题纠结到晚上才解决,现在写一篇博客来总结下. 是这样的,本人在Spring mvc控制层用到了@ResponseBody标注,以便返回的数据为json ...
- 基于SOA的编程模型
1.webservice是SOA架构的一种实现 ============================================================================ ...
- go语言数组与切片比较
一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. (1)数组的创建. 数组有3种创建方式:[length]Type .[N]Type{value1, value2, . ...
- C# user32.dll
#region User32.dll 函数 /// <summary> /// 该函数检索一指定窗口的客户区域或整个屏幕的显示设备上下文环境的句柄,以后可以在GDI函数中使用该句柄来在设备 ...
- springboot 默认错误处理--自定义
1.在resoures下创建resoures/error文件夹 在其中自定义:404.html 403.html 500.html
- DB2 日期时间函数
db2日期时间函数 (DATE(TRIM(CHAR(DT#11Y))||'-'||TRIM(CHAR(DT#11M))||'-'||TRIM(CHAR(DT#11D))) BETWEEN DATE(' ...
是Dirichlet
分布的