美文网首页
无监督第四节:LDA (Latent Dirichlet All

无监督第四节:LDA (Latent Dirichlet All

作者: 数据小新手 | 来源:发表于2020-04-19 11:19 被阅读0次

    1. 简介

    LDA 是一种基于概率的生成式模型,所以在LDA的过程中会涉及到很多概率的知识,不太熟悉的话建议先学习概率知识。LDA在NLP中应用广泛,主要是用于主题模型(topic modeling)。
    关于主题模型和主题分类的区别请参考https://monkeylearn.com/blog/introduction-to-topic-modeling/

    2.为什么要使用LDA:

    LDA的主要作用是通过soft clustering 的方式使得每个数据点属于不仅仅局限于一个聚类。这是和其他的聚类方式,如kmeans,pLSI不一样的地方。
    另外LDA的soft clustering 允许分类的成分比较模糊,这样的好处是可以发现一些潜在的东西。

    3.LDA的主要目的:

    1.根据文档中的单词找到一个文档属于的主题。

    4.LDA是如何工作的

    1.找到属于某个文档的单词(这个是已经知道的)
    2.找到属于某个主题的单词,或者单词属于某个主题的概率(这个是需要计算的)

    4.如何找到主题的所属的单词

    1*NjeMT281GMduRYvPIS8IjQ.png

    对单词的概率得分进行排序,选取得分最高的top n来表示该主题的单词。或者也可以通过设定一个分数阈值来选取代表主题的单词。

    5.LDA算法

    1.扫描所有文档,随机给每个单词赋予k个主题中的一个(k个主题是提前设定的)
    2.对于每个文档d,扫描每个单词w并且计算:
    (1)p(topic \ t | document \ d): 在文档d中属于主题t单词的比例。 得到在文档d中多少单词属于主题t。
    (2)p(word \ w| topic \ t) 主题t在所有的文档中来源于单词w的比例。 得到多少文档属于t是因为单词w。
    LDA中文档是有多个主题混合而成,一个主题也是由多个单词混个而成。如果一个单词w很高几率属于主题t,那么含有这个单词w 的文档也会很大几率属于t。
    3.更新属于主题t的单词w的概率
    p(word\ w\ with\ topic t) = p(topic\ t | document\ d) * p(word\ w | topic\ t)

    6.在LDA模型中主要有两个超参数

    1.alpha 控制一个文档中主题的数量。alpha越大,文档中包含的主题越多。
    2.beta 控制每个主题中单词的数量。beta越大,主题中包含的单词就越多。
    通常情况下,我们希望文档能够被清晰的表达成很少的几个主题,同时每个主题可以由几个关键的部分来表达。

    reference:
    https://towardsdatascience.com/latent-dirichlet-allocation-lda-9d1cd064ffa2
    http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf
    https://monkeylearn.com/blog/introduction-to-topic-modeling/

    相关文章

      网友评论

          本文标题:无监督第四节:LDA (Latent Dirichlet All

          本文链接:https://www.haomeiwen.com/subject/mdgybhtx.html