主题模型大全LSA PLSA LDA HDP lda2vec



  • 主题模型

    • LSA

    • PLSA

    • LDA

    • HDP-LDA

    • lda2vec

  • 引用

  • 近期文章更新预告


主题模型

所有主题模型都基于相同的假设:

  1. 每个文档包含多个主题
  2. 每个主题包含多个单词
主题模型大全LSA PLSA LDA HDP lda2vec_第1张图片

LSA

主题模型大全LSA PLSA LDA HDP lda2vec_第2张图片

将文章X单词矩阵进行SVD分解,分解为文章(句子)X主题、主题X主题、主题X单词单个矩阵,其中文章(句子)X主题作为文章(句子)向量。

PLSA

主题模型大全LSA PLSA LDA HDP lda2vec_第3张图片img 主题模型大全LSA PLSA LDA HDP lda2vec_第4张图片
  1. dw 是已经观测到的变量,而 z 是未知的变量(主题),和LSA的矩阵分解是对应的。

  2. 最大的矩形里装有N篇文档,每一篇文档 d 自身有个概率,从文档 d 到主题 z 概率分布,随后从主题到词概率分布,由此构成了 wz 的联合概率分布,由此PLSA的参数量为 。

  3. 用EM算法求解模型

LDA

PLSA假设分布为固定参数,容易产生过拟合,LDA在起基础上,加入狄利克雷分布,相当于加入先验知识。训练样本量足够大,pLSA的效果可以等同LDA。

主题模型大全LSA PLSA LDA HDP lda2vec_第5张图片

狄利克雷分布:分布的分布,Beta分布的多元推广为狄利克雷分布,Beta分布是伯努利分布,二项分布的共轭先验(先验分布是beta分布,后验分也是beta分布)。

Beta分布常用于AB测试当中,例如已知某页面点击率正常范围在0.2~0.35,点击率符合伯努利分布,点击率分布的分布符合Beta分布

主题模型大全LSA PLSA LDA HDP lda2vec_第6张图片
  1. α和β是dirichlet的参数,对于M篇文档都一样,用来控制每篇文档的两个概率分布
  2. θ对于每一篇文档都一样,用来表征文档的主题分布
  3. z是每个词的隐含主题,w是文档里的词
  4. α和β是文集(corpus)级别的参数,所以在M篇文档外边
  5. θ是文档级别的参数,在N个词盘子的外边
  6. z和w是一一对应的,每个词对应一个隐含主题

下图大等边三角形内所有点到顶点对边距离和为1,代表生成三个单词的概率

小等边三角形内所有点到顶点对边距离代表生成三个主题的概率

小三角形中每个带叉的点都是一个PLSA模型,生成文档时,先根据叉点选择一个主题,再根据主题选择词

而LDA不再像PLSA是随机的点,而是小三角形中的曲线(一系列的点),即服从一定的分布,分布曲线由 决定

主题模型大全LSA PLSA LDA HDP lda2vec_第7张图片

HDP-LDA

在LDA中,主题的个数是一个预先指定的超参数。通常可通过验证集和训练集得到最佳超参数。即当训练集评价指标下降,但验证集开始上升时,到达最优点。但有时最优个数会超大,此时可选择评价指标下降速度变慢的点。具体的评价指标(困惑度)如下:

文档集合D,其中M为文档的总数, 为文档d中单词所组成的词袋向量, 为模型所预测的文档d的生成概率, 为文档d中单词的总数。

另外一种方法是在LDA基础之上融入分层狄利克雷过程(Hierarchical Dirichlet Process,HDP),构成一种非参数主题模型HDP-LDA。不需要提前预制主题个数,但模型参数求解更复杂。

HDP构造过程

类似于一个中国餐馆(一个文档),每个餐桌代表一个类别,从第一个顾客(一个单词)进来选桌子开始到最后一个结束,即可得出类别数。

n为已经选择好类别的单词的个数,为第 j 个类别的单词数,下一个单词被分到已存在类别的概率: ,新类别的概率: 。可知 越大,选择已存在类别概率越小,最终类别数越多;第 j 个类别的单词数越多,下个单词分到该类别可能性越大。

lda2vec

其实就是:word2vec +  lda,lda的训练也变成了深度学习的方式,初始文档主题分布矩阵,在输出层文档主题的输出加上word2vec输出。

主题模型大全LSA PLSA LDA HDP lda2vec_第8张图片

引用

  1. https://multithreaded.stitchfix.com/blog/2016/05/27/lda2vec/#topic=38&lambda=1&term=
  2. https://jmlr.org/papers/volume3/blei03a/blei03a.pdf
  3. 统计自然语言处理

近期文章更新预告

接下来将更新以下内容,你的关注与打赏是创作的最大动力:

  1. 句子向量

句子表征   前世今生  (今生篇)

  1. 问答系统

FAQ综述

KBQA综述

多轮问答综述

  1. 深度学习基础基础知识

理解损失函数

理解激活函数

  1. 推荐系统

W&D工程化其他文章未涉及的建议

  1. 知识图谱

表征学习

  1. 语言模型

Bert推理加速


关注微信公众号【无数据不智能】,下期更精彩

你可能感兴趣的:(搜索引擎,深度学习,人工智能,deep,learning)