蔣澤艷
摘要 現(xiàn)階段,云計(jì)算在以其自身的諸多特點(diǎn),在各個(gè)領(lǐng)域中獲得廣泛應(yīng)用。基于此點(diǎn),文章首先對(duì)云計(jì)算進(jìn)行概括性介紹,在此基礎(chǔ)上,對(duì)基于云計(jì)算的大數(shù)據(jù)處理及關(guān)鍵技術(shù)進(jìn)行論述。期望通過本文的研究能夠?qū)Υ髷?shù)據(jù)處理效率的提升有所幫助。
【關(guān)鍵詞】云計(jì)算 大數(shù)據(jù) 聚類算法
1 云計(jì)算概述
最早提出云計(jì)算這一概念的是谷歌公司的首席執(zhí)行官,它是一種全新的計(jì)算模式,可為用戶提供付費(fèi)服務(wù)。云計(jì)算的典型服務(wù)方式有三種,軟件即服務(wù)(SaaS)、平臺(tái)即服務(wù)(PaaS)以及基礎(chǔ)架構(gòu)即服務(wù)(lssS),這三種服務(wù)方式也可以說是云計(jì)算所具備的主要功能,在諸多領(lǐng)域中得到了應(yīng)用實(shí)施?,F(xiàn)階段,云計(jì)算已經(jīng)逐步成為大數(shù)據(jù)服務(wù)的基礎(chǔ)平臺(tái),其所提供的資源層次性如圖1所示。
用戶可對(duì)較高層次的云服務(wù)進(jìn)行直接調(diào)用,也可對(duì)封裝在較低層次中的服務(wù)資源進(jìn)行調(diào)用,據(jù)此構(gòu)建定制云服務(wù)。如,用戶可從軟件即服務(wù)(SaaS)的提供商處,對(duì)已有的云服務(wù)進(jìn)行調(diào)用,或是使用平臺(tái)即服務(wù)(PaaS)對(duì)應(yīng)用進(jìn)行開發(fā)。云計(jì)算是以云平臺(tái)作為依托,按照用戶所需的計(jì)算資源為他們提供相應(yīng)的服務(wù),美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)依據(jù)部署模式,對(duì)云計(jì)算平臺(tái)進(jìn)行具體分類,即公有云、私有云和混合云。不同類型的云計(jì)算平臺(tái)有著自己的特點(diǎn),如公有云的提供商,可借助互聯(lián)網(wǎng)為用戶提供云服務(wù),而用戶在對(duì)公有云中的資源進(jìn)行使用時(shí),則需要支付一定的費(fèi)用;私有云是一種特定的云計(jì)算解決方案,針對(duì)的群體為一些特定的企業(yè)或是用戶,以定制的方式為他們提供云計(jì)算服務(wù)。通常情況下,用戶可以自行搭建私有云;混合云實(shí)質(zhì)上就是公有云和私有云的一種延伸,它的存在主要是為了滿足企業(yè)的某些業(yè)務(wù)需求。
2 基于云計(jì)算的大數(shù)據(jù)處理及關(guān)鍵技術(shù)
在基于云計(jì)算的大數(shù)據(jù)處理中,數(shù)據(jù)挖掘是關(guān)鍵技術(shù)之一,下面本文著重對(duì)數(shù)據(jù)挖掘中的密度峰值聚類算法(以下簡稱該算法)進(jìn)行分析。
2.1 算法的特點(diǎn)
與傳統(tǒng)的聚類算法相比,該算法具有如下特點(diǎn):交互性、無迭代性、無依賴性。
2.1.1 交互性
這是該算法最為顯著的特點(diǎn)之一,與常用的K-Means聚類算法有所不同,該算法在執(zhí)行前,需要用戶對(duì)聚類的個(gè)數(shù)k進(jìn)行指定,當(dāng)計(jì)算出各個(gè)點(diǎn)的p與6值后,用戶可按照這兩個(gè)值對(duì)聚類的個(gè)數(shù)進(jìn)行確定。
2.1.2 無迭代性
該算法與K-Means算法相比,其一般只需要對(duì)數(shù)據(jù)集進(jìn)行三次遍歷,就能完成聚類分析,這三次遍歷分別為密度值計(jì)算、斥群值計(jì)算和聚類分組,無需進(jìn)行多次迭代。
2.1.3 無依賴性
該算法是以密度作為聚類的主要依據(jù),對(duì)聚類形狀無任何要求,當(dāng)發(fā)現(xiàn)能力較強(qiáng)的簇時(shí),無論其形狀如何,均可在多種環(huán)境的聚類中適用。該算法能夠發(fā)現(xiàn)圖2中兩種形狀的聚類。
2.2 密度峰值聚類算法
該算法是一種新型的聚類算法,其具有較為新穎的思想,它在進(jìn)行計(jì)算的過程中,所依據(jù)的是以下幾種假設(shè):第一種假設(shè)是聚類的密度中心點(diǎn)的密度比附近點(diǎn)的密度高;第二種假設(shè)是該中心點(diǎn)與數(shù)據(jù)中密度超過它的點(diǎn)之間有著較遠(yuǎn)的距離。在該算法中,所有點(diǎn)均具有兩個(gè)屬性,一個(gè)屬性是密度值ρ,另一個(gè)屬性是斥群值δ。ρ越大則表明該點(diǎn)越有可能是聚類的密度中心,而δ越大,則表明該點(diǎn)可能代表一個(gè)新的聚類。對(duì)于分布在空間中的數(shù)據(jù)而言,一個(gè)簇與另一個(gè)簇之間一般都是通過低密度區(qū)來區(qū)分的,也就是說,δ越大,該點(diǎn)越有可能成為新的聚類。在待聚類的數(shù)據(jù)集中,局部密度ρ.的計(jì)算公式如下:
式(1)中的參數(shù)dc>0時(shí),為截?cái)嗑嚯x,這是一個(gè)可由用戶進(jìn)行自定義的距離臨界值,根據(jù)專家學(xué)者的研究,給出了該參數(shù)較為合適的經(jīng)驗(yàn)值,舉個(gè)例子對(duì)其進(jìn)行具體說明:假設(shè)一個(gè)數(shù)據(jù)集中共有100個(gè)點(diǎn),這些點(diǎn)有3950中組合方式,對(duì)它們的組合距離進(jìn)行排序,然后在50-100這一區(qū)間內(nèi),選取出組合距離為de值,由式(l)可知,局部密度ρ1代表了數(shù)
依據(jù)數(shù)據(jù)集當(dāng)中的ρ和δ能夠繪制出一個(gè)2D決策圖,ρ為橫軸坐標(biāo),δ為縱軸坐標(biāo)。在該決策圖中,分布著數(shù)量眾多的決策點(diǎn),按照點(diǎn)的具體分布情況,ρ和δ都比較大的點(diǎn)通常會(huì)分布在圖的右上角,可將這些但作為聚類的中心點(diǎn)。之所以這樣做的主要原因是,聚類中心點(diǎn)的密度都比較大,其依附點(diǎn)通常分布在其它的聚類當(dāng)中。正因如此,使得聚類中心點(diǎn)的δ較大,會(huì)分布在圖的上半部分,結(jié)合以上這兩個(gè)方面的因素,可以從決策圖中選取右上角的點(diǎn),作為聚類中心點(diǎn)。隨后再按照數(shù)據(jù)集當(dāng)中,各個(gè)點(diǎn)之間δ的依附關(guān)系,便可以將每個(gè)點(diǎn)發(fā)送到其所依附點(diǎn)的聚類中,在此基礎(chǔ)上,可推出數(shù)據(jù)集中任意一點(diǎn)所屬的聚類。
通常情況下,大部分?jǐn)?shù)據(jù)集當(dāng)中,往往會(huì)存在一些并不屬于任何聚類的點(diǎn),這些點(diǎn)被稱之為離群點(diǎn),它們主要分布在決策圖的左上角位置,這些點(diǎn)周圍的點(diǎn)數(shù)量非常少,有的點(diǎn)周圍甚至并不存在任何的數(shù)據(jù)點(diǎn),其密度值p較小。同時(shí)離群點(diǎn)與聚類點(diǎn)之間的距離較大,其斥群值也比較大,基于上述兩個(gè)原因,可以選取決策圖中右上角的點(diǎn)作為離群點(diǎn)。
在上文中,對(duì)該算法的特點(diǎn)進(jìn)行了簡要介紹,雖然其優(yōu)點(diǎn)較為明顯,但在實(shí)際應(yīng)用中發(fā)現(xiàn),其也存在一定的不足,主要體現(xiàn)在,該算法的實(shí)現(xiàn)必須對(duì)數(shù)據(jù)集中每個(gè)點(diǎn)的ρ和δ進(jìn)行計(jì)算,在進(jìn)行具體計(jì)算的過程中,需要對(duì)數(shù)據(jù)集中任意兩點(diǎn)之間的歐式距離進(jìn)行測(cè)量。當(dāng)需要對(duì)維度較高度的大數(shù)據(jù)進(jìn)行處理時(shí),該算法的實(shí)現(xiàn)需要完成大量歐式距離計(jì)算,隨著計(jì)算量的增大,在單機(jī)環(huán)境下,可能無法正常運(yùn)行,由此對(duì)算法的性能和使用效果造成了一定程度的影響。此外,該算法是基于單機(jī)的運(yùn)行環(huán)境進(jìn)行設(shè)計(jì)的,也就是說,該算法無法對(duì)分布式數(shù)據(jù)進(jìn)行有效地處理,為了解決這一問題,可對(duì)該算法進(jìn)行分布式擴(kuò)展。
2.3 分布式擴(kuò)展聚類算法的實(shí)現(xiàn)
分布式計(jì)算是一種實(shí)用性較強(qiáng)的計(jì)算方式,具體是指多個(gè)處理及存儲(chǔ)的軟硬件系統(tǒng),多個(gè)程序或并發(fā)進(jìn)程在集中控制的方式,對(duì)任務(wù)進(jìn)行處理。在分布式計(jì)算的過程中,完整的程序被分割成若干個(gè)部分,并在同一個(gè)網(wǎng)絡(luò)環(huán)境下,對(duì)程序進(jìn)行加以執(zhí)行。這種計(jì)算方式歸屬于并行計(jì)算的范疇,它所強(qiáng)調(diào)的是異構(gòu)性,簡而言之,就是具有不同延時(shí)的計(jì)算機(jī)網(wǎng)絡(luò)。Hadoop是分布式計(jì)算框架,其能為應(yīng)用程序提供較為穩(wěn)定的接口。近年來,隨著云計(jì)算的快速發(fā)展和廣泛應(yīng)用,使得該框架的使用人群逐步增多。分布式文件系統(tǒng)HDFS和MapReduce分布式編程模型是該框架的核心。為對(duì)海量數(shù)據(jù)進(jìn)行高效處理,程序設(shè)計(jì)人員采用很多專用的算法,下面本文基于Map Reduce模型設(shè)計(jì)分布式密度峰值聚類算法,并在開源框架Hadoop上實(shí)現(xiàn)該算法,具體的實(shí)現(xiàn)過程如下:
2.3.1 數(shù)據(jù)預(yù)處理
由上文分析可知,數(shù)據(jù)集中的參數(shù)dc>0為截?cái)嗑嚯x,式(1)給出了密度值的計(jì)算公式,基于以上前提條件,在對(duì)數(shù)據(jù)進(jìn)行預(yù)處理的過程中,應(yīng)當(dāng)先對(duì)參數(shù)de的大小進(jìn)行確定。可對(duì)樣本中各個(gè)點(diǎn)之間的距離進(jìn)行分別計(jì)算,并將距離值按照從小到大的順序進(jìn)行排列,隨后從中選取出1.5%的位置處作為參數(shù)de值。
2.3.2 對(duì)密度值ρ進(jìn)行計(jì)算
基于分布式擴(kuò)展的聚類算法對(duì)數(shù)據(jù)集中每個(gè)點(diǎn)的密度值進(jìn)行計(jì)算時(shí),需要兩個(gè)MapReduce作業(yè)來完成,其中一個(gè)是對(duì)點(diǎn)間的距離進(jìn)行計(jì)算,據(jù)此判斷各點(diǎn)之間距離的關(guān)系是否小于參數(shù)de,因?qū)c(diǎn)間距離的計(jì)算分布于不同的計(jì)算機(jī)上,從而使得各點(diǎn)的參數(shù)de范圍內(nèi)的點(diǎn)也會(huì)分布在不同的計(jì)算機(jī)上,故此,需要借助第二個(gè)作業(yè)對(duì)參數(shù)de范圍內(nèi)的點(diǎn)數(shù)進(jìn)行合并處理,由此獲得最終的密度值。在第一個(gè)個(gè)MapReduce作業(yè)中,歐式空間的距離呈現(xiàn)出對(duì)稱性的特點(diǎn),所以僅需要對(duì)上三角或是下三角進(jìn)行計(jì)算即可,無需重復(fù)計(jì)算。數(shù)據(jù)集中點(diǎn)間組合的實(shí)現(xiàn)方法有以下兩種:第一種是對(duì)兩個(gè)記錄進(jìn)行單獨(dú)組合,在該實(shí)現(xiàn)方法中,每個(gè)數(shù)據(jù)對(duì)象的副本個(gè)數(shù)均為N·1,這是因?yàn)樵擖c(diǎn)必須與其它數(shù)據(jù)對(duì)象進(jìn)行組合,方可計(jì)算出點(diǎn)間的距離。第二種實(shí)現(xiàn)方法是對(duì)兩點(diǎn)間的距離進(jìn)行計(jì)算,并對(duì)距離之間的關(guān)系進(jìn)行判斷。通過對(duì)這兩種實(shí)現(xiàn)方法的副本個(gè)數(shù)進(jìn)行比較后發(fā)現(xiàn),第二種方法的副本數(shù)量更少一些,所以可選擇該方法對(duì)點(diǎn)間距離的數(shù)據(jù)組合進(jìn)行計(jì)算。
2.3.3 對(duì)斥群值δ進(jìn)行計(jì)算
在對(duì)數(shù)據(jù)集中每個(gè)點(diǎn)的斥群值δ進(jìn)行計(jì)算的過程中,因計(jì)算機(jī)密度值時(shí)需要對(duì)點(diǎn)間的距離進(jìn)行計(jì)算,所以,在計(jì)算斥群值δ無需在對(duì)點(diǎn)間距離進(jìn)行計(jì)算。需要注意的是,雖然可以省去這個(gè)計(jì)算環(huán)節(jié),但必須要將密度值的計(jì)算結(jié)果進(jìn)行保存??蓪?shù)據(jù)集的空間開銷設(shè)定為O(N2),并在對(duì)斥群值δ進(jìn)行計(jì)算時(shí),預(yù)先對(duì)該距離矩陣進(jìn)行讀取。通常情況下,當(dāng)數(shù)據(jù)集的規(guī)模較大時(shí),它的距離矩陣也比較大,需要將之存儲(chǔ)在分布式文件系統(tǒng)當(dāng)中,由此勢(shì)必會(huì)造成網(wǎng)絡(luò)輸入與輸出的開銷則高達(dá)。同時(shí),在對(duì)距離矩陣進(jìn)行讀取的過程中,計(jì)算機(jī)的硬盤I/0也需要較大的開銷。業(yè)內(nèi)的一些專家學(xué)者經(jīng)過研究后發(fā)現(xiàn),通過對(duì)距離矩陣進(jìn)行讀取所產(chǎn)生的開銷,要比計(jì)算數(shù)據(jù)集中點(diǎn)間關(guān)系的開銷大很多。而這種情況是有一定的前提條件,當(dāng)數(shù)據(jù)集的維度增加后,差距則會(huì)變得越來越小,這是因?yàn)?,維度的增加,計(jì)算距離的開銷也會(huì)隨之增加,但增長速度也極為緩慢。
2.3.4 軟硬件環(huán)境的搭建
本文所提出的算法需要通過搭建軟硬件環(huán)境來實(shí)現(xiàn)。借助云計(jì)算開發(fā)環(huán)境中的hadoop,這是一個(gè)開源分布式框架,并采用分布式編程模型MapReduce。在搭建前,需要先行安裝Linux系統(tǒng)準(zhǔn)備好計(jì)算機(jī)集群,分別在每臺(tái)虛擬機(jī)上加裝vim和ssh。隨后對(duì)主機(jī)名及網(wǎng)絡(luò)配置進(jìn)行修改,主要包括子網(wǎng)掩碼和DNS服務(wù)器;對(duì)每臺(tái)計(jì)算機(jī)上的etc/hosts/文件進(jìn)行修改,經(jīng)過修改之后,配置ssh,由此便可實(shí)現(xiàn)無需密碼登錄。為對(duì)本文提出的分布式密度峰值聚類算法的有效性進(jìn)行驗(yàn)證,可通過大規(guī)模高維數(shù)據(jù)性能測(cè)試,由測(cè)試結(jié)果可知,該算法所產(chǎn)生出來的數(shù)據(jù)點(diǎn)副本個(gè)數(shù)具有增長緩慢的特點(diǎn),副本的數(shù)量會(huì)逐漸變少,由此使得數(shù)據(jù)點(diǎn)之間距離計(jì)算次數(shù)隨之減少,大幅度縮短了程序的執(zhí)行時(shí)間??梢?,該算法具有一定的推廣應(yīng)用價(jià)值。
3 結(jié)論
綜上所述,云計(jì)算為大數(shù)據(jù)處理提供了一個(gè)有效的平臺(tái),在基于云計(jì)算進(jìn)行大數(shù)據(jù)處理時(shí),需要運(yùn)用的關(guān)鍵技術(shù)為數(shù)據(jù)挖掘。本文重點(diǎn)對(duì)數(shù)據(jù)挖掘技術(shù)中的密度峰值聚類算法進(jìn)行分析,論述了該算法的實(shí)現(xiàn)過程。在未來一段時(shí)期,應(yīng)當(dāng)重點(diǎn)加大對(duì)大數(shù)據(jù)處理相關(guān)技術(shù)的研究力度,除對(duì)現(xiàn)有的技術(shù)進(jìn)行改進(jìn)和完善之外,還應(yīng)開發(fā)一些新的技術(shù),從而更好地為大數(shù)據(jù)處理服務(wù)。
參考文獻(xiàn)
[1]孫海軍.基于云計(jì)算的大數(shù)據(jù)處理技術(shù)[J].信息安全與技術(shù),2014 (11):61-63.
[2]龔旭.基于云計(jì)算的大數(shù)據(jù)處理技術(shù)探討[J].電子技術(shù)與軟件工程,2015 (10):198—198.
[3]李薇.基于云計(jì)算的大數(shù)據(jù)處理技術(shù)探討[J].數(shù)字技術(shù)與應(yīng)用,2017 (08):218-219.
[4]潘樂.基于云計(jì)算的大數(shù)據(jù)處理技術(shù)研究[J].物聯(lián)網(wǎng)技術(shù),201 7,7(06):67-68.
[5]蔡錦勝,基于云計(jì)算的大數(shù)據(jù)分析技術(shù)及應(yīng)用[J],電腦編程技巧與維護(hù),2017 (12):53-55.
[6]邢敏,互聯(lián)網(wǎng)金融風(fēng)險(xiǎn)及防范對(duì)策的探討[J],長春金融高等??茖W(xué)校學(xué)報(bào),2018 (04):57-61.