首页 > 代码库 > 【LDA】动手实现LDA
【LDA】动手实现LDA
这段时间对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写的。变量命名採用数学符号。而不是非常直观的描写叙述型符号,不easy看懂。甚至在工作中。训练出结果之后,我总要对比着它的说明文件,才干反应过来每一个结果文件都相应着什么。
3. “GibbsLDA++-0.2”将词表的提取和模型本身的训练放到一起了。这对于小规模的训练还可以,扫描一遍训练集就把此标题取出来、然后在内存里继续训练。只是对于稍大一点儿的规模。每次训练都抽取一遍词表是非常傻的事情,并且非常多问题中,训练集不见得可以涵盖词表中的全部词......总之。我把他们分开了。
要有一个预处理过程(我没写)先从训练集合中抽取词表,然后和训练样本一起输入到模型其中,參与训练。
4. “GibbsLDA++-0.2”的无关代码太多了,如:解析命令行的代码、等等。实际上,比起命令行这样的方式。我更愿意直接使用源码。
5. 最重要一点原因,事实上我是手痒痒了。
代码放到git上面了:https://github.com/henryxiao1997/LDACplus/
完。
【LDA】动手实现LDA
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。