开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:为什么能学出有效的主题 下】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15535
为什么能学出有效的主题 下
Jensen不等式提供了p(d,θ|β),α和β是人为指定的超参,要算d和θ的联合概率,我们要考虑θ的先验概率。Jensen不等式提供一个容易计算的下界,θ是需要学出来的。
但现在LDA里虽学的不是一个点,不是找一个最优的θ,而是它的分布。因为θ他服从一个Dirichlet的并且θ又涉及再变成这个参数,相当于算文档概率的时候它是一个参数,结合起来算它的后验概率。q(Z)越接近p(d,θ|β),下界Ḷ(q,θ)就越大,我们尽量让下界Ḷ(q,θ)尽可能大。
但q(Z)都是很复杂的,因为Z是一个很长的一个序列。q(Z)是一个这个定义在这个序列上的概率分布,q(Z)也是个连续的分布。如果要求Z和θ之间还有什么相关性的话那根本就没法算了,所以就只能假设q(Z,θ)分解成q (Z)乘以q(θ)。准确的说应该用q1和q2,因为参数都不一样,它肯定是不同的分布,相当于一个变分分布的不同的组块组合得到了完整的变分分布。
topic出现了几次,然后算这个topic的分布的后验概率的话仍然是Dirichlet的。所以不管是θ或者是T后验概率都是Dirichlet分布。所以就用两个Dirichlet来刻画这个θ的后验概率。
所以q(Z)就不一样了,q(Z)只是近似,因为不同的zi和ZJ之间是有相关性的,但是θ的后验概率是可以精确求解的。
我们就先固定q(θ),优化q(Z),让下界Ḷ(q,θ),然后固定q(Z)优化q(θ),让下界尽可能大。刚才是固定q(θ)优化q(Z)。然后固定q(Z)优化优化q(θ),优化的是q(θ),给不同的θ不同的概率。并不是说之前的是点,实际上可以认为是一种反哺,也就是θ为0的最优解的时候概率为1, 其他所有的地方概率都是零。
我们Dirichlet分布来刻画q(θ),就是相当于平滑一些,它不光是在这个最优的θ为0概率比较大而且再稍微偏一点也不要紧,如果偏得太多概率就会非常小。这个估计比较鲁棒一,就得到LDA的EM变算。
这个γd是后验概率的分布的参数,刚才的α是先验概率的参数,使用上节课的股子例子来说明。
如图2所示,相当于α是(1,1,1,1,1,1)。γ是(6,3,2,2,2,1).贝斯推理的方式都是先验概率,有数据,然后算后验概率,最后换算概率;如果后验概率不可算的话就用一些简单的分布来近似它。