专业支持:(0512) 63016160 / 销售热线:(0512)63016068
当前在线: 288 今日上线: 1384 今日新增: 3

直播26:中科院计算所何清研究员《基于云计算的海量数据挖掘》

文章来源:  中国云计算 发布时间: 2010年05月23日   浏览: 1336   作者:中国云计算

[Csdn 522日现场报道]何清:各位上午好,我报告的题目是基于云计算的海量数据挖掘。这个题目是前一段在中国移动的实践,以及后来有关基于云计算数据挖掘的研究来做出的。首先我谈一下海量数据挖掘的背景,就是云计算的兴起。

1、有关于云计算实际上在上一届会议上,以及在这一次会议上,大家所引用的维基百科的定义,都是在动态的变化着。但是作为一个研究的对象,它的发起实际上是从企业发起的,作为一个研究的对象,需要给它一定的定义,我这里所列出的是,李院士昨天给大家的定义。我给的定义可能还要一个连接词,实际上按照云计算专家委员会的讨论,云计算是一种基于互联网、大众参与的计算模式,其计算资源包括计算能力、存储能力和交互能力是动态、可伸缩、且被虚拟化的,而且以服务的方式提供,这是目前的一个基本认识。

下面这些是在不同角度对它进行的解释。基于云计算的数据挖掘这件事情,在我们中国开始来做是由中国移动他们发起做云计算平台开始,到08年的11月,我们中科院计算所就跟中国移动合作开发出了基于云计算的数据挖掘平台。

2、云计算的兴起实际上带来了很多的机遇,中小企业购买昂贵IT设备的成本降低了,服务器、硬件、PC这些销售都带来了很大的机遇。对于我们搞软件的提供了最好的机会,就是说提供一种新的技术服务,就是云服务,这时候对于用户来说,它不需要购买硬件,也无需开发软件,他就可以得到云计算的服务,并能在线实施一些监控。

云计算的应用,我列举这几个比较有代表性在国外的应用,下面我在讲实践过程当中,还会讲到我们和中国移动所进行的实践。

数据挖掘软件发展的历程,我结合其他资料划分成5代,到现在基于云计算的并行数据挖掘的方式,应该算作第5代。第1代就是单独算法,单个系统,单个机器,而且是向量数据。第2代和数据库结合起来,有多个算法。第3代跟预测模型更多去集成起来,而且它支持了Web数据、半结构化的数据,应该说这种情况下是一种网络化计算。第4代是分布式数据挖掘,这种情况是在2000年到2005年左右,所做的一件事情。基本上是基于网格计算的概念来做多个算法,分布在多个节点上的方式。
5代,就是现在基于云计算的并行数据挖掘与服务的模式,它的同一个算法可以分布在多个节点上,多个算法之间是并行的,多个资源实行按需分配,而且分布式计算模型采用云计算模式,数据也就是用DFS

编程模式,它采用了Map/reduce这种方式。这是在NIPS2006这篇文章里面所发表的用Map/reduce编程完成的很多机器学习方法,用到实际的时候,也就是数据挖掘算法的并行化,这是一项非常有重要意义的工作。目前基于hadoop的数据挖掘开源项目有Mahout(这个项目致力于数据挖掘并行化,是以云计算方式来做数据挖掘的开源项目。)

为什么要用云计算的方式来处理海量数据进行挖掘呢?从需求来讲,首先说我们所处理的数据是海量的,我们以往都期望用高性能机或者是更大规模的计算设备来做这件事情。实际上我们要从海量数据中搞到可理解的知识,大规模的数据挖掘是我们追求的目标,并且事实上互联网上的数据增长也特别快,数据挖掘的任务远比搜索任务要复杂。在这种海量数据挖掘当中还有一些特殊目标要求,这导致了我们在挖掘过程当中需要有很好的开发环境和应用环境。这种情况下,基于云计算的方式是比较合适的。

从外部特征来看,基于云计算我们来做低成本分布式并行计算环境,这个所带来的好处,对数据挖掘来说就是中小企业的数据处理成本大大的降低。大企业用云计算平台对某些数据的处理,不再依赖于大型高性能机。另外一个就是开发方便,屏蔽掉了底层。为什么用云计算平台来做数据挖掘呢?在并行化条件下,我们利用原有设备使得大规模处理数据能力提高,另外可以方便地增加结点,它的容错性都是比较强的。

用云计算来做数据挖掘的话有没有问题呢?是有很多的问题。首先从第一方面来说:
1
、用云计算来做,实际上带来了数据挖掘需求,个性化需求和多样化需求的增加。因为我们的数据挖掘基于云计算来做,最后要发展成的是一种云服务模式,而这种服务必然就面临着个性化和多样化这种要求。

2、在做的过程当中,还是数据所带来的问题是比较多的,首先它的量来说,就是说TB级和PB级这种企业数据,需要我们来处置。另外高维的,有噪声的,还有就是动态的数据,也是需要我们来处理的。

问题与挑战:
1
、基于云计算来做数据挖掘算法的并行存在一些挑战。什么样的算法来做目前的数据挖掘任务,这是一个首要的问题,并不是所有算法拿来就能完成目前的任务,我们需要选择合适的算法,并采取适当的并行策略,然后才能提高并行效率。因此算法的设计变得非常重要,参数的调节也变得必不可少,而且参数的调节直接影响最终的结果。这是问题和挑战的一方面。

2、另一方面的问题和挑战就是不确定性。数据挖掘当中有很多不确定性,之所以做数据挖掘,实际上就是克服不确定性给我们所带来的影响。首先我们数据挖掘任务的描述具有不确定性,数据采集和预处理也是带有很多的不确定性,采集哪些数据,不采集哪些,预处理的粒度有多大?具体的操作是采用什么样的预处理操作,都是有很多的问题。

3、数据挖掘的方法和结果有不确定性,哪些是吻合你的目标的?这需要你在做数据挖掘过程当中,把不确定性给确定下来。

4、挖掘结果的评价也是不确定的。因为每一个用户所关注的最终的挖掘目标不一样,这就导致了对挖掘结果的评价也有不确定性。而且从研究的角度看,实际上有很多的评价方式,也给出了很多的评价度量,这需要根据数据的分布,你最终要达到的挖掘目标,根据这些来评判你的数据挖掘是否是有效的。

5、软件服务可信方面的问题与挑战。将来在云计算这种环境下来做数据挖掘,就导致了数据挖掘云服务软件可信性问题变得比较突出。首先服务的正确性是第一个问题,是不是没有不当的,不正确的系统的状态,这就是服务的正确性要关注的,另外还有服务的安全性,就是不要有灾难性的后果。还有就是服务的质量,服务质量有可用、可靠和高性能这三个方面来度量。隐私安全,就是不允许未授权的访问。

有关于可信安全方面还有三方面:
1)隐私数据的保护,目前来看隐私数据的保护是数据挖掘推广,或者是数据挖掘云服务模式推广的一个瓶颈,如果解决不好隐私数据的保护,中小企业不可能接受你的数据挖掘云服务,必须解决这个问题。但是解决这个问题是不是说就像一般的信息安全那样,所有信息都加密,这是不一定的,要做适当的隐私数据保护。

2)过程安全。你的模型与需求要有一致性,算法要可检验,过程对用户可控、可视,挖掘结果对用户来说是可理解的,当然对于其他用户来说,它就是很难理解,因为这一点跟隐私数据保护要结合起来做。

3)公共安全问题。这是李院士所谈到的一个观点,云计算安全的本质是信任管理问题,也就是说要把信任管理做好,然后数据挖掘服务这个安全问题,信任问题就会解决得比较好。

对于上面的问题,我总结一些对策:
1
、基础建设方面,要建设数据挖掘云服务平台。根据个性化和多样化需求,在云服务平台上,专业人士可以提供服务,大众和各种组织成为服务的受益方,而且这个平台要按领域、行业来构建,这样流程就比较顺。

2、数据挖掘云服务还是要依赖于虚拟化技术,要计算资源自主分配和调度,也就是说虚拟化技术是数据挖掘云服务技术的支撑。

3、需求方面,要想应对个性化、多样化需求,我觉得必须要大众参与,有了大众的参与个性化和多样化的需求就能够更好地得到满足。

4、可信性方面,算法要通用,要可查,可调,可视。

5、安全方面,隐私数据最后是有客户在自己的平台终端,可以加密来保护,可以有一些安全措施。
下面我介绍云数据挖掘的一些实践,主要是讲我们在中国移动所做的一些工作,这是08年年底我们做得PDMiner的一个体系架构。我们进行了预处理,数据转换等这些事情。往下就是并行数据挖掘,这里面集成了很多个算法,之后是用户界面,用户可以来定制任务,完成它的目标。我们现在所做的ETL和挖掘的组件,ETL把数据量加上去呈现线性加速比,挖掘效率随节点增加而增加,而且多个任务工作流之间可以相互不干预,在不同节点同时启动,可以处理失败的节点,具有容错能力,开放的开发架构,算法可方便地配置加载到平台上。

这是两幅图,一个是ETL的实验图,这是在开发过程当中所给出的一个图。大家可以看出ETL的加速比线性的,扩展方面都是比较好的。这是K均值算法实验结果,这个算法各方面都是比较好的。

跟商用软件来比较精度达到了,从结果上来说,在商用软件有结果的情况下,是可以达到一致的结果。当然有些商用软件受到数据量的限制,还没有结果,这个我们就没有办法比较。这是中国移动对数据挖掘分析支撑工具体系结构的一个描述。

已完成工作,按照中移动黄晓庆院长去年大会上所谈到的,就是说用1/6的成本实现了6倍的性能。近期我们开展的工作就是面向Web做了一个基于云计算的数据挖掘服务系统。这个系统实际上是基于我们的后台系统开发了一个Web服务系统,提供基于云计算的并行数据挖掘云服务模式。从一个示意图来看,前台、后台之间的一个交互流程示意图。这是前后台系统关系的逻辑图,按照这个架构,我们开发了面向WebWPDminer这个系统。

我给大家演示一下这个系统。
这有四部分,有数据管理、任务管理、用户管理和系统的使用介绍,我们可以上传文件,察看文件做这些操作。现在我们做一个上传文件。有任务管理的模块,我们可以创建一个数据挖掘任务,我们这里演示一个数据挖掘功能。把它的输入输出参数设定好,把平台的数据都配置好,按照工作流的方式可以再添加另外一个任务,同样的去配置参数。配置完成以后,我们对新创建的任务去执行,在执行过程当中,我们对Map/reduce的进程是可视的,大家可以看到这个过程。这就是刚刚完成的任务,可以在日志文件里头都可以查看到。 这是一种模式,就是说数据挖掘要用云服务的模式来提供。

下面我来给大家介绍最后一点,未来的走向。基于云计算的数据挖掘,未来走向是什么?数据挖掘云服务将会兴起,有服务的提供者,也有大众和各种企业组织他们是服务的受益方,还有对数据挖掘研究来讲不会受到计算环境的影响,另外数据挖掘应用范围将大大拓宽。

数据挖掘将和物联网结合起来做,而且基于云计算的数据挖掘在物联网上不可缺少,高可信的基于云计算的挖掘与云服务是未来的一个重要方向。
谢谢大家!


一键分享:

在线客服