LDA理解
LDA只是一个求解思路。
1.理解LDA首先要理解EM算法,EM不能叫做一个算法,只是一个思想:它要求解的其实是一个极大似然估计,就是我用已知量去求解导致这个已知量出现的最大概率,而在这里又恰恰有点偏,这个已知量是我们开始给定的这个初值,我们要去用这个已知量去求解最大,然后再用这个最大值再带入到我们这个模型中,再去求解,这样反复迭代的过程叫做EM。
例子:
我们要求这个式子的极大似然,而是我们预先给定的值,这里面有一个隐变量z,而x是我们给定的样本,隐变量z就相当于我们在求导链式法则的时候,不能直接对某一值求导数,我们要利用链式法则来求,而转换成链式法则的过程中出现的参数,就是隐变量;隐变量就是我们是知道他是多少,但不知道他的具体的值,它每次经过迭代以后的值是不一样的。
上面这个式子,可以转换为对下面这个式子求极大似然:
主要是看后面那个P值,我们对这个P值求最大,而每次求出一个z值,而求出z值以后,可以求出后面那个式子的最大值,然后又可以求出一个,再把这个带入到式子里面去算,又可以算出一个最大值,直到两次算出来的值差不多,我们就认为收敛了,这个时候就可以得到一个值,就是我们要求的值。对应到LDA里面就是我们的或者是值。
EM可以看成是E和M,E是期望,M是迭代的次数。
2.共轭分布(我的理解是一个分布会导致其他的分布变化;或者可以说是一个分布的取值,对另外一个分布的取值有影响):已知主题与文章的分布:这个主题下,观测到每个文章的概率是多少;这个是我们的先验,我们要求的就是文章与主题的分布:就是在这个文章下,观测到每个主题的概率是多少,最终求出一个值,来表示这个分布;主题和文章的分布,文章和主题的分布可以看成是一样的,因为下面这个式子中,分布变大,最后的值也变大,这就叫共轭分布,看得时候看得抽象一点,就看成一个值,把分布看成一个值。
例子:
右边等式下面是一个常数,我们可以不看,在神经网络里面,B就相当于我们的样本数据,而A就相当于权重,我们开始会给定一个初始的A,我们就知道了在A下B的分布,然后通过一系列的算法去调整B下A的分布,可以求出一个等式最左边的值,然后下次将当做,就是反复的迭代,最终得到一个P(A)。
贝叶斯:一个文档下主题是一个分布,而主题又是一个分布:就是说一个文档下的主题可能是这样的,有A1,A2,A3个主题,有可能是(0.1A1,0.1A2,0.8A3),(0.1A1,0.2A2,0.7A3)等等。主题和词也一样的原理。
LDA理解的更多相关文章
- 自然语言处理基础与实战(8)- 主题模型LDA理解与应用
本文主要用于理解主题模型LDA(Latent Dirichlet Allocation)其背后的数学原理及其推导过程.本菇力求用简单的推理来论证LDA背后复杂的数学知识,苦于自身数学基础不够,因此文中 ...
- LDa 通俗理解
LDA理解以及源码分析(一) http://blog.csdn.net/pirage/article/details/50239125 LDA在主题建模中的应用,需要知道以下几点: 文档集中的word ...
- 理解 LDA 主题模型
前言 gamma函数 0 整体把握LDA 1 gamma函数 beta分布 1 beta分布 2 Beta-Binomial 共轭 3 共轭先验分布 4 从beta分布推广到Dirichlet 分布 ...
- 通俗理解LDA主题模型
通俗理解LDA主题模型 0 前言 印象中,最開始听说"LDA"这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印 ...
- 通俗理解LDA主题模型(boss)
0 前言 看完前面几篇简单的文章后,思路还是不清晰了,但是稍微理解了LDA,下面@Hcy开始详细进入boss篇.其中文章可以分为下述5个步骤: 一个函数:gamma函数 四个分布:二项分布.多项分布. ...
- 我是这样一步步理解--主题模型(Topic Model)、LDA
1. LDA模型是什么 LDA可以分为以下5个步骤: 一个函数:gamma函数. 四个分布:二项分布.多项分布.beta分布.Dirichlet分布. 一个概念和一个理念:共轭先验和贝叶斯框架. 两个 ...
- 主题模型(LDA)(一)--通俗理解与简单应用
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_39422642/article/de ...
- LDA主题模型学习笔记5:C源代码理解
1.说明 本文对LDA原始论文的作者所提供的C代码中LDA的主要逻辑部分做凝视,原代码可在这里下载到:https://github.com/Blei-Lab/lda-c 这份代码实现论文<Lat ...
- LDA概率图模型之贝叶斯理解
贝叶斯.概率分布与机器学习 转自:http://www.cnblogs.com/LeftNotEasy/archive/2010/09/27/1837163.html 本文由LeftNotEasy原 ...
随机推荐
- Informatica增量抽取时间的设置
使用数据库或者系统变量的当前时间 Informatica中的$$SYSDATE是表示当前系统时间的系统变量. 通过这个变量,我们对每天抽取的数据可以使用以下表达式来实现增量抽取: 时间戳字段>= ...
- 16、Docker的网络-host和none
16.1 none 创建一个容器使用网络none: [root@docker ~]# docker run -d --name test1 --network none busybox /bin/ ...
- UniGui之锱铢积累(仔细看这个文件)
http://www.doc88.com/p-4022977294324.html 这个是Word文档
- C# 如何防止重放攻击(转载)
转载地址:http://www.cnblogs.com/similar/p/6776921.html 重放攻击 重放攻击是指黑客通过抓包的方式,得到客户端的请求数据及请求连接,重复的向服务器发送请求的 ...
- golang array, slice, string笔记
本来想写一篇关于golang io的笔记,但是在学习io之前必须了解array, slice, string概念,因此将在下篇写golang io. array: 数组的长度是该数组类型的一部分, ...
- BitAdminCore框架应用篇:(五)核心套件querySuite列的定义
索引 NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/coo ...
- 使用FluentScheduler实现定时任务管理
之前定时任务一直用的Windows服务,前段时间发现FluentScheduler这个框架,他跟Quarz.Net,Hangfire一样都是任务调度框架,但是相对使用而言我觉得FluentSchedu ...
- 730. Count Different Palindromic Subsequences
Given a string S, find the number of different non-empty palindromic subsequences in S, and return t ...
- chrome浏览器本地文件支持ajax请求的解决方法
.右键chrome的快捷键--->点击属性 .在快捷方式的选项卡的目标里末尾填上如下内容: --allow-file-access-from-files 要关闭所有的chrome打开的网页
- 如何实现keep-alive
路径: 由上图可知,keep-alive.js导出的对象(如下),作为一个属性将会注入到Vue.options.components中. const patternTypes = [String, R ...