基础知识:

LDA: latent dirichlet allocation ,又名潜在狄利克雷分布,是非监督机器学习技术,用于识别文档集中潜在的主题词信息。

主要思想:采用词袋方法,将每一篇文档视为词频向量,将文本信息转换为数字信息,没有考虑词与词之间的顺序。每一篇文档代表了一些主题所构成的概率分布,每一个主题又代表了很多单词所构成的概率分布。

文档主题生成模型:即三层贝叶斯概率模型,包含词、主题和文档。

生成模型:每个词通过“以一定的概率选择了主题,并从主题中以一定概率选择某个词语”的过程得到。

特点:文档到主题服从多项式分布,主题到词服从多项式分布

算法思想:

D:文档集合,T:主题集合,词袋:一篇文章中的单词,Vocabulary:所有文档中的词的集合

S1:统计D中每个文档d看作单词序列<w1,w2,...,wn>,wi表示第i个单词,设d有n个单词

S2:将D中涉及的所有单词组成Vocabulary,LDA以文档集合D作为输入,训练出两个结果向量(设聚成k个topic,Vocabulary中包含m个词):

S21:对每个D中的文档d,对应到不同主题的θd<pt1,pt2,...,ptk>,其中,pti表示d对应T中第i个主题的概率。pti=nti/n,nti是d中对应于T中第i个主题的词的数目,n是d中所有词的总数。

S22:对于T中每个主题topict,生成不同单词的概率φt<pw1,...,pwn>,pwi:表示t生成VOC中第i个单词的概率。pwi =Nwi/N,其中Nwi表示对应到主题的Vocabulary中第i个单词的数目,

N表示所有对应到topict的单词总数

核心公式:p(w|d) = p(w|t)*p(t|d)=θd * φt
,以主题词作为中间层

逻辑流程:

处理逻辑主要包含生成过程和学习过程

生成过程:

1为每一篇文档从主题分布中抽取一个主题

2从该主题对应的单词分布中抽取一个单词

3重复上述过程,直至遍历文档中每一个单词

记:文档到主题的分布为θ

记:主题到单词的分布为φ

学习过程:

方法总览:对于所有的文档和主题,随机给θd和φt赋值,不断重复上述过程,直到收敛,就是LDA的输出

1对于特定文档ds中第i个单词wi,若令该单词对应的topic为tj,把上述公式改写为

pj(wi|ds) = p(wi|tj) * p(tj|ds)

2枚举T中的topic,得到所有的pj(wi|ds),其中j的范围是[1,k]。根据概率值结果为ds中第i个单词wi选择一个topic.

最简单:令pj(wi|ds)最大的tj

3如果ds中第i个单词wi选择了与原先不同的主题,就对θd和φt有影响,反过来影响p(w|d)。对d中所有w进行一次p(w|d)的计算

并重新选择topic看作是一次迭代。进行n次迭代后,收敛到LDA的结果。

主题产生的过程:

是由词语的分布定义,比如蓝色主题是:2%概率的data,%2的number构成,....

一篇文章的产生过程:

文章是由一些主题构成。具体地,从主题集合中按概率分布选取一些主题,从主题中按概率分布选取一些词语,词语构成了最终的文档

我们的目标:计算这两个概率分布->得到模型,可以根据文档推断出它的主题分布,即分类。

文档->主题 是文档生成过程的逆过程

文档生成过程的描述:

1上帝有两个坛子的骰子,第一个坛子装的是文档到主题骰子,第二个坛子装的是主题到词语的骰子

2上帝从第二个坛子中独立抽取K个主题到词语骰子,编号为1~K

3每次生成一篇新的文档前,上帝从第一个坛子中随机抽取文档到主题的骰子,重复下列过程,生成文档中的词

3.1 投掷这个文档到主题的骰子,得到主题编号z

3.2选择K个主题到词的骰子中编号为z的那个,投掷这个骰子,得到一个词

概率模型:

LDA是使用联合分布来计算给定测量变量下隐藏变量的条件分布(后验分布)的

概率模型,观测变量为词的集合,隐藏变量为主题

联合分布:

参数解释:

β:主题

θ:主题概率

z:某个特定文档或词语的主题

w:单词

β1:K :主题集合

βk :第k个主题的词的分布

θd :第d个文档中该主题所占的比率

θd,k :第d个文档中的第k个主题所占的比率

zd :第d个文档的主题全体

zd,n :第d个文档中第n个词所对应的主题

wd :第d个文档的单词全体

wd,n :第d个文档中第n个单词

p(β):从主题集合中选取特定主题的概率

p(θd):该主题在特定文档中的概率

大括号里面前半部分:在主题确定的条件下,该文档第n个词的主题的概率

大括号里面后半部分:该文档第n个词的主题与该词的联合分布

连乘符号:随机变量的依赖性

词受两个方面影响:

1确定了主题后文档中该主题的分布θd

2第k个主题的词的分布βk

后验分布:

分子:联合分布,给定语料库可计算

分母:无法暴力计算,文档集合词库达到百万

基于采样的算法通过收集后验分布样本,以样本的分布求得后验分布的近似。

θd :概率服从Dirichlet分布

Zd,n:的分布服从多项式分布

两个分布共轭,共轭:指先验分布和后验分布形式相同


LDA文档主题生成模型相关推荐

  1. LDA文档主题发现R

    1.# 加载rJava.Rwordseg.tm.lda库 library(rJava); library(Rwordseg); library("lda", lib.loc=&qu ...

  2. [python] LDA处理文档主题分布及分词、词频、tfidf计算

    这篇文章主要是讲述如何通过LDA处理文本内容TXT,并计算其文档主题分布,主要是核心代码为主.其中LDA入门知识介绍参考这篇文章,包括安装及用法:         [python] LDA处理文档主题 ...

  3. [python] LDA处理文档主题分布代码入门笔记

    以前只知道LDA是个好东西,但自己并没有真正去使用过.同时,关于它的文章也非常之多,推荐大家阅读书籍<LDA漫游指南>,最近自己在学习文档主题分布和实体对齐中也尝试使用LDA进行简单的实验 ...

  4. 文档主题分类项目Python代码

    #希拉里右键门,文档主题分类.LDA模型,数据读取还有点问题 #数据来源:请联系公众号:湾区人工智能 import numpy as np import pandas as pd import re ...

  5. 自然语言处理项目之文档主题分类

    #希拉里右键门,文档主题分类.LDA模型,数据读取还有点问题 #数据来源:请联系公众号:湾区人工智能 import numpy as np import pandas as pd import re ...

  6. 论文阅读——基于文档主题结构的关键词抽取方法研究(理解)

    1.引言 1.1关键词自动标注的主要方式与算法 关键词自动标注主要有两种方式:关键词抽取与关键词分配. 关键词抽取,是从文档内容中寻找并推荐关键词 关键词分配,是从一个预先构造好的受控词表(contr ...

  7. Confluence 6 文档主题合并问答

    在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用.我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将 ...

  8. 主题计算机一级,Office2007文档主题的应用或自定义

    通过应用Office  2007文档主题(主题:一组统一的设计元素,使用颜色.字体和图形设置文档的外观.),您可以快速而轻松地设置整个文档的格式,赋予它专业和时尚的外观.文档主题是一组格式选项,包括一 ...

  9. 【秋招基础知识】【3】机器学习常见判别模型和生成模型

    一. 判别模型(Discriminative Model) 1. 支持向量机(SVM, Supported Vector Machine) 使用松弛变量来处理噪声. 将低维空间线性不可分问题转化为高维 ...

最新文章

  1. 手把手教你看懂并理解Arduino PID控制库——调参改变
  2. PDO的bindParam与bindValue的区别
  3. NPTL简介 (NATIVE POSIX Thread Library)
  4. 为什么说Android才是游戏开发者的乐土?
  5. java解析静态AIS原始数据
  6. C# Color颜色对照表
  7. JDK Bug系统浪费时间
  8. Elegant Construction HDU-5813 构造
  9. java时间加减_java时间加减
  10. xml 增 删 改 查
  11. Swift - 使用导航条和导航条控制器来进行页面切换并传递数据
  12. opencv学习笔记四十三:CamShift目标跟踪
  13. 等额本息还款计算公式
  14. 中科矿业带你走进SWARM/BZZ,选择去或留?
  15. php-模板方式模式实现
  16. 查看users表空间使用率高的原因
  17. Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询
  18. 计算机桌面锁屏设置,怎么设置电脑锁屏
  19. (150)FPGA面试题-Verilog实现2的幂次方乘法运算
  20. XSSF 导入导出excel.xlsx 解决获取空白单元格自动跳过问题,校验excel表头是否符合需求

热门文章

  1. 关于搜狗双核浏览器2.0
  2. 上海亚商投顾:三大指数均涨约1% 两市近4300股飘红
  3. 伦敦银换算就这么简单吗?
  4. QT moveToThread解析
  5. adb命令怎么写成bat文件
  6. audio 临时总结
  7. Win10系统C盘满了的清理方法
  8. 不要抱怨电脑网速慢,只能怪自己不会调快网速
  9. Vue.js Element入门
  10. linux 查看端口号命令