LDA实现的两种方法

       今天看到美帝一个实现LDA的法子,实现了一把,结果也对,参加方法2。可以对比方法1,计算量是降低了很多。

      但无论如何,有一个显著的开销是很大的,这就是每个Wm,n 都需要记录一个类标签,也就是代码中doc那个三维矩阵,x表示文档编号{0-15},y表示term编号{0-4},z表示label{0-1}

     假定文档有10M个(一千万),每篇文章1000个词,词典空间10K个,类标号100个,那这个矩阵的大小起码是 10M*1K*(3字节+1字节)= 40GB ?

     所以大规模计算肯定不能怎么表示,怎么搞呢?待续,我实现了一个,参见:http://weibo.com/1497035431/zoWcFqHt5

      

      我一直想把LDA彻底打通,但还是觉得差一些,这个周末两天,还是没有如愿 

    

      


例子来源:https://github.com/pennyliang/MachineLearning-C---code/blob/master/gibbs_sampling/SteyversGriffithsLSABookFormatted.pdf

方法1:https://github.com/pennyliang/MachineLearning-C---code/blob/master/gibbs_sampling/main.cpp

方法2:https://github.com/pennyliang/MachineLearning-C---code/blob/master/gibbs_sampling/main2.cpp


方法2算法流程


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值