龔 靜,劉現(xiàn)芳
(湖南環(huán)境生物職業(yè)技術(shù)學院,湖南 衡陽 421005)
云計算背景下,信息技術(shù)獲取的數(shù)據(jù)信息呈現(xiàn)出海量爆發(fā)狀態(tài),人們所生產(chǎn)和運用的數(shù)據(jù)增多,類型也越來越復(fù)雜,采用數(shù)據(jù)挖掘技術(shù)從海量數(shù)據(jù)信息中挖掘出有價值的數(shù)據(jù),成為人們在數(shù)據(jù)方面的研究熱點。聚類分析是大數(shù)據(jù)挖掘技術(shù)中的重要組成內(nèi)容,將各類相同特征的數(shù)據(jù)進行分類,是大數(shù)據(jù)挖掘算法中的核心內(nèi)容之一。但是,在傳統(tǒng)的聚類分析中,模糊均值算法和K 均值算法都需要采用多次數(shù)據(jù)迭代的方式進行數(shù)據(jù)挖掘,該種數(shù)據(jù)運行方式不僅使數(shù)據(jù)挖掘效率受到限制,數(shù)據(jù)挖掘的質(zhì)量也因此受到負面影響。云計算背景下,人們設(shè)計出群智能算法,并以該算法為前提展開數(shù)據(jù)聚類挖掘。當今時代,網(wǎng)絡(luò)數(shù)據(jù)龐大,人們需要有選擇的處理數(shù)據(jù)信息,云計算的方式可以將多項數(shù)據(jù)協(xié)調(diào)在一起,打破用戶在空間和時間方面的數(shù)據(jù)應(yīng)用限制,獲取無限數(shù)據(jù)資源,使用的大數(shù)據(jù)挖掘技術(shù)也更加靈活。
作為信息挖掘的一項主要研究方向,聚類分析日益受到人們的關(guān)注。聚類的輸入通常是一個沒有分類標識的數(shù)據(jù),人們事先可能知道這種數(shù)據(jù)聚成幾個簇,也可能不知道聚成幾個簇。通過分析這種數(shù)據(jù),可以按照相應(yīng)的聚類規(guī)則,合理分配記錄集,從而使相同的記錄被分配到一個簇中,不同的數(shù)據(jù)分配到不同的簇中[1]。
聚類分析算法問題一直是研究人類活動的一項非常重要的內(nèi)容。人們早在遠古時代就形成了對事物做出分類識別的思想,“物以類聚,人以群分”就是對這一思想的形象表述。一個人早在孩童時代,就利用不斷完善潛意識中的分類模型,來學習辨別不同的物種。隨著人們對自然界和社會認識地不斷深入,要處理的數(shù)據(jù)也出現(xiàn)了如下發(fā)展趨勢:人類規(guī)模愈來愈大,彼此關(guān)聯(lián)愈來愈復(fù)雜,分類也愈來愈精細,對提出的問題需求也愈來愈高[2]。這時單純依靠定性分析法,是無法滿足要求的。為克服這種困難,人類首先引進了數(shù)理教育這種得力的教學工具,并在此基礎(chǔ)上進一步發(fā)展產(chǎn)生了數(shù)據(jù)分類學(Numerical Taxonomy),對分類對象進行定性的研究。而經(jīng)過定性的研究后,在分類的過程中不再只是憑借經(jīng)驗和知識,還得借助于對數(shù)據(jù)本身的分析方法對數(shù)據(jù)對象加以分類。數(shù)據(jù)分類方法不但能夠運用于分類領(lǐng)域,還能夠用于聚類領(lǐng)域,也因此產(chǎn)生了基于數(shù)值分析的聚類分析[3]。
電腦的廣泛應(yīng)用已深入到人們生活的方方面面,存儲商業(yè)貿(mào)易記錄、管理企業(yè)工作、監(jiān)視生產(chǎn)操作、提供娛樂工具和消息交換等。由于互聯(lián)網(wǎng)的出現(xiàn),人們也步入網(wǎng)絡(luò)信息社區(qū),大量的數(shù)據(jù)信息被存儲下來,但如果人們對數(shù)據(jù)信息聚類處理的方法還是通過人工,則無法實現(xiàn)。這也導(dǎo)致利用計算機進行數(shù)據(jù)信息聚類分析的新技術(shù)的誕生與發(fā)展。
聚類分析算法盡管已被應(yīng)用在很多領(lǐng)域中,但是都存在著這樣或是那樣的缺點。這種不足總體來說主要有如下4 個方面。
一是對初始化參數(shù)敏感,最后結(jié)論往往強烈地取決于初始化工作參量。在這種算法的初始化輸入中,不僅要求聚類的數(shù)據(jù),還需要為用戶輸入一些相應(yīng)的工作參數(shù),而這種參量所確定的高低也影響著聚類結(jié)論的高低。對于普通用戶來講,參數(shù)的選取具有一定的難度[4]。
二是難以得到最佳聚類。一組含有n 個數(shù)據(jù)群的數(shù)據(jù)集合,如果假設(shè)將其聚成k 個群,就具有k"種可能,但目前還缺乏一項能從k" 種聚類中找到最佳聚類的計算。因為現(xiàn)在的計算通常是利用某個引導(dǎo)算子,完成某種在全部空間上的不完整查找,而且利用這種引導(dǎo)算子常常會陷入局部最優(yōu)解。
三是聚類的效率問題。為了用好無導(dǎo)師學習方法,如果并不了解大數(shù)據(jù)分析或集中信息的分布狀況,就會產(chǎn)生聚類分析法結(jié)論的有效性問題,即在所得出的聚類分析法結(jié)論中類別的數(shù)量是不是合理?在眾多的聚類算法中哪一種得出的結(jié)論更合理?又或者在一個聚類算法中,哪個參數(shù)所得出的聚類分析法結(jié)論更合理?這都是無從判斷的[5]。
四是對噪聲信息的高敏感性?,F(xiàn)在許多聚類算法都對噪聲數(shù)據(jù)非常靈敏,而噪聲數(shù)據(jù)的出現(xiàn)也影響著這種計算的應(yīng)用范圍。
模糊C-均值聚類算法所遵從的算法思想為硬聚類思想,數(shù)據(jù)集利用來表示,而表示第j 個數(shù)據(jù)樣本的s 個特征向量,x 表示第j 個數(shù)據(jù)樣本在維度k上的特征值。將數(shù)據(jù)集X 進行分組,形成C 個子集,可利用Y={X1,X2,…,Xc},C∈[2,n]。如果Y 符合式(1)的要求,那么,Y 可以被視為硬C 分組。
假設(shè)樣本xj屬于子集xi的隸屬度為uij,那么可以用隸屬矩陣U=[uij]C×n來表示硬C 分組,其中uij?{0,1}。因此,數(shù)據(jù)集X 的硬C 分組可以用公式(2)來表示。
因此,模糊C 分組可以用式(3)來表示。
對于數(shù)據(jù)集X={x1,x2,…,xk,…,xn}?Rs來說,n是數(shù)據(jù)集X 中元素的數(shù)量,s 是樣本x 中屬性值的個數(shù)。c 個聚類中心組成1 個矩陣V=[v1v2… vi… vc]s×c,其中vi={vi1,vi2,…,vis}為第i 個聚類中心的元素,c 為聚類的類別數(shù),則模數(shù)C-均值聚類算法的目標函數(shù)公式為
混合蛙跳算法針對蛙在巖石上覓食時的種群分布變化所給出的計算。算法于2003 年提出,時間雖然不短,但相關(guān)的論文不多,仍有較大的研究和改進空間。
混合蛙跳算法中,每一只青蛙的定位都代表著一種可能解。如果青蛙們所在的水池上有數(shù)塊石頭,在一代,青蛙們都將被分配在石頭上。在這一代中,只有石頭上位置比較糟糕的青蛙能跳躍。這些青蛙首先是向著在同一個石頭上的最優(yōu)預(yù)測方位的青蛙方向跳躍,若新的方位仍比原方位差則向其全局最優(yōu)方位跳躍,若新的仍比原方位差則在解空間里隨機跳躍一次[6]??梢钥闯雒恐惶鴦忧嗤茉诿看兄辽偬鴦? 次,至多跳動3 次,但由于每次跳動的青蛙數(shù)量等于石塊數(shù),故當石塊數(shù)、青蛙數(shù)/3時,每代總跳動次數(shù)小于青蛙總數(shù)。
如上所述,模糊C-均值聚類計算可以通過將目標函數(shù)進一步優(yōu)化到最小的方式來解決。不過,這種方式容易使最后解落入局部極小值點附近,且收斂速度慢。身為一個群體智能算法,混和蛙跳具備著較強的全局搜索特征。為此,將混合蛙跳算法與模糊的C-均值聚類算法加以組合,來改善聚集效率并進一步優(yōu)化精度[7]?;旌贤芴哪:鼵-均值聚類計算過程包括以下5 個步驟。
步驟1:初始化。初始化青蛙類型的總量N,聚類中心個數(shù)c,并建立隨機的歸屬度原始矩陣,進行初步的系統(tǒng)聚類分析,統(tǒng)計各種類型的聚類中心,以用作初始混合蛙跳算法中的青蛙映射代碼。
步驟2:行為選擇。方法中模擬了青蛙群體在行為時所獲得的每只青蛙的適應(yīng)力指數(shù)值,并對青蛙按降序進行了排名和分類。
步驟3:從每個子群中開始局部搜尋并更換子種群中的最差個體,直至獲得局部搜尋的最高迭代數(shù)量[8]。
步驟4:將子群體混合,并及時更新種群的最優(yōu)值。
步驟5:反復(fù)步驟2~步驟4,直至得到最大值給定迭代頻率,此時的全局最優(yōu)解便是初始聚類中心。使用模糊C-均值聚類方法,可以得到結(jié)果的聚類矩陣分組。最后利用最大隸屬度法則,在對手護具集中已有的數(shù)據(jù)加以屬類型標記[9]。
融合算法流程見圖1。
圖1 融合算法流程
前文闡述了群體智能算法的融合思路,為了判斷融合算法是否有效,和傳統(tǒng)大數(shù)據(jù)聚類挖掘算法相比是否更先進,此次選取典型Iris 數(shù)據(jù)集以及另外3 組人工數(shù)據(jù)集合展開仿真實驗,實驗過程中將4 組實驗數(shù)據(jù)分別代入到傳統(tǒng)模糊C-均值聚類算法、POS-FCM 算法、混合蛙跳算法以及此次所形成的融合算法當中。4 組實驗數(shù)據(jù)見表1。
表1 4 組實驗數(shù)據(jù)
根據(jù)表1 中的數(shù)據(jù)可以了解到,仿真實驗中數(shù)據(jù)最大迭代次數(shù)在人工數(shù)據(jù)集2 中,迭代次數(shù)為500 次。將4 組數(shù)據(jù)在4 種算法中均執(zhí)行40 次,并且計算每個經(jīng)過迭代的數(shù)據(jù)指標平均值,此時4 組數(shù)據(jù)集在不同算法中的實驗結(jié)果如表2 到表5 所示。此時可以借助分類正確率的相關(guān)計算公式來判斷此次聚類結(jié)果的有效性情況。計算分類正確率的公式為
表2 模糊C-均值聚類算法實驗結(jié)果
表3 混合蛙跳算法實驗結(jié)果
表4 PSO-FCM 算法實驗結(jié)果
表5 融合算法實驗結(jié)果
從表2 到表5 中的數(shù)據(jù)可以了解到,因為算法中對于數(shù)據(jù)集的初始數(shù)值具有較高的敏感度,因此,模糊C-均值聚類算法所呈現(xiàn)出的聚類效果是4 種算法中最差的。而在混合蛙跳算法中的結(jié)果可以了解到,該算法具有較好的數(shù)據(jù)收斂速度以及魯棒性,該種特性克服了部分數(shù)據(jù)的極值問題,但是在對大數(shù)據(jù)進行聚類劃分時,劃分精確度明顯低于其他算法。從PSO-FCM 算法實驗結(jié)果來看,該算法結(jié)合了模糊C-均值聚類算法以及粒子群優(yōu)化算法兩種算法,呈現(xiàn)出群智優(yōu)化算法的特征,具備局部數(shù)據(jù)搜索能力,讓聚類效果增強,以此來提升算法的準確性[10]。從本文提出的融合算法思路仿真實驗結(jié)果來看,借助混合蛙跳算法對模糊C-均值聚類算法進行調(diào)整,優(yōu)化聚類中心值,使算法在獲取數(shù)據(jù)時,選擇更加適合的函數(shù),不僅具備全局搜索數(shù)據(jù)的能力,且大幅度提升搜索精準度,呈現(xiàn)出的聚類效果更好。
綜上所述,本文所提出的融合算法思路更具備群體智能算法的特征,且該種大數(shù)據(jù)挖掘算法綜合了混合蛙跳算法以及模糊C-均值聚類算法的優(yōu)點,能夠?qū)λ惴ㄖ械臄?shù)據(jù)進行參數(shù)調(diào)整,使算法具備全局數(shù)據(jù)搜索能力。此次研究結(jié)果表明,和其他算法相比,融合算法下的數(shù)據(jù)聚類挖掘有效解決了數(shù)據(jù)迭代過程中的局部陷阱問題,呈現(xiàn)出的聚類效果更好,數(shù)據(jù)挖掘的準確度提升。