隨著互聯(lián)網(wǎng)尤其是移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的快速發(fā)展,目前我們已處于數(shù)據(jù)、信息過(guò)載的海量信息時(shí)代。據(jù)數(shù)據(jù)調(diào)查公司IDC 研究報(bào)告顯示:2011 年全球被創(chuàng)建和復(fù)制的數(shù)據(jù)總量為1.8 ZB,較去年同期,這一數(shù)據(jù)上漲了1 ZB,全球信息總量每過(guò)兩年就會(huì)增長(zhǎng)1 倍。用戶(hù)面對(duì)海量信息卻很難找到自己真正感興趣的內(nèi)容[1]。同時(shí)隨著運(yùn)營(yíng)商逐漸推出移動(dòng)互聯(lián)網(wǎng)產(chǎn)品應(yīng)用商店、閱讀、游戲、社區(qū)等產(chǎn)品,如何分析挖掘這些產(chǎn)品生成的海量數(shù)據(jù),將成為運(yùn)營(yíng)商迫切需要解決的問(wèn)題。
云計(jì)算的出現(xiàn),使得數(shù)據(jù)挖掘平臺(tái)有了新的發(fā)展方向,也使得新一代的數(shù)據(jù)挖掘平臺(tái)成為可能。云計(jì)算是能夠提供動(dòng)態(tài)資源、虛擬化和高可用的計(jì)算平臺(tái)。云計(jì)算平臺(tái)可被用來(lái)開(kāi)發(fā)高性能的應(yīng)用程序[2-3]。但是對(duì)于數(shù)據(jù)挖掘來(lái)說(shuō),海量數(shù)據(jù)本身具有噪聲、異構(gòu)、算法復(fù)雜、技術(shù)復(fù)雜等問(wèn)題,而現(xiàn)在的云計(jì)算開(kāi)發(fā)平臺(tái)并沒(méi)有提供數(shù)據(jù)規(guī)約等功能。因此文章通過(guò)對(duì)于數(shù)據(jù)挖掘、云計(jì)算的詳細(xì)描述和分析,提出了基于云計(jì)算的數(shù)據(jù)挖掘平臺(tái)。該平臺(tái)架構(gòu)基于云計(jì)算的基礎(chǔ)能力,并符合云計(jì)算軟件即服務(wù)(SaaS)的設(shè)計(jì)理念。該平臺(tái)還能極大減少運(yùn)營(yíng)商、企業(yè)在數(shù)據(jù)挖掘技術(shù)上的投入并能加快其挖掘業(yè)務(wù)的推出,縮短研發(fā)周期,進(jìn)一步提高產(chǎn)品收益。
1 基于云計(jì)算的數(shù)據(jù)挖掘策略
1.1 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘[4-6]是一個(gè)從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際數(shù)據(jù)中提取隱含在其中的但具有潛在實(shí)用信息和知識(shí)的過(guò)程。從數(shù)據(jù)挖掘的定義可以看出數(shù)據(jù)挖掘是知識(shí)發(fā)現(xiàn)領(lǐng)域的一個(gè)重要技術(shù),它涉及到人工智能、機(jī)器學(xué)習(xí)、模式識(shí)別、統(tǒng)計(jì)學(xué)等高技術(shù)領(lǐng)域,具體技術(shù)包括特征化、關(guān)聯(lián)、聚類(lèi)、預(yù)測(cè)分析等。數(shù)據(jù)挖掘在互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)、電信、金融、科學(xué)研究等領(lǐng)域得到了廣泛的應(yīng)用,例如Facebook 的好友推薦、和淘寶網(wǎng)的商品推薦、銀行的防欺詐分析等。傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)建立在關(guān)系型數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)之上的,對(duì)數(shù)據(jù)進(jìn)行計(jì)算,找出隱藏在數(shù)據(jù)中的模型或關(guān)系,并在大規(guī)模的數(shù)據(jù)上進(jìn)行數(shù)據(jù)訪問(wèn)和統(tǒng)計(jì)計(jì)算,整個(gè)挖掘的過(guò)程需要消耗大量的計(jì)算資源以及存儲(chǔ)資源[7]。
隨著云時(shí)代的到來(lái)和移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)規(guī)模從MB、級(jí)發(fā)展到TB、PB 級(jí)甚至EB、ZB 級(jí),并且面臨著TB 級(jí)的增長(zhǎng)速度,數(shù)據(jù)挖掘的要求和環(huán)境也變得越來(lái)越復(fù)雜,從而形成“數(shù)據(jù)量的急劇膨脹”和“ 數(shù)據(jù)深度分析需求的增長(zhǎng)”這兩大趨勢(shì),使得40 年來(lái)一直適用的數(shù)據(jù)庫(kù)系統(tǒng)架構(gòu)在海量數(shù)據(jù)挖掘方面顯得力不從心[8]。
綜合上述,傳統(tǒng)的數(shù)據(jù)挖掘技術(shù)及其體系架構(gòu)在云時(shí)代的海量數(shù)據(jù)中已經(jīng)出現(xiàn)了不少問(wèn)題,其中首先是挖掘效率的問(wèn)題,傳統(tǒng)的基于單機(jī)的挖掘算法或基于數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)的挖掘技術(shù)及并行挖掘已經(jīng)很難高效地完成海量數(shù)據(jù)的分析;其次高昂的軟硬件成本也阻止了云時(shí)代數(shù)據(jù)挖掘系統(tǒng)的發(fā)展;最后傳統(tǒng)的體系架構(gòu)不能完成挖掘算法能力的提供,基本是在以單個(gè)算法為整體模塊,用戶(hù)只能使用已有的算法或重新編寫(xiě)算法完成自己獨(dú)特的業(yè)務(wù)。
云計(jì)算云計(jì)算[9-10]是一種商業(yè)計(jì)算模式,它將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計(jì)算力、存儲(chǔ)空間和信息服務(wù)。同時(shí)云計(jì)算是并行計(jì)算、分布式計(jì)算和網(wǎng)格計(jì)算的發(fā)展,或者說(shuō)是這些計(jì)算科學(xué)概念的商業(yè)實(shí)現(xiàn)。
通常認(rèn)為云計(jì)算包括以下3 個(gè)層次的服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺(tái)即服務(wù)(PaaS)、SaaS;其中IaaS 提供以硬件設(shè)備為基礎(chǔ)的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)服務(wù),實(shí)現(xiàn)了對(duì)硬件資源的抽象并服務(wù)化提供,使得分布式計(jì)算和分布式存儲(chǔ)成為現(xiàn)實(shí)。
云計(jì)算具有一些特點(diǎn)[10-11]:
(1)虛擬化。云計(jì)算支持用戶(hù)在任意位置使用各種終端以獲取應(yīng)用服務(wù),所請(qǐng)求的資源來(lái)自云而不是固定的、有形的實(shí)體,并且對(duì)于用戶(hù)來(lái)說(shuō)只需要使用云提供的服務(wù)即可。
(2)通用性。云計(jì)算不針對(duì)特定的應(yīng)用,而是可以在云的支撐下構(gòu)造出千變?nèi)f化的應(yīng)用,同一個(gè)云可以同時(shí)支撐不同的應(yīng)用運(yùn)行。
(3)高可擴(kuò)展性及超大規(guī)模。云的規(guī)??梢詣?dòng)態(tài)擴(kuò)展,并且這種動(dòng)態(tài)擴(kuò)展對(duì)用戶(hù)是透明的,并且不影響用戶(hù)的業(yè)務(wù)和應(yīng)用。同時(shí)這種擴(kuò)展是超大規(guī)模的,如Google 云計(jì)算已經(jīng)擁有上百萬(wàn)臺(tái)服務(wù)器,Amazon、IBM、微軟等也擁有幾十萬(wàn)臺(tái)服務(wù)器。
(4)可靠性高。云計(jì)算使用多副本容錯(cuò)、多計(jì)算節(jié)點(diǎn)同構(gòu)可互換等措施來(lái)保障服務(wù)的高可靠性。
(5)經(jīng)濟(jì)性好。云的特殊容錯(cuò)機(jī)制導(dǎo)致可以采用廉價(jià)的節(jié)點(diǎn)來(lái)構(gòu)成云,而云的自動(dòng)化集中式管理使得大量企業(yè)無(wú)需負(fù)擔(dān)日益高昂的數(shù)據(jù)中心管理成本。云的通用性使資源的利用率較之傳統(tǒng)系統(tǒng)大幅提升,因此用戶(hù)可以充分享受云的低成本優(yōu)勢(shì)。
1.3 數(shù)據(jù)挖掘云化策略
云計(jì)算的出現(xiàn)即給數(shù)據(jù)挖掘帶來(lái)了問(wèn)題和挑戰(zhàn),也給數(shù)據(jù)挖掘帶來(lái)新的機(jī)遇—— 數(shù)據(jù)挖掘技術(shù)將會(huì)出現(xiàn)基于云計(jì)算的新模式。如何構(gòu)建基于云計(jì)算的數(shù)據(jù)挖掘平臺(tái)也將是業(yè)界面臨的主要問(wèn)題之一,創(chuàng)建一個(gè)用戶(hù)參與、開(kāi)發(fā)技術(shù)要求不高的、快速響應(yīng)的數(shù)據(jù)挖掘平臺(tái)也是迫切需要解決的問(wèn)題。
從業(yè)界對(duì)云計(jì)算的理解來(lái)看,云計(jì)算動(dòng)態(tài)的、可伸縮的計(jì)算能力使得高效的海量數(shù)據(jù)挖掘成為可能。云計(jì)算SaaS 功能的理解和標(biāo)準(zhǔn)化,使得基于的數(shù)據(jù)挖掘SaaS 化有了技術(shù)和理論的支持,也將使得數(shù)據(jù)挖掘面向大眾化和企業(yè)化。文章主要是從基于云計(jì)算平臺(tái)的數(shù)據(jù)挖掘服務(wù)化、挖掘算法并行化、挖掘算法組件化角度進(jìn)行構(gòu)建數(shù)據(jù)挖掘SaaS 平臺(tái),如圖所示。
如圖1 所示,文章提出的基于云計(jì)算的數(shù)據(jù)挖掘平臺(tái)架構(gòu)采用分層的思想:首先底層支撐采用云計(jì)算平臺(tái),并使用云計(jì)算平臺(tái)提供的分布存儲(chǔ)以及分布式計(jì)算能力完成數(shù)據(jù)挖掘計(jì)算能力的并行實(shí)現(xiàn);其次數(shù)據(jù)挖掘平臺(tái)在設(shè)計(jì)上采用分布式、可插拔組件化思路,支持多算法部署、調(diào)度等;最后數(shù)據(jù)挖掘平臺(tái)提供的算法能力采用服務(wù)的方式對(duì)外暴露,并支持不同業(yè)務(wù)系統(tǒng)的調(diào)用,從而較方便地實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)的推薦、挖掘等相關(guān)功能需求。
2 數(shù)據(jù)挖掘平臺(tái)云架構(gòu)
云計(jì)算的分布式存儲(chǔ)和分布式計(jì)算促使了新一代數(shù)據(jù)挖掘平臺(tái)的變革。圖2 是基于云的數(shù)據(jù)挖掘平臺(tái)架構(gòu)??紤]到挖掘算法和推薦算法的并行化和分布化是一個(gè)專(zhuān)門(mén)的、大的課題,因此文章暫不包含具體算法的并行化和云化的內(nèi)容。
如圖2 所示,該平臺(tái)是基于云計(jì)算平臺(tái)實(shí)現(xiàn)的數(shù)據(jù)挖掘云服務(wù)平臺(tái),采用分層設(shè)計(jì)的思想以及面向組件的設(shè)計(jì)思路,總體上分為3 層,自下向上依次為:云計(jì)算支撐平臺(tái)層、數(shù)據(jù)挖掘能力層、數(shù)據(jù)挖掘云服務(wù)層。
云計(jì)算支撐平臺(tái)層
云計(jì)算支撐平臺(tái)層主要是提供分布式文件存儲(chǔ)、數(shù)據(jù)庫(kù)存儲(chǔ)以及計(jì)算能力。中興通訊有自主研發(fā)的云計(jì)算平臺(tái),該架構(gòu)可以基于企業(yè)自主研發(fā)的云計(jì)算平臺(tái),也可以基于第三方提供的云計(jì)算平臺(tái)。
數(shù)據(jù)挖掘能力層
數(shù)據(jù)挖掘能力層主要是提供挖掘的基礎(chǔ)能力,包含算法服務(wù)管理、調(diào)度引起、數(shù)據(jù)并行處理框架,并提供對(duì)數(shù)據(jù)挖掘云服務(wù)層的能力支撐。該層可以支持第三方挖掘算法工具的接入,例如Weka、Mathout 等分布式算法庫(kù),同時(shí)也可以提供內(nèi)部的數(shù)據(jù)挖掘算法和推薦算法庫(kù)。
數(shù)據(jù)挖掘云服務(wù)層
云服務(wù)層主要是對(duì)外提供數(shù)據(jù)挖掘云服務(wù),服務(wù)能力封裝的接口形式可以是多樣的,包括基于簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP) 的Webservice、、HTTP、XML 或本地應(yīng)用程序編程接口(API) 等多種形式。云服務(wù)層也可以支持基于結(jié)構(gòu)化查詢(xún)語(yǔ)言語(yǔ)句的訪問(wèn),并提供解析引擎,以自動(dòng)調(diào)用云服務(wù)。各個(gè)業(yè)務(wù)系統(tǒng)可以根據(jù)數(shù)據(jù)和業(yè)務(wù)的需要調(diào)用、組裝數(shù)據(jù)挖掘云服務(wù)。
文章提出的基于云計(jì)算的數(shù)據(jù)挖掘平臺(tái)與傳統(tǒng)的數(shù)據(jù)挖掘系統(tǒng)架構(gòu)相比有高可擴(kuò)展性、海量數(shù)據(jù)處理能力、面向服務(wù)、硬件成本低廉等優(yōu)越性,可以支持大范圍分布式數(shù)據(jù)挖掘的設(shè)計(jì)和應(yīng)用。
3 基于云計(jì)算數(shù)據(jù)挖掘平臺(tái)的關(guān)鍵技術(shù)
3.1 云計(jì)算技術(shù)
分布式計(jì)算是解決海量數(shù)據(jù)挖掘任務(wù),提高海量數(shù)據(jù)挖掘的有效手段之一,在理論和實(shí)踐上已經(jīng)獲得證實(shí)。分布式計(jì)算包含了分布式存儲(chǔ)和并行計(jì)算兩個(gè)層面的內(nèi)容,而云計(jì)算平臺(tái)提供了分布式文件存儲(chǔ)和并行的計(jì)算能力,因此很好地解決了這兩個(gè)層面的內(nèi)容。下面主要分析幾個(gè)主流的分布式文件系統(tǒng)和分布式并行計(jì)算框架,以更好地構(gòu)建云計(jì)算數(shù)據(jù)挖掘平臺(tái)的核心支撐能力。
分布式文件系統(tǒng)有效地解決了海量數(shù)據(jù)存儲(chǔ)問(wèn)題,并實(shí)現(xiàn)了位置透明、移動(dòng)透明、性能透明、擴(kuò)展透明、高容錯(cuò)、高安全、高性能等關(guān)鍵功能。目前業(yè)界比較流行分布式文件系統(tǒng)有Google 文件系統(tǒng)(GFS)、分布式文件系統(tǒng)(HDFS)、文件系統(tǒng)(KFS),這3 種分布式文件系統(tǒng)都是基于Goolgle 提出的分布式文件系統(tǒng)理論進(jìn)行研發(fā)的。Google提出的GFS 就是解決其海量數(shù)據(jù)存儲(chǔ)和搜索、分析等問(wèn)題,而和KFS 是基于GFS 理論基礎(chǔ)上實(shí)現(xiàn)的開(kāi)源系統(tǒng),并且在商業(yè)和學(xué)術(shù)領(lǐng)域得到了廣泛的應(yīng)用。
分布式并行計(jì)算框架對(duì)于高效完成數(shù)據(jù)挖掘計(jì)算任務(wù)極其重要,并且它對(duì)分布式計(jì)算的一些技術(shù)細(xì)節(jié)進(jìn)行了封裝,例如數(shù)據(jù)分布、任務(wù)并行、任務(wù)調(diào)度、負(fù)載平衡、任務(wù)容錯(cuò)、系統(tǒng)容錯(cuò)等,使用戶(hù)不需要考慮這些細(xì)節(jié),而只要考慮任務(wù)間的邏輯關(guān)系。這樣不僅可以提高研發(fā)的效率,還可以降低系統(tǒng)維護(hù)的成本。目前典型的分布式計(jì)算框架有:
。MapReduce 是提出的一個(gè)并行計(jì)算框架,它可以在大量PC 機(jī)上并行執(zhí)行海量數(shù)據(jù)的收集和分析任務(wù)。它把如何進(jìn)行任務(wù)并行執(zhí)行、如何進(jìn)行數(shù)據(jù)分布、如何容錯(cuò)、網(wǎng)絡(luò)帶寬時(shí)延等問(wèn)題的解決方案編碼,并封裝在了一個(gè)庫(kù)里面,使用戶(hù)只需要執(zhí)行數(shù)據(jù)運(yùn)算即可,而不必關(guān)心并行計(jì)算、容錯(cuò)、數(shù)據(jù)分布、負(fù)載均衡等復(fù)雜的細(xì)節(jié)。同時(shí)它又對(duì)上層應(yīng)用提供良好簡(jiǎn)單的抽象接口。MapReduce 主要應(yīng)用在搜索、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)挖掘領(lǐng)域。
。Pregel 是Google 提出的迭代處理計(jì)算框架,它具有高效、可擴(kuò)展和容錯(cuò)的特性,并隱藏了分布式相關(guān)的細(xì)節(jié),展現(xiàn)給人們的僅僅是一個(gè)表現(xiàn)力很強(qiáng)、很容易編程的大型圖算法處理的計(jì)算框架。Pregel 的主要應(yīng)用場(chǎng)景是大型的圖計(jì)算,例如交通線(xiàn)路、疾病爆發(fā)路徑、WEB 搜索等相關(guān)領(lǐng)域。
。Dryad 是微軟硅谷研究院創(chuàng)建的研究項(xiàng)目,主要用來(lái)提供一個(gè)基于windows 操作系統(tǒng)的分布式計(jì)算平臺(tái),總體用來(lái)支持有向無(wú)環(huán)圖類(lèi) 型數(shù)據(jù)流的并行程序。微軟于年宣布,停止對(duì)Dryad 進(jìn)行版本升級(jí),轉(zhuǎn)投Hadoop 即MapReduce 計(jì)算框架。
目前業(yè)界開(kāi)源的云計(jì)算平臺(tái)平臺(tái), 包含HDFS 和MapReduce,為海量數(shù)據(jù)挖掘平臺(tái)提供完備的云計(jì)算平臺(tái)支撐平臺(tái)[12]。
3.2 數(shù)據(jù)匯集調(diào)度中心
數(shù)據(jù)匯集調(diào)度中心實(shí)現(xiàn)對(duì)接入本平臺(tái)的業(yè)務(wù)數(shù)據(jù)的匯集,可以解決不同數(shù)據(jù)的規(guī)約問(wèn)題,并支持各種不同的源數(shù)據(jù)格式。源數(shù)據(jù)格式支持聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP)數(shù)據(jù)、聯(lián)機(jī)分析處理系統(tǒng)(OLAP)數(shù)據(jù)、各種日志數(shù)據(jù)、爬蟲(chóng)數(shù)據(jù)等,同時(shí)要提供多種數(shù)據(jù)同步方式,例如數(shù)據(jù)庫(kù)實(shí)時(shí)同步、socket 消息同步、文件傳輸協(xié)議同步等各種各樣的方式,如圖3所示。
數(shù)據(jù)匯集調(diào)度中心主要是完成對(duì)不同類(lèi)型數(shù)據(jù)的匯集。本數(shù)據(jù)匯集調(diào)度中心采用模板化設(shè)計(jì)技術(shù),支持新數(shù)據(jù)的模板和元數(shù)據(jù)配置以達(dá)到不同業(yè)務(wù)數(shù)據(jù)的統(tǒng)一收集和規(guī)約。
3.3 服務(wù)調(diào)度和服務(wù)管理技術(shù)
為了能夠讓不同的業(yè)務(wù)系統(tǒng)使用本計(jì)算平臺(tái),平臺(tái)必須要提供服務(wù)調(diào)度和服務(wù)管理功能。服務(wù)調(diào)度根據(jù)服務(wù)的優(yōu)先級(jí)以及服務(wù)和資源的匹配情況等進(jìn)行調(diào)度,解決服務(wù)的并行互斥、隔離等,保證數(shù)據(jù)挖掘平臺(tái)的云服務(wù)是安全、可靠的,并根據(jù)服務(wù)管控進(jìn)行調(diào)度控制。
服務(wù)管理實(shí)現(xiàn)統(tǒng)一的服務(wù)注冊(cè)、服務(wù)暴露等功能,不僅支持本地服務(wù)能力的暴露,也支持第三方數(shù)據(jù)挖掘能力的接入,很好地?cái)U(kuò)展數(shù)據(jù)挖掘平臺(tái)的服務(wù)能力。
3.4 挖掘算法并行化技術(shù)
挖掘算法并行化是有效利用云計(jì)算平臺(tái)提供的基礎(chǔ)能力的關(guān)鍵技術(shù)之一,涉及到算法是否可以并行、以及并行策略的選擇等技術(shù)。文章通過(guò)K-means 聚類(lèi)算法并行化并行計(jì)算框架來(lái)說(shuō)明挖掘算法的并行化技術(shù)[13]。
3.4.1 K-means 算法的主要思想
K-means算法的主要思想是基于使聚類(lèi)性能指標(biāo)最小化。這里所用的聚類(lèi)準(zhǔn)則函數(shù)是聚類(lèi)集中每一樣本點(diǎn)到該類(lèi)簇中心點(diǎn)距離平方之和,并使它最小化。如圖4 所示,K 均值算法的處理流程如下:首先,隨機(jī)地選擇k 個(gè)對(duì)象,每個(gè)對(duì)象代表一個(gè)簇的初始均值和中心;對(duì)剩余的每個(gè)對(duì)象,則根據(jù)其與各個(gè)簇的均值距離,將它指派到最相似的簇;然后計(jì)算每個(gè)簇的新均值。這個(gè)過(guò)程不斷重復(fù),直到準(zhǔn)則函數(shù)收斂。通常,采用平方誤差準(zhǔn)則,其定義如(1):
其中,E 是數(shù)據(jù)集中所有對(duì)象的平方誤差和,p 是空間中的點(diǎn),表示給定的對(duì)象,mi 是簇Ci 的均值。對(duì)于每個(gè)簇中的每個(gè)對(duì)象,首先要求出對(duì)象到其簇中心的均值的平方,然后再求和。
3.4.2 K-means 并行化思路
是以聚類(lèi)中心來(lái)劃分聚類(lèi)的,一旦k 個(gè)聚類(lèi)中心確定了,聚類(lèi)可立即完成。因此,這里主要講述如何并行實(shí)現(xiàn)更新聚類(lèi)中心[14]。
在隨機(jī)的初始化k 個(gè)聚類(lèi)中心以后,每一次任務(wù)的執(zhí)行都會(huì)更新當(dāng)前個(gè)聚類(lèi)中心的值。在映射階段,對(duì)于每一個(gè)樣本O S ,需要計(jì)算與其最近的聚類(lèi)中心O i (0≤i ≤,然后輸出<i , O S >鍵值對(duì)。
在化簡(jiǎn)(Reducer) 階段,框架會(huì)收集屬于相同鍵的值,相當(dāng)于對(duì)每個(gè)聚類(lèi)中心O i (0≤i ≤k -1) ,而離它最近的樣本都會(huì)作為值收集起來(lái)。這樣Reducer 里就可以利用這些樣本重新估計(jì)出k 個(gè)聚類(lèi)中心,如所示:
這樣,在一輪MapReduce 完成后,新的聚類(lèi)中心也已經(jīng)計(jì)算出來(lái)。通過(guò)比較本輪聚類(lèi)中心與上一輪聚類(lèi)中心差異度,可確定算法是否收斂。
4 結(jié)束語(yǔ)
文章通過(guò)對(duì)數(shù)據(jù)挖掘和云計(jì)算技術(shù)的發(fā)展分析,提出了基于云計(jì)算的數(shù)據(jù)挖掘平臺(tái)架構(gòu)以及數(shù)據(jù)挖掘服務(wù)化的思路。本平臺(tái)不僅僅是基于云計(jì)算實(shí)現(xiàn)了一個(gè)數(shù)據(jù)挖掘平臺(tái),同時(shí)也對(duì)數(shù)據(jù)挖掘平臺(tái)進(jìn)行了化。本平臺(tái)可以為運(yùn)營(yíng)商、企業(yè)提供效益增值的數(shù)據(jù)挖掘應(yīng)用,同時(shí)也減少了運(yùn)營(yíng)商、企業(yè)在數(shù)據(jù)挖掘技術(shù)上的投入。運(yùn)營(yíng)商、企業(yè)即可以創(chuàng)建自己內(nèi)部的數(shù)據(jù)挖掘私有云,為內(nèi)部產(chǎn)品提供數(shù)據(jù)挖掘服務(wù),也可以提供數(shù)據(jù)挖掘公用云,為不同的企業(yè)提供數(shù)據(jù)挖掘服務(wù)。
參考文獻(xiàn)
[1] 云時(shí)代企業(yè)數(shù)據(jù)挖掘面臨的挑戰(zhàn)(1)[EB/OL].http://cloud.watchstor.com/storage-134538_1.htm
[2] 陳康,鄭緯民. 云計(jì)算:系統(tǒng)實(shí)例與研究現(xiàn)狀[J].軟件學(xué)報(bào),2009,20(5):1337-1348.
[3] 紀(jì)俊.一種基于云計(jì)算的數(shù)據(jù)挖掘平臺(tái)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[D].青島:青島大學(xué),2009.
[4] J Han, M Kamber. Data mining concepts and techniques[M].Third Edition.San Francisco,CA,USA:Morgan Kaufmann Publishers,2012.
[5] 邵峰晶,于忠清.數(shù)據(jù)挖掘原理與算法[M].北京:科學(xué)出版社,2009.
[6] 商琳,駱斌.一種基于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)挖掘系統(tǒng)的結(jié)構(gòu)框架[J].計(jì)算機(jī)應(yīng)用研究,2000,17(9):63-65.
[7] 楊艦友, 唐彥. 云計(jì)算總體架構(gòu)及其應(yīng)用與商業(yè)模式探討[J]. 數(shù)字通信,2012,(3):3-6.
[8] 何清. 基于云計(jì)算的海量數(shù)據(jù)挖掘[C/OL]//第二屆中國(guó)云計(jì)算大會(huì),2010 年5 月21-22 日,北京.http://blog.sina.com.cn/s/blog_66248a9e0100z38d.html
[9] 楊勇,董振江,陸平. 具備云計(jì)算特性的業(yè)務(wù)交付平臺(tái)及其關(guān)鍵技術(shù)研究[J]. 中興通訊技術(shù),2011,17(5):55-57.
[10] 吳朱華.云計(jì)算核心技術(shù)剖析[M].北京:人民郵電出版社,2011.
[11] 劉鵬.云計(jì)算[M]. 北京:電子工業(yè)出版社,2011.
[12] 夏英, 楊選倫. 云環(huán)境中基于金字塔模型的影像數(shù)據(jù)存儲(chǔ)方法[J]. 重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,24(6):669-674.
[13] 余永紅,向曉軍,高陽(yáng)等. 面向服務(wù)的云數(shù)據(jù)挖掘引擎的研究[J]. 計(jì)算機(jī)科學(xué)與探索,2012,6(1),46-57.
[14]李智龍宿紹瑩唐鵬飛陳曾平. 基于數(shù)字信道化的正弦信號(hào)快速測(cè)頻方法[J]. 雷達(dá)科學(xué)與技術(shù), 2011,9(5):55-58.