lda主题模型困惑度_自然语言处理(2)主题模型 LDA (1 数学基础篇)

本文深入探讨LDA(潜在狄利克雷分配)主题模型的数学基础,包括贝叶斯公式、共轭分布、gamma函数、二项分布、多项分布、beta分布、dirichlet分布和gibbs采样。通过这些概念,阐述LDA如何用于文本分析,揭示文档中的隐藏主题结构。
摘要由CSDN通过智能技术生成

da0f7ca18eec3472e0565d8f8f2c4698.png

1 前言

要想彻底搞明白 LDA 的实现原理,就需要具备一定的数学基础。LDA 用到的数学知识包括:

  • 一个公式和两个概念:贝叶斯公式、共轭分布和共轭先验
  • 一个函数:gamma 函数
  • 四个分布:二项分布、多项分布、beta 分布、dirichlet 分布
  • 一个采样:gibbs 采样

下面将分别对这几个部分作介绍。

2 一个公式和两个概念

先来看一下贝叶斯公式:

表示未知参数,X 表示样本

75dae9fa41c019e88825c8f7e3ef9c5e.png
  1. 先验概率:在事件尚未发生前,对该事件发生概率的估计。利用过去历史资料计算出来得到的先验概率叫做客观先验概率;凭主观经验来判断而得到的先验概率叫做主观先验概率。
  2. 后验概率:通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正后而得到的概率。
  3. 似然函数:给定模型参数
    的条件下,样本数据服从这一概率模型的相似程度。
  4. 先验分布:反映在进行统计试验之前根据其他有关参数知识得到的分布。也就是说在观测获取样本之前,人们对
    已经有一些知识,此时这个
    的分布函数为
    的概率密度函数为
    ,分别称为先验分布函数和先验概率密度函数,统称先验分布。
  5. 后验分布:根据样本 X 的分布以及
    的先验分布
    ,采用求解条件概率的方式可以计算出已知 X 的条件下,
    的条件分布
    。因为该分布是在获取样本 X 之后计算出来的,所以称为后验分布。
  6. 共轭分布和共轭先验:在贝叶斯概率理论中,如果后验概率
    和先验概率
    满足同样的分布律,那么,先验分布和后验分布被叫做
    共轭分布。同时,先验分布叫做似然函数的共轭先验分布

3 一个函数

gamma 函数定义如下:

,gamma 函数可以看作阶乘在实数集上的拓展,对于正整数 n,具有如下性质:

4 四个分布

4.1 二项分布

二项分布是从伯努利分布推导出来的。伯努利分布,又称两点分布或0-1分布,是一个离散型的随机分布,其中的随机变量只有两种取值,非正即负{+,−}。而二项分布即重复 n 次伯努利试验,记为 X∽B(n,p) 。简言之,只做一次实验,是伯努利分布,重复做了 n 次,是二项分布。二项分布的概率密度函数为:

,其中
,是二项分布的系数。

一个典型的例子就是抛硬币,我们做 n 次实验,有 k 次为正面的概率。

4.2 多项分布

多项分布是二项分布在多维上的推广,是指单次试验中随机变量的取值不再是 0-1 ,而是有多种离散值。比如掷骰子,有 6 个面,n 次试验结果服从 k=6 的多项分布。其中 k 个离散值的概率满足:

。多项分布的概率密度函数为:

其中

表示随机变量
发生的次数,
表示随机变量
发生的概率。
,表示所有随机变量发生次数的总和为 n。

4.3 beta 分布

用一句话来说,beta 分布可以看作是一个概率的概率分布。当你不知道一个事件的具体概率是多少时,它可以给出所有概率出现的可能性大小。

假设随机变量

服从 0~1 上的均匀分布,把这 n 个随机变量排序后得到顺序统计量
,请问
的分布是什么?为了解决这个问题,可以尝试计算
落在区间
的概率:

首先把

区间分成三段
,然后考虑一下简单的情形:假设 n 个数中只有 1 个落在了区间 [x, x+Δx] 内,由于这个区间内的数
是第 k 大的,所以
中应该有 k - 1 个数,
这个区间中应该有 n - k 个数。如下图所示:

c239f954230b95a913a99debf5259a10.png

从而问题转换为下述事件 E:

9cbd01b43e0b5ceb6b7d59d13c7652aa.png

对于上述事件 E 有:

2f0609733c0470070f188f04ca3be2f2.png

其中,

表示
的高阶无穷小。显然,由于不同的组合,即 n 个数中有一个落在
区间的有 n 种取法,余下 n - 1 个数中有 k - 1 个落在
的有
种组合,所以和事件 E 等价的事件一共有
个。

如果有 2 个数落在区间

呢?如下图所示:

da15bc2494fac611943f1e79b834a421.png

类似于事件 E,对于 2 个数落在区间

的事件 E':

b62dccdc114356315f7a8bcc3c0c4f1f.png

有:

564fd5576670d96280a78fa47b9bfa2c.png

从上述的事件E、E' 中,可以看出,只要落在

内的数字超过一个,对应事件的概率就是
。于是有:

8b21d874169c097ec9a2e5883428b263.png

从而得到概率密度函数:

1c5bf1f1f45843d5110bd0523765a0d1.png

考虑 gamma 函数的性质:

,取
,得到:

,令
,得 beta 分布:

我们在来看看 Beta 分布的期望:

由于 Beta 分布的积分值为 1,所以:

,由此可得:

那么 beta 分布有什么用处呢?

我们举个例子,熟悉棒球运动的都知道有一个指标就是棒球击球率,就是用一个运动员击中的球数除以击球的总数,我们一般认为 0.266 是正常水平的击球率,而如果击球率高达 0.3 就被认为是非常优秀的。

现在有一个棒球运动员,我们希望能够预测他在这一赛季中的棒球击球率是多少。你可能就会直接计算棒球击球率,用击中的数除以击球数,但是如果这个棒球运动员只打了一次,而且还命中了,那么他就击球率就是 100%,这显然是不合理的,因为根据棒球的历史信息,我们知道这个击球率应该是 0.215 到 0.36 之间。

对于这个问题,我们可以用一个二项分布表示(一系列成功或失败),一个最好的方法来表示这些经验(在统计中称为先验信息)就是用 Beta分布 ,这表示在我们没有看到这个运动员打球之前,我们就有了一个大概的范围。

beta 分布是指一组定义在 (0,1) 区间的连续概率分布,具有两个参数:a,b>0 。接下来我们将这些先验信息转换为 beta 分布的参数,我们知道一个击球率应该是平均 0.27 左右,而他的范围是 0.21 到 0.35,那么根据这个信息,我们可以取 a=81,b=219。

e7796bcf3f3feaf3074a19b13dec2267.png

之所以取这两个参数是因为:

  • beta 分布的均值是
  • 从图中可以看到这个分布主要落在了
    间,这是从经验中得出的合理的范围。

其中,x 轴就表示各个击球率的取值,y 值就是这个击球率所对应的概率。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值