码迷,mamicode.com
首页 > 其他好文 > 详细

【LDA】动手实现LDA

时间:2015-07-14 23:59:57      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:

这段时间对LDA比较感兴趣,尝试在工作中使用它。平时做想法的快速验证,都用的是“GibbsLDA++-0.2”,一个c实现版本的LDA。这两天用c++ stl自己写了一个单机版的LDA,初衷如下:

1. “GibbsLDA++-0.2”虽说号称是最popular的LDA工具包,不过依然有明显的bug,参考“【LDA】修正 GibbsLDA++-0.2 中的两个内存问题”。

2. “GibbsLDA++-0.2”基本上使用纯c写的,变量命名采用数学符号,而不是很直观的描述型符号,不容易看懂。甚至在工作中,训练出结果之后,我总要对照着它的说明文件,才能反应过来每个结果文件都对应着什么。

3. “GibbsLDA++-0.2”将词表的提取和模型本身的训练放到一起了。这对于小规模的训练还可以,扫描一遍训练集就把此标题取出来、然后在内存里继续训练。不过对于稍大一点儿的规模,每次训练都抽取一遍词表是很傻的事情,而且很多问题中,训练集不见得能够涵盖词表中的所有词......总之,我把他们分开了。要有一个预处理过程(我没写)先从训练集合中抽取词表,然后和训练样本一起输入到模型当中,参与训练。

4. “GibbsLDA++-0.2”的无关代码太多了,如:解析命令行的代码、等等。实际上,比起命令行这种方式,我更愿意直接使用源代码。

5. 最重要一点原因,其实我是手痒痒了。


代码放到git上面了:https://github.com/henryxiao1997/LDACplus/


完。

版权声明:本文为博主原创文章,未经博主允许不得转载。

【LDA】动手实现LDA

标签:

原文地址:http://blog.csdn.net/xceman1997/article/details/46884903

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!