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