[发明专利]一种采用多核集群的LDA模型的训练方法及系统无效
申请号: | 201210564600.1 | 申请日: | 2012-12-21 |
公开(公告)号: | CN103020258A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 陆忠华;王珏;周莼葆;郎显宇;聂宁明 | 申请(专利权)人: | 中国科学院计算机网络信息中心 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 采用 多核 集群 lda 模型 训练 方法 系统 | ||
技术领域
本发明涉及机器学习领域,尤其涉及一种采用多核集群的LDA模型的训练方法及系统。
背景技术
LDA(Latent Dirichlet Allocation)是一种非监督机器学习技术,是一种被大家关注的聚类工具,它能够识别大规模文档集中的潜在主题信息,同时它还能够预测推断(inference)一篇新文档和哪些主题(topic)相关。LDA采用的是词袋(bag of words)的方法,将每一篇文档看成一个词频向量,如果两个不同词经常一起出现在文档中,那么LDA的训练算法倾向于把这两个词归于同一类,亦称同一主题。
LDA模型是一种生成模型(generative model),LDA首先假设了一个产生文档的过程,然后根据现实的大量文档集,来学习背后的产生过程是怎么样的。LDA假设所有的文档存在K个主题(每个主题可以认为是词的分布),要生成一篇文档,首先生成该文档的一个主题分布,然后生成词的集合;要生成一个词,需要根据文档的主题分布随机选择一个主题,然后根据该主题中词的分布随机生成一个词。
一般来说LDA的实现包括训练算法和预测算法两个部分。训练算法是指基于已有的文档集,学习出LDA模型,LDA模型的效果和模型收敛情况有较大影响,一般迭代次数成百上千;预测算法是指利用已学习出来LDA模型去推断一篇新文档的主题分布。
由于LDA的训练需要大量迭代,每次迭代需要遍历所有训练文档的所有词,并且不断更新其中的文档-主题矩阵(大小为D×K,其中D为文档个数、K为主题个数)、主题-词矩阵(大小为K×V,其中V为词数),计算量较大,耗时较多。
发明内容
针对上述问题,本发明实施例提出一种采用多核集群的LDA模型的训练方法、系统。
在第一方面,本发明实施例提出一种采用多核集群的LDA模型的训练方法,所述方法包括:所述多核产生多个进程,每个进程均启动多个线程,用于分担处理多个训练文档;每个进程中的多个线程共同处理该进程负责处理的文档,每个线程给出其负责处理的文档的主题-词矩阵,该进程依据其所有线程给出的主题-词矩阵得到该进程负责处理的文档的主题-词矩阵;根据所有的进程提供的主题-词矩阵得到所述多个训练文档的主题-词矩阵,并用该主题-词矩阵更新所述的LDA模型。
优选地,在所述多核产生多个进程之前还包括:对所述多个训练文档进行预处理,即对所述多个训练文档中的不同单词赋予唯一编号,在统计词频时,用所述唯一编号来代替相应的单词,并去除词频过低的词。
优选地,所述每个线程给出其负责处理的文档的主题-词矩阵,具体为:每个线程根据其负责处理的文档中的单词的主题被认定的次数给出所述主题-词矩阵。
优选地,每个进程的所有线程在更新LDA模型的主题-词矩阵之前或者之后进行同步。
优选地,所述多核分布于多个网络节点,每个网络节点包括一个或多个核。
在第二方面,本发明实施例提出一种采用多核集群的LDA模型的训练系统,所述系统包括:进程产生模块,用于所述多核产生多个进程,每个进程均启动多个线程,用于分担处理多个训练文档;进程矩阵生成模块,用于每个进程中的多个线程共同处理该进程负责处理的文档,每个线程给出其负责处理的文档的主题-词矩阵,该进程依据其所有线程给出的主题-矩阵得到该进程负责处理的文档的主题-词矩阵;模型更新模块,用于根据所有的进程提供的主题-词矩阵得到所述多个训练文档的主题-词矩阵,并用该主题-词矩阵更新所述的LDA模型。
优选地,所述系统还包括预处理模块,用于对所述多个训练文档进行预处理,即对所述多个训练文档中的不同单词赋予唯一编号,在统计词频时,用所述唯一编号来代替相应的单词,并去除词频过低的词。
优选地,所述每个线程给出其负责处理的文档的主题-词矩阵,具体为:每个线程根据其负责处理的文档中的单词的主题被认定的次数给出所述主题-词矩阵。
优选地,所述系统还包括线程同步模块,用于每个进程的所有线程在更新LDA模型的主题-词矩阵之前或者之后进行同步。
优选地,所述多核分布于多个网络节点,每个网络节点包括一个或多个核。
本发明实施例采用多核并行处理,提高了主题-词矩阵的计算速度,有利于更快地更新LDA模型。
附图说明
以下结合附图以举例方式对本发明的实施方式进行详细描述后,本发明的其他特征、特点和优点将会更加明显。
图1是本发明实施例的采用多核集群的LDA模型的训练方法示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算机网络信息中心,未经中国科学院计算机网络信息中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210564600.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种加强锌婴儿配方法奶粉
- 下一篇:一种甲壳素保健饼干