LdA笔记
LDA算法最初的论文使用的是变分EM方法训练(Variational Inference)。该方法较为复杂,而且最后训练出的topic主题非全局最优分布,而是局部最优分布。后期发明了Collapsed Gibbs Sample方法,推导和使用较为简洁。
Latent Dirichlet Allocation是Blei等人于2003年提出的基于概率模型的主题模型算法,LDA是一中非监督机器学习技术,可以用于识别大规模文档集或语料库中的潜在隐藏主题信息。该方法假设每个词由背后的一个潜在隐藏的主题中抽取出来。
1,Gamma函数-欧拉
2,Binomial Distribution二项式分布-在概率论中,二项分布即重复n词独立的伯努利实验,是n重伯努利试验成功次数的离散概率分布。
伯努利分布(Bernoulli distribution)又名两点分布或0-1分布。
3,beta分布-在概率论中,beta分布是指一组定义在(0,1)的连续概率分布,有两个参数
4,Beta函数和Gamma函数的重要关系-第一欧拉积分
在介绍贝塔分布(Beta distribution)之前,需要先明确一下先验概率、后验概率、似然函数以及共轭分布的概念。
- 通俗的讲,先验概率就是事情尚未发生前,我们对该事发生概率的估计。利用过去历史资料计算得到的先验概率,称为客观先验概率; 当历史资料无从取得或资料不完全时,凭人们的主观经验来判断而得到的先验概率,称为主观先验概率。例如抛一枚硬币头向上的概率为0.5,这就是主观先验概率。
- 后验概率是指通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正,而后得到的概率。
- 先验概率和后验概率的区别:先验概率不是根据有关自然状态的全部资料测定的,而只是利用现有的材料(主要是历史资料)计算的;后验概率使用了有关自然状态更加全面的资料,既有先验概率资料,也有补充资料。另外一种表述:先验概率是在缺乏某个事实的情况下描述一个变量;而后验概率(Probability of outcomes of an experiment after it has been performed and a certain event has occured.)是在考虑了一个事实之后的条件概率。
- 似然函数:似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。是指某种事件发生的可能性。给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ)。
- 共轭分布(conjugacy):后验概率分布函数与先验概率分布函数具有相同形式
Beta分布的期望:
Dirichlet分布的期望:
4,多项式分布-多项式分布是二项分布的推广,在n次独立实验中每次只输出k中结果中的一个,且每一种都有一个确定的概率p。多项分布给出了在多种输出状态的情况下,关于成功次数的各种组合的概率。
也可以用Gamma函数表示
6,dirichlet distribution-狄利克雷分布
狄利克雷分布(Dirichlet distribution)是多项分布的共轭分布,也就是它与多项分布具有相同形式的分布函数。
dirichlet分布的概率密度函数:
LDA详解:
而LDA的目的是找出每个词后潜在的主题,所以为了达到这个目标,需要计算后验概率。
6,马尔可夫链-Markov Chain
马尔可夫链要成为Reversible markov chain,需要满足Datailed balance(细致平稳),即其转移概率需要满足Kolmogorov's criterion的链条(柯尔莫哥洛夫准则),即
7,Metorpolis-Hasting算法
8,Gibbs Sampling
9,Gibbs迭代公式的推导
10,alpha和Beta的计算
11,模型检验-困惑度函数
参考链接:http://blog.sina.com.cn/s/blog_4c9dc2a10102vua9.html
http://blog.csdn.net/luo123n/article/details/48902815
LdA笔记的更多相关文章
- LDA主题模型学习笔记5:C源代码理解
1.说明 本文对LDA原始论文的作者所提供的C代码中LDA的主要逻辑部分做凝视,原代码可在这里下载到:https://github.com/Blei-Lab/lda-c 这份代码实现论文<Lat ...
- LDA主题模型学习笔记3.5:变分參数推导
如今来推导一下得到变分參数更新式的过程.这一部分是在论文的附录中,为避免陷入过多细节而影响总体理解.能够在刚開始学习LDA的时候先不关注求解细节.首先要把L写成关于γ,ϕ\gamma,\phi函数.依 ...
- LDA数学八卦笔记(一)Gamma函数
Technorati Tags: LDA主题模型
- LDA(线性判别分类器)学习笔记
Linear Discriminant Analysis(线性判别分类器)是对费舍尔的线性鉴别方法(FLD)的归纳,属于监督学习的方法. LDA的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达 ...
- LDA学习笔记
线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法.其思想非常朴素,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类的样例的投 ...
- LDA PCA 学习笔记
提要: 本文主要介绍了和推导了LDA和PCA,参考了这篇博客 LDA LDA的原理是,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况, ...
- LDA算法 (主题模型算法) 学习笔记
转载请注明出处: http://www.cnblogs.com/gufeiyang 随着互联网的发展,文本分析越来越受到重视.由于文本格式的复杂性,人们往往很难直接利用文本进行分析.因此一些将文本数值 ...
- 机器学习-LDA主题模型笔记
LDA常见的应用方向: 信息提取和搜索(语义分析):文档分类/聚类.文章摘要.社区挖掘:基于内容的图像聚类.目标识别(以及其他计算机视觉应用):生物信息数据的应用; 对于朴素贝叶斯模型来说,可以胜任许 ...
- LDA模型笔记
“LDA(Latent Dirichlet Allocation)模型,模型主要解决文档处理领域的问题,比如文章主题分类.文章检测.相似度分析.文本分段和文档检索等问题.LDA主题模型是一个三层贝叶斯 ...
随机推荐
- Swift - JPush极光推送的使用3(根据Alias别名,给某个指定用户发推送)(转)
一.别名(alias)介绍 (1)我们可以给每一个安装了应用程序的用户,取不同别名来标识(比如可以使用用户账号的 userid 来作为别名). (2)以后给某个特定用户推送消息时,就可以用此别名来指定 ...
- OpenCv 人脸识别 基础
#include <opencv2\opencv.hpp> #include <iostream> using namespace std; int main() { // 摄 ...
- 必备 .NET - C# 脚本
作者:Mark Michaelis | 2016 年 1 月 Link: https://msdn.microsoft.com/zh-cn/magazine/mt614271.aspx 随着 Visu ...
- python格式化输出(转)
在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出.Python中内置有对字符串进行格式化的操作%. 模板 格式化字符串时,Python使用一个字符串作为模板.模 ...
- Eclipse出现错误:The selection cannot be launched,and there are no recent launches
刚装了eclipse,想写个Java程序测试一下能不能用,结果一run就出现错误,Debug也是同样的错误,错误内容为:the selection cannot be launched,and the ...
- t检验,T Test (Student’s T-Test)
1.什么是T test? t-test:比较数据的均值,告诉你这两者之间是否相同,并给出这种不同的显著性(即是否是因为偶然导致的不同) The t test (also called Student’ ...
- golang 打印变量类型
fmt.Println("type:", reflect.TypeOf(err.Error()))
- java基础四 [构造器和垃圾回收](阅读Head First Java记录)
本章讲解了对象的创建到被回收的过程,讲述了对象的生命周期 堆(heap)与栈(stack) 实例变量:实例变量是只声明在类下,方法外的变量(实例变量默认值为0/0.0/false,引用的默认值为n ...
- 杨辉三角(生成器generator)
生成器:(Python中,这种一边循环一边计算的机制,称为生成器:generator) 创建generator的方法: 1.把列表生成式的[]变为(),就创建了一个generator 例: 可以通过n ...
- 41-json.decoder.JSONDecodeError: Invalid control character at: line 6894 column 12 (char 186418)
在使用python中将单词本的单词用正则匹配成字典后,以json存储,仪json读入,但是一直报错: 原因是: 正则处理后的数据有的出了点问题,导致一个字典的 有多个相同的键!!!,则肯定会报错啊!! ...