主题模型
发布日期:2021-07-03 20:40:50 浏览次数:2 分类:技术文章

本文共 5738 字,大约阅读时间需要 19 分钟。

主题模型(Topic Model)

文章目录

一.什么是主题模型

这个主题模型想要充分了解,首先得把朴素贝叶斯的很多东西都给搞明白,这部分的内容其实是相辅相成的。

主题模型,首先需要明确:是一种非监督学习模型,它主要应用的场景,大多数集中在自然语言处理上。比如说:对文本进行分类;也可以应用在其他的场景,比如说生物信息学等。

查了一通资料,如果想要学好主题模型,那么,需要了解主题模型的如下要点:

  • 一个函数:gamma函数。
  • 一个概念和一个理念:共轭先验和贝叶斯框架。
  • 四个分布:二项分布、多项分布、beta分布、狄利克雷(Dirichlet)分布。
  • 两个模型:pLSA、LDA。
  • 一个采样:Gibbs采样

下面的内容,都是基于这些要点展开的。

二.主题模型要点

1. Gamma函数

上过大学本科,学过高数的,考过理工科研究生的童鞋,对这个应该都不陌生,其实就是一个公式:

Γ ( x ) = ∫ 0 + ∞ t x − 1 e − t d t = ( x − 1 ) ! \Gamma(x)=\int_0^{+\infty}t^{x-1}e^{-t}dt = (x-1)! Γ(x)=0+tx1etdt=(x1)!
并且有:
Γ ( x ) = ( x − 1 ) ⋅ Γ ( x − 1 ) \Gamma(x) = (x-1)\cdot\Gamma(x-1) Γ(x)=(x1)Γ(x1)
因此,当x是整数的时候:
Γ ( x ) = ( x − 1 ) ! \Gamma(x) = (x-1)! Γ(x)=(x1)!

2. 共轭先验

我们之前在介绍贝叶斯网络的时候,曾经在朴素贝叶斯部分捎带介绍了一下先验概率和后验概率。也写过一个式子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4fOjzaE8-1621569037476)(/home/johnny/桌面/我的笔记/机器学习强化/主题模型/6.png)]

其中X为特征,Y为类别。由于一堆文档中,X发生的概率是完全可以计算出来的,即:P(x)已知,所以,我们大可以值考虑分子部分。也就是说:P(Y|X)正比于P(x|y)P(y)。

如果后验概率P(X|Y) 和先验概率P(Y),这两个竟然满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布

3. 四个分布

3.1 二项分布

之所以先要介绍二项分布,那是因为往后的多项式分布,beta分布,狄利克雷分布都以这个为基础,是二项分布的一个推广。

二项分布是概率论当中的一个最基本的分布问题,他最开始涉及到事情就是:抛硬币,正反面朝上的次数,学过概率论的小伙伴对二项分布的表达式并不陌生。

抛一个硬币,正面朝上的概率为p,那么相应的,反面朝上的概率就是(1-p)假设抛硬币n次,其中k次正面朝上的概率是:

P { X = k } = C n k p k ( 1 − p ) n − k P{\{X=k\}}=C_{n}^{k}p^k(1-p)^{n-k} P{
X=k}
=
Cnkpk(1p)nk

3.2 Beta分布

在抛硬币的问题当中,正面出现次数是k,那么反面出现的个数一定是n-k,然而,很多人就会想:如果这个n不是最终结果呢?于是乎,正面,反面的次数就得单独计量,于是,就有了Beta分布的雏形。

Beta分布的概率密度如下:

f ( x ) = { 1 B ( α , β ) x α − 1 ( 1 − x ) β − 1 , x ∈ [ 0 , 1 ] 0 , e l s e f(x) = \begin{cases}\frac{1}{B(\alpha,\beta)}x^{\alpha -1}(1-x)^{\beta -1}, x\in[0,1]\\0, else\end{cases} f(x)={
B(α,β)1xα1(1x)β1,x[0,1]0,else
其中:
B ( α , β ) = ∫ 0 1 x α − 1 ( 1 − x ) β − 1 d x = Γ ( α ) Γ ( β ) Γ ( α + β ) B(\alpha, \beta) = \int_{0}^{1}x^{\alpha -1}(1-x)^{\beta - 1}dx = \frac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha+\beta)} B(α,β)=01xα1(1x)β1dx=Γ(α+β)Γ(α)Γ(β)

Beta函数的期望:

在这里插入图片描述

3.3 多项式分布

抛硬币的问题当中,只有正面,反面两个选择。如果这个选择有很多个呢?这个就是多项式分布

我们给定一个随机变量X={X1, X2, ……, Xn},即:可能发生的事件

其中,X1发生的概率是p1, X2发生的概率是p2……Xn发生的概率是pn,且很显然:p1+p2……+pn=1

我们再假设:X1发生了m1次,X2发生了m2次,……,Xn发生了mn次,于是:

P { X 1 = m 1 , X 2 = m 2 , … … , X n = m n } = N ! m 1 ! m 2 ! . . . m n ! p 1 m 1 p 2 m 2 . . . p n m n P{\{X_{1}=m_{1}, X_{2}=m_{2},……, X_{n}=m_{n}\}} = \frac{N!}{m_{1}!m_{2}!...m_{n}!}p_{1}^{m_{1}}p_{2}^{m_2}...p_{n}^{m_{n}} P{
X1=m1,X2=m2,,Xn=mn}
=
m1!m2!...mn!N!p1m1p2m2...pnmn

3.4 狄利克雷分布

狄利克雷分布是在Beta函数的基础上做的进一步推广:我们看Beta函数,当中包含alpha,beta两个参数,在机器学习当中,这个活脱脱就是两个超参数。在狄利克雷分布当中,这个参数扩充到了k维,同时,结合多项式分布,各个随机变量也不止抛硬币那样的两种,而是k种,所以,我们在beta函数的基础上,就可以大体推出来狄利克雷分布的概率密度:

在这里插入图片描述

其中:

在这里插入图片描述

这当中,我们把概率密度的有效值部分额外记一个符号:

在这里插入图片描述

但是,在现实使用的过程中,alpha的参数实在是太多,因此并不是很容易调。于是,人们想到了一个在理论上不是很严谨的方案:假设所有的alpha值都是一样的。这种极端情况下的狄利克雷分布有了另外一个名字——对称狄利克雷分布

既然所有参数的值都一样了,那么我们假设他们都是alpha。这个时候,如果我们把整个概率密度函数用一些数学软件给做出来,那么会呈现出很有意思的现象:

  • 当alpha=1,狄利克雷分布退化为均匀分布
  • 当alpha>1,狄利克雷分布的密度函数呈现出上凸的形状,此时:在概率集合P={P1, P2, ……,Pn}靠两边的概率减少(即:越靠近p1, pn,减少,越靠近p(n/2)的,越大)
  • 当alpha<1,狄利克雷分布的密度函数呈现下凹的形状,效果与alpha>1正好相反

在这里插入图片描述

值得一提的是:多项分布的共轭分布是Dirichlet分布

在这里插入图片描述

上面这个图是什么意思?

第一行:给定了alpha,这么多超参数

第二行:每个超参数对应一个出现的概率,那么就可以构成一个Dirichlet分布

第三行:如果把出现概率P当成参数。这些整体上看,其实反映的就是X的分布状况。那么,X当中有x1,x2……如此多的样本。则整体呈现出一种多项式分布的情况。Cat(k,p):一共k项,参数是p

第四行:样本x1出现了c1次,x2样本出现了c2次……

最后一行:选择了一个已知的Dirichlet分布,还有一个多项式分布,也就是把第二行和第三行结合在一起(两者相乘),就是最后一行

三.两个模型

3.1 LDA模型(Latent Dirichlet Allocation)

3.1.1 简介

我们假设,共有m篇文章,一共涉及了K个主题,其中每篇文章(长度为Nm )都有各自的主题分布(主题分布服从于多项式分布),该多项式分布的参数服从狄利克雷(Dirichlet)分布,而且是对称狄利克雷分布,其参数为α;

同时,每个主题都有各自的词分布,词分布也服从多项分布,该多项分布的参数也服从对称Dirichlet分布,其分布的参数为β;

那么LDA模型,具体是怎么运作的呢?

在这里插入图片描述

在这副流程图中,theta是主题分布。phi是词分布

对于某篇文章中的第n个词,首先从该文章的主题分布中采样一个主题,然后在这个主题对应的词分布中采样一个词。不断重复这个随机生成过程,直到m篇文章全部完成上述过程。LDA模型的具体步骤如下:

对于一堆文章,这一堆文章,共同组成一个语料库。我们把所有的词分离出来,这些词就会组成一个字典(注意,不是数据结构当中的字典)

  • 字典中共有V个term(不可重复),这些term出现在具体的文章中,就是一个个的单词——在具体某文章中的word当然是有可能重复的。
  • 语料库中共有m篇文档d1 ,d2 …dm ;对于文档di ,由 Ni 个单词组成,可重复;
  • 语料库中共有K个主题T1 ,T2 …Tk ;
  • α和β为先验分布的参数,一般事先给定:如取参数为0.1的对称Dirichlet分布——表示在参数学习结束后,期望每个文档的主题不会十分集中。
  • θ是每篇文档的主题分布,对于第i篇文档di ,它的在主题分布θi=(θi1,θi2, θi3 ……,θik)
  • 对于第i篇文档di ,在主题分布θi下,可以确定一个具体的主题Zij =k,k∈[1,K]
  • φk 表示第k个主题的词分布,k∈[1,K],对于第k个主题Tk ,它的词分布φ k =(φ k1 , φ k2 … φ kv ),是长度为v的向量
  • 由zij 选择φzij ,表示由词分布φ zij 确定term,即得到观测值w ij 。
  • 图中K为主题个数,M为文档总数,Nm是第、m个文档的单词总数,zmn是第m个文档中第n个词的主题,wmn是
    m个文档中的第n个词。

当给定一个文档集合,wmn 是可以观察到的已知变量,α和β是根据经验给定的先验参数,其他的变量zmn 、θ、φ都是未知的隐含变量,

需要根据观察到的变量来学习估计的。根据LDA的图模型,结合贝叶斯网络,可以写出所有变量的联合分布:

在这里插入图片描述

一个词w_mn 初始化为一个词t的概率是(在主题分布,还有词分布明确的情况下,第m个文档的第n个词是t的概率)

在这里插入图片描述

四.Gibbs采样

4.1 简介

这个Gibbs采样,紧随这LDA。

所谓采样,就是以一定的概率分布,看发生什么事件。那么在文档主题的例子当中,我们在文档集D中,就是求后验概率P(θ|D)到底是多少(探寻一个词背后的主题是什么)。

实际上,采样方式有很多种,主要是MCMC采样,还有变分采样。这个Gibbs采样是MCMC的一种

Gibbs采样算法的运行方式是每次选取概率向量的一个维度,给定其他维度的变量值采样当前维度的值。不断迭代直到收敛输出待估计的参数。具体的做法如下:

  • 初始时随机给文本中的每个词分配主题z (0) ,然后统计每个主题z下出现词t的数量以及每个文档m下出现主题z的数量,每一轮计算
    p(zi |z(-i) ,d,w),即排除当前词的主题分布:根据其他所有词的主题分布估计当前词分配各个主题的概率。其中,z(-i)代表:非i主题
  • 当得到当前词属于所有主题z的概率分布后,根据这个概率分布为该词采样一个新的主题。
  • 用同样的方法更新下一个词的主题,直到发现每个文档的主题分布θi 和每个主题的词分布φj 收敛,算法停止,输出待估计的参数θ和
    φ,同时每个单词的主题z mn 也可同时得出。
  • 实际应用中会设置最大迭代次数。每一次计算p(zi|z -i ,d,w)的公式称为Gibbs updating rule

那么,这个Gibbs更新准则又是什么呢?

我们根据条件概率公式(以下这些,了解一下,不用深究):

在这里插入图片描述

其中:

在这里插入图片描述

n_z(t) 表示词t被观察到分配给主题z的次数,其中,那个正三角是一个临时的符号:

在这里插入图片描述

而P(Z|a):

在这里插入图片描述

n_m(k) 表示主题k分配给文档m的次数

于是:Gibbs updating rules(这个推导公式,看一下即可,这个结论要比推导过程重要)

这个公式的含义是:除了第i号词以外,其他词的主题都已经明确,并且所有的词也都直到是什么了也已经明确(w_mn代表第m个文档的第n个词)的条件下,第i号词的主题是k的概率。(尤其注意一个事情:第i号词可能不唯一,就好比说,一个探讨5G的科技类文章,里面出现了若干个5G这个单词,那么,有可能在这个文档里面,第i个词是5G,第i+9个词也有可能是“5G”,因此,在词分布当中,一个词出现的个数并不见得唯一)

在这里插入图片描述

既然要算这个概率,我们就着眼看最后一行结论到底说了啥。其实原理并不难,好比说,“5G”这个词,有可能在“科技”类文章中出现,也有可能在“政治”类的文章中出现,我们想知道当前,我们看到的这个“5G”这个单词到底属于“科技”主题,还是“政治”主题,那么大可以去统计一下其他“5G”这个单词的分布情况嘛。

n(t)_{k,-i}:在i号词以外的词当中,作为k主题出现的个数。即,其他“5G”这个单词,在“科技类”出现了几次,在“政治类”出现了几次

至于当中的beta(t),其实可以理解为拉普拉斯平滑系数

那么后面的括号是啥意思呢?这个其实是一个综合考量的结果。因为一个词,出现的场景不一样,主题也就不一样,比如说“5G”这个词出现在《大科技》这样的杂志中,那么它大概率是科技类,但如果出现在《外交事务》当中,那么大概率就是政治类的,因此,需要考虑进去

说到这里,我们大体可以看出Gibbs采样的思想:利用其他来评估当下(你朋友是什么样子的人,你也大概率是什么样子的人)

4.2 词分布与主题分布

在进行了4.1的分析之后,我们就得出了结论:

词分布:

在这里插入图片描述

主题分布:

在这里插入图片描述

于是:

在这里插入图片描述

转载地址:https://blog.csdn.net/johnny_love_1968/article/details/117114938 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:隐马尔可夫模型HMM
下一篇:贝叶斯网络

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月28日 13时15分53秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章