自十八世纪的贝叶斯理论开始,从数据中挖掘出有价值的数据挖掘技术,已给科学和社会的进步带来了巨大贡献。随着移动互联网的迅猛发展,人类社会已经不可避免的进入了大数据的时代。与传统数据相比,大数据有着海量、异构、重复甚至冲突的数据,这使得传统数据挖掘方法无论从数据形态还是从计算模型,或是从计算效率上都无法继续胜任新的需求。
首先,数据挖掘学科的研究对象发生了剧烈变化,跟传统的互联网以网页存储信息和搜索引擎检索信息不同,移动互联网的数据以社交网络和群体智能的形态存在,它的数据量巨大,异构数据层出不穷,其中甚至充斥着错误冗余。时至今日,数据格式日益复杂,数据规模指数日益增长,这使人们无法在一定时间内用常规挖掘系统对其内容进行抓取、管理和处理。所以,传统的数据挖掘系统已然无法满足当前的数据挖掘需求。
为了迎接这个挑战,近年来,众多学者在上述四个方面进行了大量的研究工作,于是产生了云计算、云模型、社会网络、群体智能等诸多研究课题。以云计算为例,云计算(Cloud Computing)是一种基于互联网的大众参与的计算模式,其计算资源(包括计算能力、存储能力、交互能力等)以服务的方式提供,它是动态的、可伸缩的、被虚拟化的。而且,云计算也因其动态配置、低功耗、低维护成本等特点,迅速得到了信息产业的青睐。
其实,云计算的思想可追溯到二十世纪六十年代,那是,John McCarthy 就提到过,“或许有一天,计算会像水电一样,变成公共基础设施”。2003 年,著名的搜索引擎公司 Google 多次在计算机研究领域的顶级会议表面并在和期刊上发表论文,阐述其分布式处理方法,向业界揭示其云计算核心技术,如基于 MapReduce 思想的并行编程环境和 BigTable 分布式数据库系统的 GFS(Google File System)分布式文件系统。基于这样的基础架构,Google 成功建立了包括 Gmail、Google Maps、Google Drives 等一系列具有全新界面和强大交互感的 Web 2.0 应用。2007 年底,Google 和 IBM 公司相继宣布其云计算战略计划,从此,“云计算”这个专业词语开始受到公众的关注,并迅速成为产业新星和研究热点。
通常来讲,云计算是一个四层结构:硬件层、基础架构层、平台层和应用层。云计算的商业模式也基于这个层次结构可分为三类:架构即服务 (IaaS),平台即服务 (PaaS) 和软件即服务 (SaaS)。根据用户范围还可以分为公有云和私有云以及混合云等。产业界比较著名的云计算平台有上文提到的注重分布式存储和编程的 Google 云计算平台,使用多层次虚拟化技术的 IBM“蓝云”,注重网络远程操作的亚马逊弹性计算云,以及国内注重 Web 应用的百度 BAE 和注重弹性计算的阿里云。
当前关于云计算的研究,多停留在基础架构和平台层它,主要可分为三类:一是如何构建分布式平台的基础设施,如微软的 Dryad 框架,Amazon 公司的 Dynamo 框架,以及 Ask.com 公司的 Neptune 框架等;二是分布式编程框架,如 Yahoo! 公司的 MapReduceMerge 框架,斯坦福大学的多核处理器框架,威斯康辛大学在 Cell 处理器上对 MapReduce 的移植等;三是云计算中架构和存储的安全问题。而对于软件即服务,则多停留在如何改善网络时代的软件工程研究,鲜有学者比如威斯康辛大学的 Hazy 系统这样,以海量数据挖掘作为目标,从系统到编程模型全面为开发人员定制的研究课题。因此,如何利用好云计算现有的技术架构,增添挖掘即服务 (MaaS) 的层次,更好的设计海量数据挖掘系统的计算架构,仍然是一项极具挑战性的课题,因为它需要有复杂的软件、高端的服务器和资深的数据挖掘专家团队来支撑这项课题。
Azure 云凭借微软多年的研究积累,在这个 MaaS 需求强烈的节骨眼上,推出了机器学习云平台。该平台是“一种完全托管的云服务,它可以使数据专家和开发人员能够高效地将预测分析嵌入到他们的应用程序中,从而有助于组织使用大量数据集,并可以将云服务的所有优势带入机器学习中”。同时,它还提供了数据下载、模型选择、模型训练和数据预测一整套机器学习的工作流,并在每个步骤里都以非常友好的可视化界面呈现给开发者。
如下图所示,Azure 云提供了友好的在线开发环境,开发者既可以构建自己的试验来测试自主设计工作流的可行性,还可以将测试通过的工作流以Web 服务的形式提供接口,供日后使用。
在试验的栏目里,开发者可以通过拖拽左边的模块来完成工作流的设计。模块的种类非常丰富,包括预加载数据、数据格式转换工具、数据输入与输出、特征选择、机器学习算法、R 语言接口、统计函数以及文本分析等等。
此外,Azure 还提供了大量的在线视频和教程,供开发者学习。比如,一个经典的机器学习算法开发过程,就包括了获取数据、预处理、定义特征、选择学习算法以及做出预测这五个步骤。另外还有在线社区供开发者对机器学习相关问题进行讨论。最值得称赞的是,开发者还可以将开发的算法放到市场(Marketplace)中出售给其他人,依靠自己的聪明才智来获得应有的物质报酬。
Azure 云机器学习平台,依托多年来 Xbox 和 Bing 搜索的技术积累,以及微软遍布全球研究院的研究成果,将其汇聚成一个非常简单的云计算服务呈现给开发者。总体来讲,这个平台对以往形式的数据挖掘和机器学习来说是个颠覆,它给新手以及初创公司提供了廉价而有效的挖掘平台,在此之前,只有资金雄厚的大公司才可以想象。相信在未来,更多的算法会登陆 Azure 云机器学习平台,为更多的企业提供优质服务。
感谢郭蕾对本文的策划和审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论