亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于圖數(shù)據(jù)庫的空間頻繁并置模式挖掘

        2022-04-13 02:40:20胡自松王麗珍VanhaTran周麗華
        計算機(jī)與生活 2022年4期
        關(guān)鍵詞:實例內(nèi)存閾值

        胡自松,王麗珍,Vanha Tran,周麗華

        云南大學(xué) 信息學(xué)院,昆明650504

        當(dāng)前人們正處在一個大數(shù)據(jù)時代,隨著科學(xué)技術(shù)的不斷進(jìn)步以及各種電子設(shè)備的研發(fā),人們所面對的數(shù)據(jù)呈現(xiàn)爆炸式的增長趨勢。這些數(shù)據(jù)不僅包括類別標(biāo)簽信息,還包括空間地理位置信息。例如,移動設(shè)備、帶導(dǎo)航的車輛等所產(chǎn)生的數(shù)據(jù);在流行病學(xué)中,記錄病人(比如新冠肺炎感染者)的信息不僅包括癥狀、發(fā)病時間、就診時間、個人基本信息,還包括家庭住址和工作地點等地理位置信息。

        空間頻繁并置模式(spatial prevalent co-location pattern,SPCP)表示空間特征的子集,其實例在空間鄰域中可以被頻繁地觀察到??臻g頻繁并置模式挖掘的目標(biāo)是發(fā)現(xiàn)在鄰近區(qū)域經(jīng)常一起被觀察到的所有特征子集。圖1 為一個空間實例分布示例,其中的每個實例(數(shù)據(jù)點)通過用它的特征和實例編號表示,例如.1。這些實例可以代表某種類型(特征)的對象在空間中具體的出現(xiàn),比如犯罪事件、酒吧、商店/餐館、植物/動物物種或者興趣點等。度量兩個實例間的鄰近關(guān)系,可以根據(jù)不同的應(yīng)用需求選擇不同的度量方式,如歐氏距離和曼哈頓距離等。滿足鄰近關(guān)系的兩個實例在圖示中用一條實線連接。在圖1 中,一個空間并置模式{,,}的模式實例是{.2,.1,.2}和{.4,.2,.1}(在空間鄰近關(guān)系下形成團(tuán)關(guān)系的實例子集稱為模式實例)。一個空間頻繁并置模式的頻繁度可以使用參與度(participation index)或分?jǐn)?shù)評分(fraction-score)方法來度量。如果一個空間特征集的頻繁度不小于用戶給定的一個最小頻繁度閾值,則這個空間特征集被稱為頻繁并置模式。例如,特征集{,}的頻繁度為0.66,{,}的頻繁度為0.33,當(dāng)給定的頻繁度閾值為0.6 時,{,}為一個頻繁并置模式。

        圖1 一個空間實例分布示例Fig.1 Example of spatial instances distribution

        頻繁并置模式挖掘具有許多的應(yīng)用領(lǐng)域,包括基于位置的服務(wù)、城市規(guī)劃、地理信息系統(tǒng)、公共安全管理、環(huán)境科學(xué)等。例如,從犯罪數(shù)據(jù)集中發(fā)現(xiàn)的頻繁并置模式可以更好地給公共安全管理者提供安保預(yù)防措施;從植物分布數(shù)據(jù)集中發(fā)現(xiàn)的頻繁并置模式有助于植物地理學(xué)和植物生物學(xué)研究;在自然災(zāi)害預(yù)防中,頻繁并置模式可以給應(yīng)急指揮部門對自然突發(fā)災(zāi)害提前做出預(yù)警,這樣就能將可能造成的損失降到最低。

        圖數(shù)據(jù)庫是當(dāng)前比較流行的一種非關(guān)系型數(shù)據(jù)庫,能方便地以圖形的形式表示數(shù)據(jù)和知識,提供了管理高度連接的數(shù)據(jù)和復(fù)雜的數(shù)據(jù)庫查詢以及原生圖形存儲和處理的能力。NoSQL 圖引擎中的屬性圖是帶標(biāo)簽的有向圖,它由通過關(guān)系連接的結(jié)點和以鍵值對形式的一個或一組屬性組成。圖數(shù)據(jù)庫系統(tǒng)已經(jīng)在社交網(wǎng)絡(luò)、知識圖譜、推薦系統(tǒng)和欺詐檢測等領(lǐng)域得到應(yīng)用。在空間并置模式挖掘中,模式的發(fā)現(xiàn)依賴于空間實例(數(shù)據(jù))之間的鄰近關(guān)系,利用關(guān)系型數(shù)據(jù)庫不能很好地存儲實例間的鄰近關(guān)系,而利用圖數(shù)據(jù)庫可以將空間實例和它們之間的鄰近關(guān)系存儲為原生的圖數(shù)據(jù),基于圖的特點能高效地對結(jié)點和邊(鄰近關(guān)系)訪問并且可以使用圖結(jié)構(gòu)的自然伸展特性設(shè)計鄰居結(jié)點遍歷算法(圖的遍歷算法)來收集模式表實例。圖數(shù)據(jù)庫查找數(shù)據(jù)不受數(shù)據(jù)量大小的影響,因為鄰近查詢是對有限的局部數(shù)據(jù)搜索,不會對整個圖數(shù)據(jù)庫進(jìn)行搜索。于是可以用圖數(shù)據(jù)庫來物化空間實例間的鄰近關(guān)系,將頻繁并置模式挖掘問題轉(zhuǎn)化為鄰近關(guān)系圖(neighborhood graph)數(shù)據(jù)庫上的團(tuán)(clique)的查找問題,即利用圖數(shù)據(jù)庫技術(shù)有效地挖掘空間頻繁并置模式。

        現(xiàn)有的頻繁并置模式挖掘算法,如基于Aprior-Like 框架提出的算法、基于分布式框架提出的算法等都具有較好的執(zhí)行表現(xiàn),但仍存在局限。其一,面向海量空間數(shù)據(jù)集時,單機(jī)操作會出現(xiàn)內(nèi)存溢出、執(zhí)行效率不可接受等問題;其二,重啟系統(tǒng)后,需要從計算空間鄰近關(guān)系開始重新執(zhí)行挖掘算法。因為基于內(nèi)存挖掘的算法是將空間鄰近關(guān)系存儲在內(nèi)存中(如存儲為樹型結(jié)構(gòu)),當(dāng)數(shù)據(jù)量較大需要內(nèi)外存交換時,如果設(shè)計的數(shù)據(jù)結(jié)構(gòu)不支持內(nèi)外存交換將出現(xiàn)內(nèi)存溢出問題,當(dāng)設(shè)計的數(shù)據(jù)結(jié)構(gòu)支持內(nèi)外存交換,則會出現(xiàn)運行效率極低,無法滿足應(yīng)用需求的問題。直接將經(jīng)典的挖掘算法移植到圖數(shù)據(jù)庫上不能發(fā)揮圖數(shù)據(jù)庫的優(yōu)勢導(dǎo)致效率不高。此外,對于上述相關(guān)工作所采用的方法需要先收集模式的所有表實例,但計算一個特征的參與實例數(shù)是統(tǒng)計模式特征不重疊的實例個數(shù),保存表實例的方法重復(fù)存儲實例帶來了很大的空間開銷。例如,模式{,}涉及實例.2 的模式實例為{.1,.2}和{.2,.2},實例.2 被重復(fù)存儲了兩次,但是在計算特征的實例參與率時,.2 的參與貢獻(xiàn)實際上為1。為此,提出了基于圖數(shù)據(jù)庫的一種實例參與驗證的方法來挖掘空間頻繁并置模式。

        主要貢獻(xiàn)總結(jié)如下:

        (1)將空間頻繁并置模式挖掘問題轉(zhuǎn)化為基于圖數(shù)據(jù)庫的子圖(團(tuán))查找問題。傳統(tǒng)的并置模式挖掘方法通常是將物化的空間鄰近關(guān)系存儲到內(nèi)存中,然后進(jìn)行挖掘。本文徹底改變傳統(tǒng)的挖掘方法,提出基于圖數(shù)據(jù)庫有效挖掘頻繁并置模式的新方法。

        (2)傳統(tǒng)的方法每次啟動程序都需要重新計算實例的鄰近關(guān)系,提出的方法在第一次啟動程序時將鄰近關(guān)系圖存儲在圖數(shù)據(jù)庫中,同時一些中間計算結(jié)果也存儲在圖數(shù)據(jù)庫中。因此,冷啟動后的執(zhí)行效率得到大大提升。

        (3)利用圖數(shù)據(jù)庫的優(yōu)勢,提出一種基本的子圖(團(tuán))查找算法CliqueSearch 和一種基于參與實例驗證的方法InstanceVerification 統(tǒng)計模式的參與實例。其中,為了減小搜索空間提高挖掘效率,設(shè)計了候選模式的粗過濾方法和表實例的細(xì)過濾方法以及實例的過濾與驗證方法。挖掘算法本質(zhì)上是迭代的過程,即由上一階頻繁模式生成下一階的候選模式,并且生成的所有候選模式都遵循先驗原理。

        (4)為了方便比較,將挖掘頻繁并置模式的經(jīng)典算法Join-based 算法、Join-less 算法和最新提出的Fraction-Score 算法移植到了圖數(shù)據(jù)庫上,分別記為GDBJoinBased、GDBJoinLess和GDBFracScore。

        (5)在真實數(shù)據(jù)集和模擬數(shù)據(jù)集上進(jìn)行了廣泛的實驗評估,結(jié)果證明了提出的挖掘算法的正確性和有效性。

        1 相關(guān)工作

        Koperski和Han討論了基于空間鄰近關(guān)系的空間關(guān)聯(lián)規(guī)則挖掘問題。這項工作挖掘與特定參考特征(例如癌癥的發(fā)病率)相關(guān)聯(lián)的空間特征子集。首先根據(jù)參考的實例計算出事務(wù),然后使用先驗算法求關(guān)聯(lián)規(guī)則。Shekhar 和Huang提出了空間并置模式挖掘問題,并設(shè)計了Join-based 算法挖掘空間頻繁并置模式。為了解決Join-based 連接操作開銷大的問題,Yoo 等人提出了Partial-join 算法和Join-less算法。Partial-join 算法通過團(tuán)劃分模型物化空間鄰近關(guān)系,基于團(tuán)鄰近直接得到表實例,并掃描數(shù)據(jù)集獲得被團(tuán)切斷的頻繁并置模式實例。該方法適合處理大部分空間鄰近關(guān)系都在團(tuán)分區(qū)內(nèi),而很少的空間鄰近關(guān)系在團(tuán)分區(qū)之間的數(shù)據(jù)集。Join-less 方法將空間鄰近關(guān)系物化為星型鄰居列表,然后表實例的生成使用實例查找的方式來代替連接操作。Wang等人提出了星型鄰居存儲結(jié)構(gòu)CPI-tree,基于CPItree 所有表實例能夠快速生成,但是隨著輸入的數(shù)據(jù)量變大,存儲和遞歸搜索CPI-tree將是挑戰(zhàn)性任務(wù)。

        文獻(xiàn)[1,14-16]采用基于MapReduce 的方法挖掘頻繁并置模式,這些方法通過Hadoop 或者Spark 來搭建分布式并行計算平臺,能高效地處理大數(shù)據(jù),但是這些算法需要多個主機(jī)結(jié)點來向上擴(kuò)展,帶來的經(jīng)濟(jì)成本十分昂貴,并且它們的Reducer 結(jié)點存在著聚集同一頻繁并置模式所有實例的瓶頸,時間和空間開銷較大。Sainju 等人提出了一種基于網(wǎng)格的GPU 頻繁并置模式挖掘算法,該算法當(dāng)每個實例的鄰居數(shù)在非常小的常數(shù)范圍內(nèi)或者當(dāng)實例密集且分布不均勻時有較好性能,但是實例分布較為均勻時性能提升較小,且利用網(wǎng)格劃分實例割斷了一些重要的模式。

        另外還有一些工作,Yoo 等人提出了極大頻繁并置模式、閉頻繁并置模式挖掘算法。Bao 等人提出了基于團(tuán)的方法挖掘頻繁并置模式,該方法不用查找模式的表實例,尤其在密集數(shù)據(jù)集上有更好的性能表現(xiàn)。Xiao 等人提出了一種基于密度的方法,該方法定義了密度比來描述鄰近關(guān)系,并使用聚類技術(shù)來尋找頻繁并置模式。Yao 等人提出了一種混合密度加權(quán)距離閾值的頻繁并置模式挖掘算法,該算法考慮了密度加權(quán)和距離衰減效應(yīng),但是沒有考慮實例的空間方位和網(wǎng)絡(luò)效應(yīng)的影響并且確定修正系數(shù)需要花費更多的計算時間。Chan 等人提出了一種新的支持度量方法度量并置模式的頻繁性,稱為Fraction-Score,它考慮了所有可能的行實例,同時避免了實例的重復(fù)計數(shù)的問題,但計算得到的候選模式支持度較小,當(dāng)頻繁度閾值設(shè)置不合理時,發(fā)現(xiàn)的模式數(shù)量少,容易丟失重要信息。文獻(xiàn)[24-26]提出了挖掘局部或區(qū)域空間頻繁并置模式,這些模式的實例通常位于整個空間的子區(qū)域中,這些方法考慮了并置模式的局部頻繁性。文獻(xiàn)[27]探索了負(fù)并置模式的向上包含性質(zhì),提出了極小負(fù)并置模式新概念。文獻(xiàn)[28]利用統(tǒng)計學(xué)的方法估計表征區(qū)域密度的距離截斷參數(shù),省去了用戶預(yù)先設(shè)定距離閾值的過程,有效提高了并置模式挖掘在未知區(qū)域上執(zhí)行的自適應(yīng)性。Liu 等人提出一種基于自然鄰域的空間并置模式挖掘方法,該方法能在空間要素分布不均勻的場景中有效地發(fā)現(xiàn)并置模式。文獻(xiàn)[30]提出主導(dǎo)特征并置模式的概念,揭示了空間特征間的主導(dǎo)關(guān)系,通過這種主導(dǎo)關(guān)系能挖掘更有價值的并置模式。

        與上述空間頻繁并置模式挖掘的研究相比,本文將輸入的空間數(shù)據(jù)一次性物化為鄰近關(guān)系圖(neighborhood graph)存儲在圖數(shù)據(jù)庫中,改變了傳統(tǒng)將鄰近關(guān)系存儲在內(nèi)存中的方法,設(shè)計了簡潔而高效的基于圖數(shù)據(jù)庫的子圖查找算法來挖掘頻繁并置模式,并設(shè)計了有效的剪枝過濾方法。此外,傳統(tǒng)的基于物化鄰近關(guān)系查找表實例的方法(如Join-less算法),都可以通過本文構(gòu)造鄰近關(guān)系圖的方法進(jìn)行有效的移植。

        2 基本概念及問題定義

        2.1 空間頻繁并置模式

        (空間并置模式)空間并置模式是一組空間特征的集合={,,…,f}∈,2 ≤≤。空間并置模式中特征的個數(shù)稱為并置模式的階,記為()=||。例如,({,,})=|{,,}|=3。

        (空間并置模式實例)給定不同空間特征的實例集合={,,…,o}∈和空間并置模式。如果同時滿足以下條件:包含了中所有實例的特征,中任意兩個實例滿足鄰近關(guān)系,則稱為的一個實例??臻g并置模式實例也稱為團(tuán)(Clique)實例或行實例。所有的行實例的集合稱為的表實例,記作_()。的表實例中,特征f∈對應(yīng)不重疊的實例集合稱為的參與實例,記作_()。

        如圖1 所示,={,,} 是一個并置模式,={.1,.1,.2}為的一個行實例,的表實例_()={{.2,.1,.2},{.4,.1,.1}}。_()={{.2,.4},{.1},{.1,.2}}。

        (頻繁并置模式)為了衡量并置模式的頻繁性(有趣程度),在頻繁并置模式挖掘中經(jīng)常使用的度量方式是參與度(participation index,),然而的取值取決于參與率(participation ratio,)。

        給定最小頻繁性閾值_,如果()不小于_,即()≥_,則稱為頻繁并置模式。

        (空間并置模式的反單調(diào)性)參與率和參與度隨著并置模式階的增大而單調(diào)遞減。

        參與率和參與度的反單調(diào)性證明可以參看文獻(xiàn)[5]。

        (空間并置模式實例的反單調(diào)性)并置模式的行實例數(shù)隨著模式階的增大而單調(diào)遞減。

        假設(shè)是空間并置模式的行實例,即滿足鄰近關(guān)系形成團(tuán),對于的任意子集′∈也滿足鄰近關(guān)系形成團(tuán),即的子集一定是子集對應(yīng)的并置模式的行實例,反之不成立。因此并置模式的表實例條數(shù)隨著模式的階增大而單調(diào)遞減。

        2.2 問題定義

        給定:

        (1)空間特征集合={,,…,f}。

        (3)空間鄰近關(guān)系和頻繁性閾值_。

        約束:基于距離度量的鄰近關(guān)系,具有對稱性質(zhì)。

        挖掘結(jié)果:找到滿足頻繁性閾值的所有空間頻繁并置模式。

        目標(biāo):減少鄰近關(guān)系的重復(fù)計算和對內(nèi)存的大量占用,利用較少的時間正確并且完整地找到所有頻繁并置模式。

        3 相關(guān)算法

        本章給出了基于圖數(shù)據(jù)庫的頻繁并置模式挖掘框架及相關(guān)算法,包括鄰近關(guān)系圖的構(gòu)造算法和兩種頻繁并置模式挖掘算法CliqueSearch和InstanceValidation。

        3.1 挖掘框架

        基于圖數(shù)據(jù)庫的挖掘框架如圖2 所示,在第一次程序啟動時,計算鄰近關(guān)系并存儲在圖數(shù)據(jù)庫中,然后基于構(gòu)造好的鄰近關(guān)系圖挖掘頻繁模式。在挖掘過程中,使用索引技術(shù)提高查詢效率,進(jìn)而提高挖掘算法效率。該框架的重點是減少鄰近關(guān)系的重復(fù)計算,通過索引技術(shù)高效地搜索空間并置模式實例并進(jìn)行有效的過濾,從而獲得頻繁并置模式。

        圖2 提出的挖掘框架Fig.2 Proposed mining framework

        3.2 相關(guān)算法

        (鄰近關(guān)系圖(neighborhood graph))鄰近關(guān)系圖=(,),其中中的每個結(jié)點都是中實例,中的每條邊是中特征不同的結(jié)點對,并且=(o,o)為邊的屬性。

        鄰近關(guān)系圖構(gòu)造包括結(jié)點和邊的創(chuàng)建,其中邊創(chuàng)建利用線性掃描的方法,具體步驟如下:

        結(jié)點的創(chuàng)建和插入。首先需要遍歷空間實例集創(chuàng)建結(jié)點v并插入到中。例如,實例<,1,(x,y)>的結(jié)點表示為{:,:1,:(x,y)}。

        構(gòu)造鄰近關(guān)系圖

        考慮圖1 的空間數(shù)據(jù)分布,假設(shè)實例.1 的空間位置是(3,8),實例.1 的空間位置是(4,7),通過方法將這兩個實例分別創(chuàng)建為結(jié)點{,1,<3,8 >}和結(jié)點{,1,(4,7)}并插入到結(jié)點集合中;方法創(chuàng)建結(jié)點之間的邊,計算鄰近距離=(.1,.1),創(chuàng)建.1 和.1 的邊為<<,>,>。如圖3 所示為一個鄰近關(guān)系圖,任意兩個特征不同的結(jié)點之間都存在一條邊。

        圖3 一個鄰近關(guān)系圖Fig.3 Neighborhood relationship graph

        本文挖掘頻繁并置模式的核心思想是按照模式的階,從小到大地進(jìn)行模式頻繁性驗證。假設(shè)特征實例集合是有序的,如按特征名稱+實例編號的字典序升序排列。候選模式的生成是迭代的過程,1 階頻繁模式用特征集進(jìn)行初始化,(>1)階候選模式由其-1 階均為頻繁的模式生成(引理1)。模式表實例就是查找出鄰近關(guān)系圖中跟候選模式相關(guān)的滿足鄰近關(guān)系的所有團(tuán),然后根據(jù)定義4 來計算候選模式的頻繁度。提出了兩種算法計算候選模式的頻繁度,分別是CliqueSearch 和InstanceValidation。

        CliqueSearch 算法包括兩個核心的步驟:查找與候選模式中特征相關(guān)的所有路徑和路徑檢查。在路徑查找步驟中使用索引技術(shù)提高查找效率,同時對查詢到的路徑進(jìn)行過濾。過濾分為粗過濾和細(xì)過濾兩個子步驟。在粗過濾步驟,如果候選模式的粗行實例的頻繁度小于給定的閾值_,該候選模式一定不是頻繁并置模式,將其剪枝;否則進(jìn)入細(xì)過濾步驟,即判斷路徑中任意兩個結(jié)點是否都滿足鄰近關(guān)系(任意兩個結(jié)點之間都存在邊),如果“是”保留該路徑,否則將該路徑剪枝。經(jīng)過細(xì)過濾步驟后留下的路徑一定都是并置模式的行實例。最后計算實際的頻繁度,如果不小于給定的閾值,則該模式為頻繁模式。

        InstanceValidation 算法最大的優(yōu)點是不用收集和存儲候選模式的所有行實例,搜索空間小,中間操作步驟少。其核心思想就是根據(jù)中心實例的鄰居集,判斷該中心實例是否涉及到候選模式的一條行實例中,如果找到這樣的一條行實例,就將該中心實例進(jìn)行參與標(biāo)記,并停止搜索其他涉及到該中心實例的行實例。判斷中心實例是否涉及到模式的某條行實例,包括過濾和驗證兩個步驟。過濾步驟判斷中心實例的鄰居集是否包含了候選模式的所有特征,如果“是”則進(jìn)行驗證步驟,否則該候選模式一定不存在一條行實例涉及此中心實例,剪枝。驗證步驟是搜索一條涉及到中心實例的行實例,即在中心實例的鄰居集中找到一個任意兩個實例都滿足鄰近關(guān)系的團(tuán),如果找到,標(biāo)記中心實例為模式的參與實例。在完成模式中一個特征的所有實例的過濾和驗證步驟后,計算該特征的參與率,如果小于給定閾值_,則停止模式中剩余特征的過濾和驗證操作,并將該候選模式剪枝(根據(jù)定義3,候選模式中任意一個特征的參與率小于給定閾值,那么該候選一定是非頻繁模式)。算法2 和算法3 分別給出了CliqueSearch 和InstanceValidation 算法的偽代碼。

        CliqueSearch

        算法2 解釋如下:

        第3 行生成候選模式。根據(jù)參與度的定義可知,所有一階模式都是頻繁的。生成(>1)階候選模式是通過-1 階頻繁模式集合中任意兩個組合生成,如果組合生成的候選模式的階數(shù)值為,則判斷該模式的所有-1 階子集是否都頻繁,如果“是”保留該候選模式,否則舍棄。

        第5 行根據(jù)候選模式到鄰近關(guān)系圖中查找出所有與候選模式特征相關(guān)的候選路徑。首先需要根據(jù)候選模式構(gòu)造出查詢語句,如圖4(c),存在候選模式{,,},路徑查詢 語句構(gòu)造為“-[:<,>]--[:<,>]-”。查詢圖將返回與模式{,,}相關(guān)的所有滿足鄰近關(guān)系的路徑。第7 行,如果模式為2 階直接計算頻繁度,判斷其是否為頻繁模式。

        第9 行對候選表實例進(jìn)行粗過濾,如果不滿足最小頻繁度閾值,則無需進(jìn)行后續(xù)步驟的計算,將該模式剪枝;否則執(zhí)行第10~12 行,候選路徑細(xì)過濾,即判斷路徑中任意兩個結(jié)點是否滿足鄰近關(guān)系,如果“否”,將該路徑剪枝。路徑細(xì)過濾步驟通過引入哈希表來檢查(>1)階行實例。哈希表中的每個元素是鍵值對結(jié)構(gòu)的對象,鍵為-1 階團(tuán),值為階團(tuán)中第個結(jié)點。在檢查的過程中,首先對候選路徑進(jìn)行哈希轉(zhuǎn)換,鍵為路徑中前-2(>2)個結(jié)點,值為路徑中后兩個結(jié)點,判斷值中的兩個結(jié)點是否都能夠在哈希表中查找到,如果不能找到或只能找到其中一個則將該候選團(tuán)剪枝;如果兩個結(jié)點都能夠在哈希表中查找到,則檢查它們之間邊的距離是否不超過距離閾值,否則將其剪枝。這種檢查過濾方法只需對鄰近關(guān)系圖查詢一次。如圖4(c)檢查模式{,,} 的路徑{.1,.1,.1} 和{.2,.1,.1} 是否構(gòu)成團(tuán),首先進(jìn)行哈希轉(zhuǎn)換,對應(yīng)的鍵值對分別是{:{.1},:{.1,.1}} 和{:{.2},:{.1,.1}},查找2 階哈希表發(fā)現(xiàn)路徑{.2,.1,.1} 的在({.2})中只出現(xiàn).1,將其剪枝;而{.1,.1,.1}的在({.1})中均出現(xiàn),因此檢查.1 和.1的鄰近關(guān)系,通過查詢鄰近關(guān)系圖發(fā)現(xiàn)它們滿足鄰近關(guān)系,故保留為候選團(tuán)。

        脫離臨床工作也是部分護(hù)理學(xué)博士研究生的入學(xué)動機(jī)。目前,在醫(yī)院從事臨床護(hù)理工作的護(hù)士工作負(fù)荷重、職業(yè)風(fēng)險大、社會地位低、醫(yī)護(hù)關(guān)系不平等[9],醫(yī)院對護(hù)士人力資源的分級管理不完善[10],有的醫(yī)院領(lǐng)導(dǎo)認(rèn)為不管護(hù)士是什么學(xué)歷,都應(yīng)從臨床一線做起[11],這使得護(hù)理學(xué)博士研究生擔(dān)心到醫(yī)院工作沒有時間和精力進(jìn)行科研,醫(yī)院沒有合適崗位能使他們兼顧臨床護(hù)理工作和科研工作而埋沒自己的專長,不能運用所學(xué)而對醫(yī)院望而卻步,從而青睞高校教師崗位。

        圖4 基于圖數(shù)據(jù)庫的頻繁并置模式挖掘過程示例Fig.4 Example of prevalent co-location pattern mining process based on graph database

        第15~17 行,如果該并置模式頻繁,則將其所有表實例轉(zhuǎn)化為鍵值對保存到哈希表中,用于下一次的迭代檢查。如{,,}為一個頻繁模式,那么將其表實例轉(zhuǎn)為鍵值對保存到3 階的哈希表中,{{:{.1,.1},:{.1}},{:{.3,.1},:{.1}}}。

        InstanceValidation

        算法3 解釋如下:

        第3 行生成候選模式,方法同算法2 所述。第4~18 行判斷候選模式是否為頻繁模式。其中,第8~10行,判斷特征每個實例是否涉及到候選模式的某個行實例中,如果存在一個行實例包含的實例,那么標(biāo)記該實例為候選模式的一個參與實例。第9 行在實例的參與過濾與驗證的步驟中可以采用空間特征查詢法和枚舉法。在本文中采用枚舉法,因為枚舉法能夠確保完整地驗證所有實例的參與情況并且實現(xiàn)簡便。空間特征查詢法的實現(xiàn)較為復(fù)雜,且空間特征查詢是一個NP 問題,具有較大時間復(fù)雜度。在過濾階段,首先判斷模式的所有特征是否都在以實例為中心的鄰居實例集中出現(xiàn),如果“是”進(jìn)行驗證,否則進(jìn)行下一個實例的過濾驗證操作。如圖4(d)所示,在進(jìn)行候選模式{,,}的參與實例統(tǒng)計時,.1 的鄰居實例集中同時包含了特征和,則進(jìn)入該實例的驗證步驟;同樣的,.2 的鄰居實例集中只包含特征,那么一定不存在{,,}的一個行實例涉及.2,調(diào)過實例驗證階段,直接進(jìn)行.3 的過濾和驗證。在驗證階段,搜索涉及該實例的一個行實例,如果搜索到這樣的一個行實例,將實例標(biāo)記為模式的一個參與實例,結(jié)束本次操作并進(jìn)行下一個實例的過濾驗證操作。如圖4(d)中搜索到.1 涉及的一條行實例{.1,.1,.1},則對.1 進(jìn)行參與標(biāo)記。第11 行,完成模式中一個特征所有實例的過濾和驗證操作后,計算該特征實例的參與率,如果小于給定閾值,則停止中其他特征的過濾和驗證操作,并根據(jù)定義3 將剪枝。()不小于頻繁閾值_,則進(jìn)行特征的參與統(tǒng)計,否則將候選模式{,,}剪枝。采用實例驗證的方法可以看出,在整個模式實例參與數(shù)的統(tǒng)計中沒有行實例的存儲并且不用計算所有的行實例,搜索空間小。

        3.3 計算復(fù)雜度分析

        (1)算法的時間復(fù)雜度分析。假設(shè)空間數(shù)據(jù)集有個實例,對應(yīng)的空間特征集有個空間特征,每個特征f∈,1 ≤≤對應(yīng)的實例最多有個,階頻繁并置模式最多有個,為實例o∈,1 ≤≤的特征,候選模式的候選實例個數(shù)最大為。中心實例o的鄰居實例中每個特征的實例數(shù)最大為,其中?。

        表實例的收集通過候選模式查詢鄰近關(guān)系圖數(shù)據(jù)庫,每個候選模式粗表實例的收集需要的最大時間復(fù)雜度為(s),每個模式查詢得到的粗行實例個數(shù)為,第一次過濾需要的時間為()。

        對于算法2,引入哈希表來檢查階模式實例。檢查一個階候選團(tuán)所需要的查詢次數(shù)為一次哈希表和一次鄰近關(guān)系圖查詢,總共需要兩次查詢,檢查完一個模式的所有實例需要的操作次數(shù)為2×。頻繁度的計算需要的執(zhí)行次數(shù)為×+,其中特征實例的參與統(tǒng)計操作次數(shù)為×,完成模式中每個特征的參與率計算需要的操作次數(shù)為。有個階候選模式完成頻繁度計算,算法2 需要的最大執(zhí)行次數(shù)是×[2+(×+)]。

        對于算法3 在過濾步驟,完成對一個中心實例鄰居的過濾需要的最大執(zhí)行次數(shù)是(-1)×;在驗證步驟,判斷是否存在一條行實例包含中心實例,需要的最大搜索次數(shù)為l。完成一個候選模式的參與實例統(tǒng)計需要的最大執(zhí)行次數(shù)為×[(-1)×+l] 。完成第階頻繁模式選擇需要的最大執(zhí)行次數(shù)為××[(-1)×+l]。

        算法2 和算法3 經(jīng)過次迭代的最大執(zhí)行次數(shù)分別為××[2×+(×+)+s]和×××[(-1)×+l],因此最大時間復(fù)雜度分別為(××s) 和(×××l)且(××s)>(×××l)。

        (2)算法的空間復(fù)雜度分析。算法1 構(gòu)造的鄰居圖的空間復(fù)雜度為(||)≤()。每次迭代生成階候選模式數(shù)量為=|C|,該步驟的空間復(fù)雜度為()。算法2 每個候選模式的最大行實例數(shù)為,每次迭代的哈希表最大空間占用為,因此算法2 的空間復(fù)雜度為(2×)。算法3 無表實例生成,每次保存的是每個特征的參與實例數(shù),空間復(fù)雜度為(1)。

        3.4 完整性和正確性分析

        所提出的算法能完整和正確地發(fā)現(xiàn)空間頻繁并置模式。

        (1)完整性。完整性意味著算法能夠發(fā)現(xiàn)所有的空間并置模式。下面分別證明算法1~算法3 的完整性。對于算法1,構(gòu)造鄰近關(guān)系圖第一次線性掃描完成后,所有實例被構(gòu)造為圖的結(jié)點,沒有實例丟失。構(gòu)造出來的鄰近關(guān)系圖任意兩個不同特征的實例結(jié)點之間都有一條邊,在構(gòu)造的過程中沒有邊丟失,因此構(gòu)造出來的鄰近關(guān)系圖是完整的。對于算法2,第一步,生成候選模式的方法根據(jù)引理1 是正確的,沒有+1 階候選模式丟失。第二步,通過候選模式收集表實例和進(jìn)行第一次過濾(粗過濾)是正確的,因為過濾掉的候選模式頻繁度小于用戶給定的最小頻繁度閾值。第三步,定義2 和鄰近關(guān)系確保了形成的模式實例是正確的,并且在團(tuán)的檢查中沒有對候選模式實例誤判而影響參與度的準(zhǔn)確度。第四步,候選模式頻繁度計算根據(jù)定義3 是正確的且被剪枝候選模式的真正頻繁度小于用戶給定的頻繁閾值。對于算法3,統(tǒng)計一個模式的參與實例,分為過濾和驗證兩個步驟。在過濾步驟,判斷每個中心實例鄰居集所構(gòu)成的團(tuán)中是否包含了候選模式中所有的特征,根據(jù)定義1 和定義2 可知該步驟是正確的。在驗證步驟,搜索一條包含中心實例的行實例,如果找到這樣的行實例,則將中心實例標(biāo)記為參與實例,在此過程中沒有錯誤的標(biāo)記模式參與實例,根據(jù)定義2 可證明該步驟的正確性。完成候選模式中一個特征的參與實例統(tǒng)計后,計算參與率根據(jù)定義3是正確的,同時利用剪枝來縮小搜索空間根據(jù)引理2 是正確的,因此沒有頻繁模式丟失和錯誤地選擇非頻繁模式。

        (2)正確性。正確性意味著發(fā)現(xiàn)的所有空間并置模式都是頻繁的。算法的正確性是通過過濾步驟和頻繁度計算步驟來保證的。因為算法具有完整性,沒有任何候選模式和候選模式實例的丟失,所計算的頻繁度也是正確的,所以得到的頻繁模式一定滿足用戶給定的頻繁閾值。

        4 實驗與分析

        首先,為了更好地進(jìn)行算法的對比與分析,將已有的挖掘算法Fraction-Score、Join-based和Joinless移植到了圖數(shù)據(jù)庫上,分別記為GDBFracScore、GDBJoinbased 和GDBJoinless。然后,收集了真實數(shù)據(jù)集并進(jìn)行數(shù)據(jù)清洗。最后,為了驗證提出算法的效果和效率,分別在真實數(shù)據(jù)集和合成數(shù)據(jù)集上開展了不同維度的對比實驗。此外,利用合成數(shù)據(jù)比較了基于圖數(shù)據(jù)庫和基于內(nèi)存物化鄰近關(guān)系對算法的執(zhí)行時間和空間占用的影響。實驗所用圖數(shù)據(jù)庫為Neo4j,所有算法都采用Java 語言實現(xiàn),實驗環(huán)境為Win10,Core i5 GPU、240 GB固態(tài)硬盤和16 GB內(nèi)存。

        4.1 實驗數(shù)據(jù)集

        實驗數(shù)據(jù)集的相關(guān)信息如表1 所示。其中真實數(shù)據(jù)集1 是商業(yè)數(shù)據(jù)集,它是Yelp 數(shù)據(jù)集(https://www.yelp.com/dataset)的一部分。Yelp 數(shù)據(jù)集是一個公共數(shù)據(jù)集,包括美國許多城市的業(yè)務(wù)類別、屬性和位置。真實數(shù)據(jù)集2 是北京植被數(shù)據(jù),包括26 種植被類型(特征)和25 276株植被實例。真實數(shù)據(jù)集3是北京POI 數(shù)據(jù),包括56 種POI 類型(特征)和207 198個POI(實例)。

        表1 真實數(shù)據(jù)集說明Table 1 Description of real datasets

        本文使用類似文獻(xiàn)[3-4]中所提出的空間數(shù)據(jù)生成器來生成合成數(shù)據(jù)集??臻g實例的分布密度和范圍,由×的空間和決定,為空間邊長。整個空間劃分為×大小的網(wǎng)格,是鄰近距離閾值。特征的密度由特征數(shù)決定。數(shù)據(jù)的分布滿足泊松分布。表2 為合成數(shù)據(jù)生成器的幾個重要參數(shù)說明。

        表2 合成數(shù)據(jù)參數(shù)說明Table 2 Description of synthetic data parameters

        4.2 真實數(shù)據(jù)集上的實驗與分析

        為了評估不同的參數(shù)設(shè)置對挖掘算法效率的影響,將本文提出算法CliqueSearch、InstanceValidation和基準(zhǔn)算法GDBJoinbased、GDBJoinless、GDBFracScore分別在3 種真實數(shù)據(jù)集上進(jìn)行實驗。各個數(shù)據(jù)集的默認(rèn)參數(shù)設(shè)置如表3 所示。

        表3 真實數(shù)據(jù)集默認(rèn)參數(shù)Table 3 Default parameters of real datasets

        在3種真實數(shù)據(jù)集上,5種算法在不同距離閾值和不同頻繁度閾值的運行時間如圖5所示。當(dāng)距離閾值增加,Join-based、Join-less和CliqueSearch算法的執(zhí)行時間增加最明顯;Fraction-Score方法和InstanceValidation算法的執(zhí)行時間趨于穩(wěn)定。提出的兩個算法執(zhí)行時間優(yōu)于傳統(tǒng)的方法和最新的技術(shù),其中InstanceValidation算法的表現(xiàn)優(yōu)于CliqueSearch。Fraction-Score 算法執(zhí)行時間較Join-based 和Join-less 少,主要原因是所采用的頻繁性度量方法不同,F(xiàn)raction-Score 所用的度量方式先計算出每個特征對實例的貢獻(xiàn)分?jǐn)?shù),然后通過特征分?jǐn)?shù)累加的方式求并置模式的頻繁度,不用收集表實例,因此時間開銷較經(jīng)典方法少。提出的方法挖掘出來的結(jié)果跟Join-based 和Join-less 方法一致,并且在時間開銷上更少。同樣地,由圖5 可以看出,隨著頻繁度閾值的增加,執(zhí)行時間都在減少。其中,在傳統(tǒng)方法和最新技術(shù)的表現(xiàn)中,F(xiàn)raction-Score 方法仍然優(yōu)于Join-based 和Join-less 方法,這是因為Fraction-Score 方法的優(yōu)化剪枝效率很高,每次減去的模式更多。提出的兩個算法的表現(xiàn)仍然是最優(yōu)的,因為在團(tuán)的查找中,直接過濾了與模式無關(guān)的特征,只需檢查團(tuán);而Join-less 方法在過濾與模式特征相關(guān)的實例時,需要遍歷中心實例的所有星型鄰居,然后利用組合的方法生成所有候選團(tuán),因此時間開銷大。從表1 可知,真實數(shù)據(jù)集1 有80 個特征,屬于特征密集型數(shù)據(jù)集,但實例密度較小。特征越密集,生成的2 階候選模式越多,對于Join-based 方法,表實例的連接次數(shù)越多,時間開銷增加。Join-less 和Fraction-Score 方法的過濾步驟能更快對非頻繁候選模式剪枝,但是Fraction-Score 需要通過組合搜索判斷候選模式是否存在一個實例,Join-less 方法要通過組合的方式收集表實例,比較耗時。提出的方法,基于圖數(shù)據(jù)庫查詢團(tuán)可以直接過濾非頻繁模式,中間操作次數(shù)少,并且InstanceValidation 算法采用中心實例過濾與驗證的方法不用存儲表實例,直接對參與實例進(jìn)行標(biāo)記計數(shù),因此時間開銷更少。真實數(shù)據(jù)集3 實例數(shù)最多并且實例和特征密度較大。根據(jù)實驗結(jié)果可以看出特征密集或者實例密集對Join-based方法都產(chǎn)生較大的影響,而Join-less 和CliqueSearch方式次之,F(xiàn)raction-Score 和InstanceValidation 受到特征數(shù)量影響最小。如表4 所示,在3 個真實數(shù)據(jù)集上,根據(jù)默認(rèn)參數(shù)對算法的時間效率加速比進(jìn)行了計算。因為基準(zhǔn)算法中GDBFracScore 算法的表現(xiàn)最優(yōu),所以提出的CliqueSearch 和InstanceValidation 僅與該算法的執(zhí)行時間進(jìn)行計算。從表中可以看出,算法2 的時間效率提升了至少7 倍,算法3 至少提升了11.5 倍,其中算法3 較算法2 執(zhí)行時間效率至少提升了1.6 倍。綜上,提出的兩個算法在不同大小和分布的實際數(shù)據(jù)集上都表現(xiàn)出了良好的性能。

        圖5 真實數(shù)據(jù)集上不同參數(shù)對執(zhí)行時間的影響Fig.5 Effect of different parameters on running time on real datasets

        表4 提出算法與基準(zhǔn)的執(zhí)行時間和加速比Table 4 Execution time and speed-up ratio of proposed algorithm and benchmark

        4.3 合成數(shù)據(jù)集上的實驗與分析

        為了研究實例數(shù)目對算法運行時間的影響,利用合成數(shù)據(jù)(合成數(shù)據(jù)集1~5)來進(jìn)行實驗,實例數(shù)量()分別取值2.4×10、2.8×10、3.2×10、3.6×10和4.0×10,數(shù)據(jù)分布空間大小為50 000×50 000,空間特征個數(shù)為40。5 種合成數(shù)據(jù)集的默認(rèn)距離閾值設(shè)置為200 m,頻繁度閾值設(shè)置為0.1。

        如圖6(a)所示,隨著實例數(shù)增加,在相同的空間分布下,數(shù)據(jù)的密度變大,執(zhí)行時間增加,提出的算法效率要遠(yuǎn)高于基準(zhǔn)。因為隨著實例數(shù)的增多,實例之間的鄰近關(guān)系增多,形成的行實例增多,Joinbased 方法需要進(jìn)行的表連接操作也增多,需要的時間開銷也就越大。同樣地,隨著鄰近關(guān)系的增加,Join-less 方法過濾得到的鄰居就越多,組合生成表實例需要的時間就越長。Fraction-Score 方法搜索判定是否為模式實例的操作次數(shù)變多,時間開銷增加。CliqueSearch 方法在表實例的查找中,沒有連接操作也不用進(jìn)行組合搜索操作,而InstanceValidation 方法不收集表實例,當(dāng)實例數(shù)取值為4×10時,CliqueSearch算法的執(zhí)行時間只需Fraction-Score 方法的28%,而InstanceValidation算法只需其16%,可以看出時間開銷遠(yuǎn)小于基準(zhǔn),有更好的執(zhí)行表現(xiàn)。圖6(b)對本文所提的兩個算法進(jìn)行了比較,可以看出InstanceValidation算法的表現(xiàn)始終優(yōu)于CliqueSearch。InstanceValidation算法采用實例過濾和驗證的方法,統(tǒng)計一個候選模式的參與實例,不生成表實例,內(nèi)存開銷小。而CliqueSearch算法在選擇頻繁模式時,需要收集候選模式的所有表實例并且將-1階頻繁模式的每條實例轉(zhuǎn)為鍵值對存儲在哈希表中用于階候選團(tuán)(粗表實例)的檢查,內(nèi)存開銷較大。當(dāng)實例數(shù)增大到4×10時,CliqueSearch算法的內(nèi)存使用為InstanceValidation算法的4.6 倍。

        本小節(jié)通過實驗比較不同特征數(shù)對算法運行時間的影響。數(shù)據(jù)的空間分布設(shè)置為50 000×50 000,實例個數(shù)設(shè)置為1×10,空間特征數(shù)分別取值為30、50、70、90、110。默認(rèn)距離閾值為200 m,頻繁閾值為0.2。

        如圖6(c)所示,當(dāng)空間特征數(shù)為30 時,5 種算法之間有較大的執(zhí)行時間差距,特征數(shù)增加到50 執(zhí)行時間也增加,是因為特征數(shù)增多生成的候選模式增多,對于Join-based 方法,表的連接操作次數(shù)增多,因此時間增加;而對于Join-less 和Fraction-Score 方法,盡管沒有大量的表實例的連接操作,但是組合搜索方法中組合操作的次數(shù)同樣增多,執(zhí)行時間增加。當(dāng)空間特征數(shù)目增加到70、90 和110 時,盡管候選并置模式數(shù)目在增多,但算法的執(zhí)行時間都在減少,因為在實例總數(shù)不變的情況下,隨著特征數(shù)繼續(xù)增加,每個特征對應(yīng)的實例數(shù)在減少,因此模式的行實例數(shù)目也在減少。對于Join-less 方法,表實例的連接操作次數(shù)減少,收集到的表實例數(shù)也減少;而Fraction-Score 方法的組合操作次數(shù)減少,因此執(zhí)行時間減少。同樣地,提出的CliqueSearch 方法在特征數(shù)少的情況下,特征實例密集,收集到的模式實例更多,過濾需要的時間更多,因此需要的頻繁模式計算耗時也多。特征實例稀疏時,收集到的模式實例更少,頻繁模式計算耗時也在減少;InstanceValidation 方法,隨著特征數(shù)目增加,時間開銷有一定的增加但是受到的影響較小,整體表現(xiàn)趨于穩(wěn)定??傮w上,提出的算法在執(zhí)行的時間效率表現(xiàn)上優(yōu)于移植到圖數(shù)據(jù)庫上的經(jīng)典算法和最新技術(shù)。

        圖6 合成數(shù)據(jù)集上不同參數(shù)對算法運行時間的影響Fig.6 Effect of different parameters on running time of algorithms on synthetic datasets

        在本次實驗中研究鄰域內(nèi)模式實例數(shù)量(參數(shù)的變化)對算法執(zhí)行的影響。數(shù)據(jù)的空間分布設(shè)置為50 000×50 000,實例個數(shù)設(shè)置為9×10,空間特征數(shù)取值為30,距離閾值設(shè)置為200 m,頻繁度閾值設(shè)置為0.2,參數(shù)的取值范圍為1、2、3、4、5。

        由圖6(d)可以看出,隨著取值增大,算法的執(zhí)行時間都在增加,這是因為隨著的增大,并置模式數(shù)量在增加。Join-based、Join-less 和CliqueSearch 方法收集表實例的中間操作次數(shù)增多;而Fraction-Score 方法計算模式分?jǐn)?shù)評分需要的組合搜索操作次數(shù)同樣增多,時間開銷增加。對于InstanceValidation 方法,鄰域內(nèi)模式數(shù)量增多導(dǎo)致了中心實例需要執(zhí)行的過濾與驗證操作次數(shù)增加,從而時間開銷增加,但它表現(xiàn)仍然是幾種方法中表現(xiàn)最優(yōu)的且具有一定的穩(wěn)定性。

        在合成數(shù)據(jù)上改變重疊實例比()的實驗結(jié)果,如圖6(e)所示。數(shù)據(jù)的空間分布設(shè)置為25 000×25 000,實例個數(shù)設(shè)置為5×10,空間特征數(shù)取值為30,距離閾值設(shè)置為800 m,頻繁度閾值設(shè)置為0.2,取值設(shè)置為2,重疊實例比的取值范圍為5、10、15、20、25。隨著特征的重疊實例比增大,算法的執(zhí)行時間都在增加。因為收集表實例的方法中間計算步驟增多,所以時間開銷增加。例如一個中心實例周圍是特征相同的幾個實例,那么中心實例在表實例收集的過程中將被重復(fù)連接或者組合。在5 種方法中,實例的過濾和驗證方法的表現(xiàn)最優(yōu)并且更加穩(wěn)定。算法的剪枝率實驗結(jié)果如圖6(f)所示。當(dāng)重疊實例比增大,算法的剪枝率都在增加,其中本文提出的兩種算法在剪枝率上有較好的表現(xiàn),InstanceValidation算法剪枝率均高于80%,CliqueSearch算法保持在70%以上,并且提出的算法剪枝率都較基準(zhǔn)高。因為隨著重疊率的增加,重疊實例的特征參與率降低,候選模式的剪枝機(jī)會增大(剪枝率為非頻繁模式總數(shù)與候選模式總數(shù)之比)。

        4.4 基于圖數(shù)據(jù)庫和基于內(nèi)存物化鄰近關(guān)系的實驗與分析

        從真實數(shù)據(jù)集和合成數(shù)據(jù)集上的實驗可以看出,F(xiàn)raction-Score 在基準(zhǔn)算法中的執(zhí)行表現(xiàn)最優(yōu)。因此本節(jié)在合成數(shù)據(jù)集上將提出的算法與Fraction-Score算法分別利用內(nèi)存和圖數(shù)據(jù)庫物化鄰近關(guān)系在執(zhí)行時間和空間占用上進(jìn)行比較。數(shù)據(jù)空間分布大小為40 000×40 000,實例個數(shù)為6×10,空間特征數(shù)為30。參與度閾值設(shè)置為0.3,和設(shè)置為1。距離閾值的變化范圍是100 m、120 m、140 m、160 m、180 m。Fraction-Score方法利用圖數(shù)據(jù)集庫和內(nèi)存物化鄰近關(guān)系的執(zhí)行時間比較如圖7(a)所示。隨著距離閾值增大執(zhí)行時間都在增加,因為當(dāng)距離閾值較小時,中心實例的鄰近關(guān)系少,搜索空間?。划?dāng)距離閾值變大時,鄰近關(guān)系增多,搜索空間增大,時間開銷增加。當(dāng)距離閾值較小時,基于內(nèi)存的方法執(zhí)行時間少于基于圖數(shù)據(jù)庫的方法,但是當(dāng)距離閾值變大時,基于內(nèi)存的方法時間開銷迅速增加且超過了移植到圖數(shù)據(jù)庫的方法,原因是基于內(nèi)存方法計算鄰近關(guān)系需要的時間開銷增大,而移植到圖數(shù)據(jù)庫的方法只需要對鄰近關(guān)系圖進(jìn)行查詢而不用每次啟動程序重新計算。提出的兩種挖掘方法時間表現(xiàn)優(yōu)于最新技術(shù)的兩種實現(xiàn)方式。當(dāng)距離閾值取值為180 m時,GDBFracScore、CliqueSearch 和InstanceValidation算法相對于MemFracScore 算法的時間效率提升倍數(shù)分別為2.2、3.6 和9.3。

        算法執(zhí)行的內(nèi)存使用如圖7(b)所示,隨著距離閾值增大,CliqueSearch 和Fraction-Score 利用內(nèi)存物化鄰近關(guān)系方法的內(nèi)存消耗都在增加,其中Fraction-Score 方法的內(nèi)存消耗最多,因為Fraction-Score 方法隨著距離閾值增加鄰近關(guān)系增多,導(dǎo)致內(nèi)存使用增加。CliqueSearch 方法的內(nèi)存增加,因為查詢到的模式實例數(shù)增多,即收集到的表實例增多。Fraction-Score 移植到圖數(shù)據(jù)庫上的方法的內(nèi)存使用趨于穩(wěn)定,因為鄰近關(guān)系不用存儲在內(nèi)存中,需要存儲的是每個空間特征對每個實例的評分,當(dāng)實例數(shù)不變時內(nèi)存使用大小趨于穩(wěn)定。InstanceValidation 算法執(zhí)行內(nèi)存消耗最少并且隨著距離閾值增加趨于穩(wěn)定,因為不用收集和保存表實例。隨著距離閾值增大,空間鄰近關(guān)系增多,距離閾值取值為180 m 時,基于圖數(shù)據(jù)庫的方法較基于內(nèi)存物化鄰近關(guān)系的方法有著較明顯的優(yōu)勢,GDBFracScore、CliqueSearch 和InstanceValidation算法與基于內(nèi)存方式實現(xiàn)的Fraction-Score 算法內(nèi)存占用比分別為1∶4.1、1∶1.7 和1∶6.6,其中InstanceValidation 的內(nèi)存使用約為CliqueSearch的1/4。CliqueSearch 算法內(nèi)存使用較GDBFracScore算法高,是因為前者保存表實例占用了大量的內(nèi)存空間。綜上,可以看出移植到圖數(shù)據(jù)庫上的方法在時間開銷和內(nèi)存使用上都有較好的表現(xiàn)。

        圖7 圖數(shù)據(jù)庫和內(nèi)存物化鄰近關(guān)系的實驗比較Fig.7 Experimental comparison between graph database and memory materialized neighbor relationship

        5 結(jié)束語

        空間頻繁并置模式挖掘是發(fā)現(xiàn)一些先前未知的但是具有重要指導(dǎo)意義的空間知識的重要工具。傳統(tǒng)方法能夠?qū)@些有著重要意義的模式進(jìn)行挖掘,但當(dāng)空間數(shù)據(jù)量較大時,存儲空間鄰近關(guān)系會占用大量的內(nèi)存空間,帶來內(nèi)存不足的問題,并且查找表實例時間開銷很大。圖數(shù)據(jù)庫是當(dāng)前比較流行的一種非關(guān)系型數(shù)據(jù)庫,能方便地以圖的形式表示數(shù)據(jù)和關(guān)系,并且提供了管理高度連接的數(shù)據(jù)和復(fù)雜的數(shù)據(jù)庫查詢以及原生圖形存儲和處理的能力??臻g實例之間存在著復(fù)雜的鄰近關(guān)系,利用圖數(shù)據(jù)庫能夠很好地把這些空間數(shù)據(jù)和它們對應(yīng)的關(guān)系存儲下來,然后挖掘空間頻繁并置模式。根據(jù)圖數(shù)據(jù)庫的優(yōu)點,利用圖數(shù)據(jù)庫來存儲實例的鄰近關(guān)系,即構(gòu)造鄰近關(guān)系圖,減少了內(nèi)存占用。移植到基于圖數(shù)據(jù)庫的經(jīng)典的挖掘算法沒有充分發(fā)揮圖數(shù)據(jù)庫的優(yōu)勢導(dǎo)致效率很低。因此,本文將傳統(tǒng)表實例的生成方法轉(zhuǎn)變?yōu)榛趫D數(shù)據(jù)庫的團(tuán)查找方法可以直接獲得與候選模式相關(guān)的候選團(tuán),而不需要組合或連接操作來生成候選團(tuán),減少了時間開銷。此外,本文還提出一種實例過濾和驗證的無表實例收集的新方法,進(jìn)一步提高了算法的時間效率和空間效率。最后,通過實驗驗證了所提算法的正確性、高效性和可擴(kuò)展性。

        在未來的工作中,計劃進(jìn)一步應(yīng)用圖數(shù)據(jù)庫的特性,研究時空數(shù)據(jù)和帶更多屬性的數(shù)據(jù)的空間并置模式挖掘問題。此外,將進(jìn)一步考慮在挖掘過程中融入應(yīng)用領(lǐng)域的背景知識,研究基于知識圖譜的空間并置模式挖掘技術(shù)。

        猜你喜歡
        實例內(nèi)存閾值
        小波閾值去噪在深小孔鉆削聲發(fā)射信號處理中的應(yīng)用
        “春夏秋冬”的內(nèi)存
        基于自適應(yīng)閾值和連通域的隧道裂縫提取
        比值遙感蝕變信息提取及閾值確定(插圖)
        河北遙感(2017年2期)2017-08-07 14:49:00
        室內(nèi)表面平均氡析出率閾值探討
        完形填空Ⅱ
        完形填空Ⅰ
        基于內(nèi)存的地理信息訪問技術(shù)
        上網(wǎng)本為什么只有1GB?
        91偷拍与自偷拍亚洲精品86 | 国产精品国产三级在线专区| 国产黑丝美女办公室激情啪啪| 国产亚洲美女精品久久久2020| 白白色白白色视频发布| 国产a在亚洲线播放| 亚洲人成电影在线播放| 四虎精品视频| 国产成人cao在线| 亚洲影院在线观看av| 国产亚洲中文字幕一区| 亚洲中文字幕av天堂自拍| 国产两女互慰高潮视频在线观看| 国产伦久视频免费观看视频| 久久国产精品无码一区二区三区| 中国免费av网| 成人免费av高清在线| 亚洲欧美日韩中文字幕一区二区三区| 亚洲成色在线综合网站| 99久久超碰中文字幕伊人| 亚洲av有码精品天堂| 亚洲无毛成人在线视频| 亚洲av乱码一区二区三区按摩| 精品香蕉久久久爽爽| 特一级熟女毛片免费观看| 国产一区二区三区成人av| 未发育成型小奶头毛片av| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲国产成人av第一二三区| 美腿丝袜诱惑一区二区| 亚洲欧美乱日韩乱国产| 久久ri精品高清一区二区三区| 亚洲av乱码一区二区三区女同| 中国亚洲一区二区视频| 国产精选污视频在线观看| 亚洲精品二区中文字幕| 97久久成人国产精品免费| 很黄很色的女同视频一区二区| 国产乱码精品一区二区三区四川人 | 精品香蕉99久久久久网站| 日韩精品无码一区二区中文字幕|