开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:为什么能学出有效的主题 中】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15534
为什么能学出有效的主题 中
上节课我们看到的LDA是非对称的Dirichlet ,现在这个是对称,但是后验概率已经不对称了。LDA里的先验都是对称的,那对称的Dirichlet是什么意思?
就是所有的α1。αk都是相等的,就可以讨论α>1或者α<1。所有的αK>1的时候,这个分布的形状图1-1所示,这个三角形是所有合法的x值,实际上是一个三维空间的,这里画了两维,因为另外一维必须满足规划的约束,很容易从这两维里算出来,所以就只需要画两个就够了。这个Z轴代表它的概率概率密组,准确的说这个点它对应的概率率最高,z轴接近0的这点概率几乎为零了。
α>1的时候,它是这样一个肩顶帽子的形状,也就说在中间这个位置它的概率最大,旁边就衰减得很快。
α=1是上节课看我那个色子的例子,它是个平均的,每个参数它都是它的可能性都是相等的。
α<1时候图像如图1-2所示,三个角概率很大即边的概率比较大,中间概率几乎几乎为零。这个可以根据概念公式推算。
以图1-2周边尖角为例,这个尖角呢X2几乎等于1/2。X1和X3接近0,因为它三个相加必须等于一,这就是我们想要的稀疏的效果,即它会给一些稀疏的向量比如0.9。
进行稀疏的Dirichlet先验的采样,结果如图二所示,看到0.9剩下几乎为零。这样一个系数抽象出来的基本是这种很离散的向量。因为抽样实际上相当于在这个函数里随机找一点,他越高找这一点拿到这一点的概率越大。意思是有很大的概率是找到这个角上,找中间的概率就很小。拿到这个角那它就是一个稀疏向量对应了一个稀疏的离散分布。这个是他作为先验的会给那些系数的的离散分布比较大的概率,如果离散分布不太稀疏,那它的先验概率会比较小。
上节课得知参数后验概率和先验概率与似然函数成正比,但后验概率也可能会比较小。注意:这里考虑的是对称,定义是所有的α都是相等的,我们才可以考虑说α取值情况。
如图3所示,α都是0.2,所以它是个鼓励稀疏分布的Dirichlet先验,即LDA等于pLSA+Dirichlet先验。
它在{θd}和T上分别加了不同的Dirichlet先验,参数我们用α表示。为了鼓励稀疏分布,α一般取值比较小,比如0.1或者接近0.01都是可以的,一个选择的基本原则是topic的数目如果增多,主题数目增多α就选小一些。如果词多的话α就选小一些。
因为可以近似认为topic数目K乘以一个α。但实际上可能不是这样的,只是近似有这样一种关系。topic数目K乘一个α,表示这个文档里每个文档里头比较显著的topic的数目比如我希望这个我一个文档里头大概有七八个topic,剩下的topoc基本上都是概率接近0。那我就选k乘α约等于十,抽出来的topic的分布比较大。词的道理是一样的。
我们可以把文档和参数的联合概率写出来,看着稍微复杂了一些,因为pLSA和Dirichlet先验不一样,我们需要用不同的参数表示,α和β。文档和参数的联合概率公式如下:
使用Jensen不等式计算我们也需要θ,算它的后验分布。q(Z,θ)联合的后验概率我后面分布用q(Z,θ)来逼近。