开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:LDA 原理 上】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15526
LDA 原理 上
内容介绍
一、 LDA=Plsa+先验
二、 Dirichlet 分布
三、 三、例子---Dirchlet 骰子先验和后验分布的采样
一、LDA=Plsa+先验
![]()
LDA可以近似看成PSA,然后加了一个先验概率,pLSA可以简单写成p(d|θ),这是目标函数所算的概率,找一个θ包括 θd 和T(topic),找一个最好的θ最大化概率就是PSA,就是pLSA找最大化p(d|θ)的θ最好,但是问题是容易过拟合,可能得到一些文档。每一个都会出现很多个topic的,概率都会比较大。就相当于那种混杂的程度比较高。
其中d表示文档的一个编号。然后加入先验,给系数的参数较大的可能性,如此,最后估计出来参数会比较稀疏一些,然后稀疏的参数可能会更合理一些。
公式,参数的后验概率和先验概率乘以似然函数成正比。由于先验概率乘以似然函数还没有规划,规划之后就是等号。所以后援概率,是相当于综合了先验概率和似然函数。
后验概率是指比如生病,发烧类似的情况。然后,先验概率是加在{θd}和T上。因为{θd}和T的维度是不一样的,{θd}是K维的。T是W维的。W词汇表的大小。所以说在两个不同的对立式先验。
合理的先验
性质要符合直觉。
每个topic概率集中在少数词上,每个文档的不同topic概率集中在少数几个topic,定义域里包含所有合法的参数。
θ是记号,包括了{θd}和T。就是包含所有的参数。
后验概率等于先验概率乘以似验就是指被类似推理的一个范式,可以简单理解成,要找好的参数,先验概率不能太差,不需要特别好但是不能太差。然后似然函数需要满足的比较好。总之就是两方面都要有一定满足,综合起来。
二、Dirichlet 分布
1,先看分布的参数。这个X是每一个观测值,就是给每个X一个概率。阿尔法α是最重要的参数。定义的是(αi-1)次方,然后对所有的K连乘起来。X和α都是K维向量。它相当于对每一维算一个数,所以把K维乘起来。B(α)是规划常数,不用管
2,定义域是在向量X上,X大于零,就是所有纬度上的Xk加起来等于一。正好构成离散分布的参数,离散分布的参数也需要满足这些要求。
每个合法的X对应一个K维离散分布的一组参数。很容易作为第三方分布的先验分布。
有些人会说是分布的分布,那样说的话就会很费解。不如把分布的参数。就是是给分部的每一组参数都有一个概率。比如说每个分部是一个骰子。然后对于这些骰子有一些先验的信念。
比如说骰子应该是大致公平的。那就认为骰子六个面的概率基本上接近于1/6或在1/6附近,假设骰子肯定有作弊,那么离1/6概率比较远。这都相当于对骰子的一些事先的信念。然后可以用此作为率势分布来刻画,很好的一点是离散分布是共轭分部
共轭分布是指先验的对象,然后有从一些理想分布的观测,把观测作为已知的知识,算骰子六个面的后验概率,一样是对数分工
比如先验是六个一,然后观测六个面分布的频率是(5,2,1,1,1,0)。第一个面看了五次,第二面看了两次,很明显,这可能是有偏的一个骰子,后验概率是这种情况。这个骰子大概率就偏向第一面。
Dir(1,1,1,1,1,1)是指对骰子的情况,不做任何假设,可以是一个均匀的骰子,也可以是一个很奇怪的骰子(非常偏的一个骰子)。就某些面概率特别大,然后某些面概率特别小的骰子。一般情况来说所有的骰子概率几乎相同
然后从一个骰子空间或者骰子宇宙里头拿一个骰子出来。然后看到骰子观测值。就能估计后面概率,估计这方面到底是什么样。
三、例子---Dirchlet 骰子先验和后验分布的采样
实际出了一些样本有一个直观印象就是首先是六乘五的矩阵,是从全是一的对数给抽出来了。这个代码可以很方便的从这个幻灯片里头复制出来。每一行是一个样本,每一行是一个采样。然后可以看出来,就是这里面有五个采样,可以看出来,确实是各种情况都有,比如说有些第一面会比较大有些第一面小,采样就是抽样。
这是从后验概率里头抽出来的样本。可以看出几乎每个样本第一面的概率都很大。然后第二面的概率稍微大一点,有时候比第一个还大。虽然采样观测到的是第一个那个频率很高。
假设用最大似然估计,可以算一个平均值出来,可以算出来第一面的概率,大概是0.5,下面的是0.2。但是为了让推理更加鲁棒,或者说更加平滑。也不做那种最大似然规律那种点估计,假设虽然观测到这些频率。但仍然认为骰子另一方面的概率是服从概率分布的,并不能估计出来一个点,然后就相信这个点就是实际情况。
比如说最后一面一直没观察到,但不能认为最后一面的概率为零。如果做最大似然估计的话,最后一面的概率就是为0了。然后做推理的话。
最后一面就像采样里头最后一面。概率虽然很小,但是也不是0。相当于,虽然原理处理的时候尽量做的平滑,比如说一个词从来没有出现,但不能把它频率设成零,需要用很少的数去平滑,先验概率起到的效果就相当于对参数做一下平滑。

