机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5986|回复: 1
打印 上一主题 下一主题

呼唤支持多线程的分类器!

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-15 23:53:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      这几天参加JRS比赛,这次比赛的样本不算大规模,10000个样本,维度高,训练集文件在500M左右。不大不小,普通台式机可以跑动,就是慢。

       通过使用mulan和weka我们发现,他们最大的弱点是不支持多线程,因此我们的机器空有4核16G内存,事实上用不上。事实上,只有25%的CPU和1G的内存被消耗。

       因此,我认为目前机器学习最需要解决的问题是如何并行化提高运算速度,合理利用资源。并行化可以有3个档次,分别是 多线程(任何机器都支持)、Cuda(需要Nvdia显卡)、Hadoop(需要机群)。显然,能力越来越强、但要求也越来越高。

       各位都或多或少开发了自己的分类器,但各位的程序能否支持并行呢?或者可以并行到哪个程度呢?显然,把weka整个并行化或多线程化,是一个浩大的工程,依靠我们的力量完成不现实。但我们自己涉猎过的代码,能否修改一下支持多线程呢?这将是推动科学进步、真正有影响力的工作!

       每位同学目前都有自己的工作,来做这件事情显然有些力不从心。我后面要安排专人来做这个工作,而且我会亲自参与、督阵。但目前各位同学已经开发过的代码,应该考虑自己进行修改。
     比如:旭斌开发了svm的回归,自己能否考虑写一个支持多线程或cuda或hadoop的版本?
             文瑞在搞基于hadoop的libsvm,能否加入多线程,毕竟有hadoop环境的人太少了,多线程的libsvm也很受欢迎啊,特别是grid优化参数的时候能否多线程?
            
        每一位同学都熟悉weka,并且应该很喜欢这东西吧?我是因为weka而喜欢java和code的。建议大家学习一下mulan(http://mulan.sourceforge.net/ ),mulan的工作量不是很大,是在weka基础上开发的。我们应该学习他的思路,也仿照mulan的开发思路,开发出我们实验室自己的jar包,与weka不同的是:我们可能加入了自己的分类器(比如旭斌、邱诚之前开发的集成分类器)、加入了自己的可多线程(或cuda、hadoop)的分类器。

        我认为这是一个真正有益于科学发展的工作,希望大家提出自己的想法和意见。如果可以,我们以后处理500M的数据,就不会出现要跑2天的尴尬情景了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2013-4-16 15:37:55 | 只看该作者
本帖最后由 xmubingo 于 2013-4-16 15:43 编辑

我也发现了。分类器多线程化交叉验证并不能加快多少。主要原因是像svm这种耗时算法,它们的时间成为了提速的瓶颈。对svm进行多线程还是难的,但是多线程化Evaluation这个类是可行的。

Mahout中也有mapreduce版本的svm

Mark:
Folding, Cross Validation with Map Reduce http://pkghosh.wordpress.com/201 ... on-with-map-reduce/
libsvm-hadoop https://github.com/ericlee100/libsvm-hadoop
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-23 08:51 , Processed in 0.067966 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表