-
使用折叠式吉布斯采样在Matlab代码中实现Latent Dirichlet Allocation (LDA),以执行贝叶斯推断
资源介绍
吉布斯采样matlab代码Latent-Dirichlet-Allocation-LDA-(MATLAB中的代码)
自然语言处理算法
概率生成模型
Latent
Dirichlet
Allocation根据主题比例和单词比例对文档进行分类的方法
贝叶斯推断使用折叠的吉布斯采样
与传统的吉布斯采样器相比,收敛速度更快,错误率低
参考文献:托马斯·格里菲斯(Thomas
L.
Griffiths)和马克·史蒂佛斯(Mark
Steyvers)发现科学课题(2004)
这里考虑的词汇大小为16,并使用4x4图像表示。
图像中的每个像素代表词汇表中的一个单词。
像素越亮,在文档/主题中的频率越高。
下图显示了8个主题作为单词分布的基本事实。
现在,使用这些主题生成了500个长度为100的文档。
图像下方显示了生成的文档示例。
现在,在这些生成的文档上运行了LDA(超过500次迭代),并发现了主题。
下面的屏幕快照显示了在初始迭代和最终迭代中发现的主题。
Theta地面真相值
范例文件
初始Phi迭代
最终Phi迭代
经过最终的迭代,发现的主题为:
它包含以下功能:
1)代码LDA
Matlab