希望自己可以悄悄变厉害。 --------宁十一
在上一篇文章中,我们主要说了BTM的基本原理,BTM与LDA相比的优势劣势,以及BTM中的参数更新的一些方法。有没有小伙伴看着上面纷乱复杂的公式有点头晕呢。反正如果我作为一名读者,我会觉得上一篇文章有问题。罗列了一大堆数学公式,这谁看得懂呀。那看不懂也没关系,在这篇文章中,我们跟着代码一起看看,到底论文中复杂的参数都是怎么计算出来的。话不多说,这里先贴上自己的github地址
https://github.com/galesour/BTMgithub.com如果需要,大家可以clone下。要是能start一下,就更好了,二宁在这里给大家抱拳了。
参数更新公式
不论是机器学习的模型,还是深度学习的模型,最后都是为了求解一个参数的矩阵,在BTM中,我们要求解的是上文中提到的
和
,在之前的一篇文章中,我们讲过了这两个参数的更新办法。如下
我知道大家肯定都知道上面公式中变量的意义,我还是再重复一遍,
表示单词w属于主题z的次数(注意是次数,是完全可以统计出来的),
表示的是属于主题z的biterm的个数(同样也是个数),
和