主题模型大全LSA PLSA LDA HDP lda2vec



  • 主题模型

    • LSA

    • PLSA

    • LDA

    • HDP-LDA

    • lda2vec

  • 引用

  • 近期文章更新预告


主题模型

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

  1. 每个文档包含多个主题
  2. 每个主题包含多个单词
103abdf0a770c1f9d9aa290abe3820a0.png

LSA

5bd591d5cbeb8c50ea610b41e1077fe4.jpeg

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

PLSA

a25c8197fd7211c712615c337c2d2dbe.jpegimg b3682b390ad28f5e20465fae0a0ca126.jpeg
  1. dw 是已经观测到的变量,而 z 是未知的变量(主题),和LSA的矩阵分解是对应的。

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

  3. 用EM算法求解模型

LDA

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

c00b88506be542c32d5b6c552ec9a421.jpeg

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

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

653cc1f98ecee89666cfd6f1661d5e28.jpeg
  1. α和β是dirichlet的参数,对于M篇文档都一样,用来控制每篇文档的两个概率分布
  2. θ对于每一篇文档都一样,用来表征文档的主题分布
  3. z是每个词的隐含主题,w是文档里的词
  4. α和β是文集(corpus)级别的参数,所以在M篇文档外边
  5. θ是文档级别的参数,在N个词盘子的外边
  6. z和w是一一对应的,每个词对应一个隐含主题

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

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

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

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

d03b4f36ddf1be375212094851ffa3f0.jpeg

HDP-LDA

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

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

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

HDP构造过程

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

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

lda2vec

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

7a3210416abf91ecb5550977666acf86.jpeg

引用

  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推理加速


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

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值