前言:想要寫出一篇引人入勝的文章?我們特意為您整理了論異構數(shù)據(jù)庫語義聚類范文,希望能給你帶來靈感和參考,敬請閱讀。
定義人工魚個體的狀態(tài)為X=(x1,x2,…,xn),其中xi(i=1,…,n)為第i條人工魚的狀態(tài),即欲尋優(yōu)的變量;人工魚當前所在位置的食物濃度為Yi=f(xi),其中Yi為目標函數(shù);dij=‖Xi-Xj‖表示人工魚個體之間的距離;visual表示人工魚的視野范圍;step表示人工魚移動的步長;try_number表示最大嘗試次數(shù);δ表示擁擠度因子。1)覓食行為設人工魚當前狀態(tài)為Xi,在其視野范圍內(nèi)隨機選擇一個狀態(tài)Xj(dij<‖Xi-Xj‖),如果Yj>Yi,則Xi向Xj前進一步;反之重新選擇狀態(tài)Xj,判斷是否滿足前進條件。試探try_number次后,如果仍然不滿足前進條件,則執(zhí)行隨機行為。2)聚群行為設人工魚當前狀態(tài)為Xi,搜索其視野范圍內(nèi)(dij<vis-ual)的同伴的個數(shù)Nf以及中心位置Xc,若Yc/Nf>δYi,說明同伴中心食物濃度較高而且周圍不太擁擠,則Xi向同伴中心方向前進一步;否則執(zhí)行覓食行為。3)追尾行為設人工魚當前狀態(tài)為Xi,搜索其視野范圍內(nèi)(dij<vis-ual)的同伴中Yj為最大的Xj,若Yj/Nf>δYi,說明同伴Xj的狀態(tài)具有濃度較高的食物而且周圍不太擁擠,則Xi向Xj方向前進一步;否則執(zhí)行覓食行為。4)隨機行為設人工魚當前狀態(tài)為Xi,在其感知范圍內(nèi)隨機選擇一個狀態(tài)Xj進行移動。
由于硬件平臺、操作系統(tǒng)等的不同,來自不同數(shù)據(jù)庫的數(shù)據(jù)對相同屬性的描述存在不一致性。語義聚類就是解決上述問題的一種方法。語義聚類是根據(jù)文字自動識別所表達的語義,然后對不同的信息源的數(shù)據(jù)進行正確的聚類。這是將異構數(shù)據(jù)庫的數(shù)據(jù)整合在一起所要克服的最大的困難之一。在進行聚類之前,首先需要對數(shù)據(jù)庫的屬性信息作預處理,例如文獻[10]針對異構數(shù)據(jù),將預處理階段分為文本數(shù)據(jù)預處理和數(shù)值數(shù)據(jù)預處理。通過刪除與數(shù)據(jù)聚類無關的數(shù)據(jù),并將保留下的數(shù)據(jù)轉化為統(tǒng)一的格式,實現(xiàn)數(shù)據(jù)的清洗。因此本文中的異構數(shù)據(jù)庫語義聚類過程分為預處理和數(shù)據(jù)聚類兩個階段[11]。如圖1所示。通過對異構數(shù)據(jù)庫語義的聚類,可以在異構數(shù)據(jù)庫的整合中提供依據(jù)。預處理階段的任務:首先將關系型數(shù)據(jù)庫中數(shù)據(jù)表各列的屬性信息存放到文件中,使用簡單的語法規(guī)則對其進行規(guī)范化,將規(guī)范化后的屬性信息使用空間向量進行表示。隨后對屬性信息進行矢量化,這使得從異構數(shù)據(jù)庫中提取的屬性信息的正確性和完整性得到了保證,也為隨之的數(shù)據(jù)聚類作了準備。聚類階段是使用人工魚群算法對各個屬性進行語義聚類。
基于魚群算法的語義聚類算法描述
步驟1:語義信息預處理;步驟2:算法初始化。設定人工魚的視野范圍visual,擁擠度因子δ,試探的最大次數(shù)try_number,最大化迭代次數(shù)Number;步驟3:計算各條人工魚當期狀態(tài)下的食物濃度,并登記在公告板上;步驟4:每條人工魚分別進行群居行為和追尾行為,選擇食物濃度高且不擁擠的方向前進,如果優(yōu)于公告板的狀態(tài),則用該狀態(tài)替換原有狀態(tài);步驟5:執(zhí)行步驟3和步驟4,直到滿足終止條件或滿足最大迭代次數(shù);步驟6:對上述步驟得到的聚類結果應用模糊C-均值聚類算法,對結果作進一步的局部優(yōu)化,從而產(chǎn)生精度較高的最終聚類結果。
仿真實驗及分析
首先以一個簡單的例子來說明該算法的可行性。假設現(xiàn)有一個關系數(shù)據(jù)庫中的七個屬性:Oracle數(shù)據(jù)庫學生基本信息表中有四個屬性,SQL Sever數(shù)據(jù)庫圖書借閱信息表中有三個屬性,如表1所示?!⒈?中的屬性信息向量化,降至三維數(shù)據(jù)后進行聚類,結果如圖2所示??梢钥闯鲚斎霐?shù)據(jù)聚集為兩類,其中與用戶相關的信息聚集為一類,與圖書相關的信息聚集為一類。因此基于魚群算法的語義聚類算法可以很好地將輸入的數(shù)據(jù)對象按照語義進行分類。為了驗證算法的有效性,采用聚類準確率對聚類結果進行分析。聚類準確率是指各個聚類中所有被正確聚類的樣本數(shù)的總和與樣本集樣本總數(shù)的比值[12]。聚類準確率越大表明聚類準確度高,聚類效果好,反之聚類效果越差。該實驗所采用的實驗數(shù)據(jù)樣本集是根據(jù)某單位四個信息管理系統(tǒng)所使用的數(shù)據(jù)庫的屬性信息組成,如表2所示。樣本集Ⅰ由70個數(shù)據(jù)對象組成,包含3類4維的數(shù)據(jù)對象,其中3類數(shù)據(jù)對象的數(shù)目分別為:25,22,23;樣本集Ⅱ由113個數(shù)據(jù)對象組成,包含6類16維的數(shù)據(jù)對象,其中6類數(shù)據(jù)對象的數(shù)目分別為:25,20,17,10,22,19;樣本集Ⅲ由199個數(shù)據(jù)對象組成,包含4類7維的數(shù)據(jù)對象,其中4類數(shù)據(jù)對象的數(shù)目分別為:43,58,47,51?!”?是上述三個樣本集的聚類結果以及聚類準確率;表4是該算法與其他算法在樣本集Ⅲ上的比較。這說明算法具有比較好的聚類效果,對于異構數(shù)據(jù)庫語義聚類比較理想。
通過對人工魚群算法的局部搜索和全局搜索能力的研究,將魚群算法應用在異構數(shù)據(jù)庫語義聚類方面。通過模仿魚群的社會行為來對異構數(shù)據(jù)庫相似語義進行合理的聚類。實驗證明該方法達到了較好的聚類結果,在正確率方面取得了較好的結果,具有一定的實用價值。(本文作者:朱新寧、馮輝 單位:東北石油大學計算機與信息技術學院、東北石油大學經(jīng)濟管理學)