• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種改進(jìn)的DBSCAN算法

      2017-04-26 21:08:19唐亮
      電腦知識與技術(shù) 2017年6期
      關(guān)鍵詞:鄰域聚類

      唐亮

      摘要:DBSCAN算法是基于密度的聚類算法,傳統(tǒng)的DBSCAN聚類算法在聚類過程中需要遍歷核心點(diǎn)鄰域里的點(diǎn),這就大大增加了DBSCAN算法的運(yùn)行時(shí)間。針對DBSCAN算法時(shí)間性能低效的問題,提出一種新的改進(jìn)的DBSCAN算法。該算法在不丟失對象的基礎(chǔ)上,通過改變遍歷核心對象鄰域點(diǎn)選取方式來擴(kuò)展類,從減少每次區(qū)域查詢次數(shù)及查詢時(shí)間,提高了算法的時(shí)間性能。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的DBSCAN算法是正確和高效的。

      關(guān)鍵詞:聚類;DBSCAN算法;鄰域;核心對象

      中圖分類號:TP301 文獻(xiàn)標(biāo)識碼: A 文章編號:1009-3044(2017)06-0132-02

      1 概述

      聚類分析[1]是數(shù)據(jù)挖掘中的重要組成部分。所謂聚類分析, 就是將一組數(shù)據(jù)集分成多個簇,在同一個簇中的數(shù)據(jù)相似度較高,而不同簇中的數(shù)據(jù)相似度較低,人們能夠通過識別不同數(shù)據(jù)密度分布的區(qū)域發(fā)現(xiàn)數(shù)據(jù)屬性之間的相互關(guān)系。在數(shù)據(jù)挖掘中,人們通過聚類對簇的特點(diǎn)進(jìn)行分析,獲取數(shù)據(jù)分布的信息。此外,人們還將聚類分析作為其他算法數(shù)據(jù)處理的步驟。到現(xiàn)在為止,已經(jīng)有許多聚類算法[2]被提出來了,比如基于劃分的方法KMeans[3]算法、基于層次的聚類算法CURE算法 、基于密度的DBSCAN[4]算法、基于網(wǎng)格的CLIQUE等算法。其中DBSCAN算法可以在數(shù)據(jù)集中發(fā)現(xiàn)任意形狀的聚類,但由于其遍歷節(jié)點(diǎn)的次數(shù)較多,其時(shí)間性能較低。本文提出了一個DBSCAN算法的改進(jìn)方法,該方法使得DBSCAN改進(jìn)算法在時(shí)間性能上有較大提高。

      2 基于密度的DBSCAN算法

      2.1 基本概念

      DBSCAN 算法是使用基于距離的方法對數(shù)據(jù)對象進(jìn)行聚類,聚類結(jié)果是球狀的簇。其思想是:通過檢測數(shù)據(jù)集中數(shù)據(jù)點(diǎn)的Eps鄰域內(nèi)的數(shù)據(jù)點(diǎn)的數(shù)目來搜索簇,如果數(shù)據(jù)點(diǎn)p的鄰域內(nèi)包含的數(shù)據(jù)點(diǎn)的數(shù)目多于MinPts,則創(chuàng)建一個以p為核心對象的簇,然后,聚集直接密度可達(dá)的對象,如果不同簇之間密度可達(dá),則將簇合并。一直到?jīng)]有新的點(diǎn)添加到簇中結(jié)束。下面給出DBSCAN聚類算法的一些定義[5] 。

      定義1:鄰域

      對于對象p以半徑為Eps的范圍稱為對象p的Eps鄰域,我們用表示點(diǎn)p的Eps半徑內(nèi)的點(diǎn)的集合,即:

      定義2:核心對象

      對于給定對象p,如果p點(diǎn)的鄰域內(nèi)包含的數(shù)據(jù)點(diǎn)數(shù)目不小于MinPts,則稱點(diǎn)p為核心對象。

      定義3:邊界點(diǎn)

      對于給定對象p,如果對象p點(diǎn)不是核心點(diǎn),但是對象p在核心對象q的鄰域內(nèi),則稱p為邊界點(diǎn)。

      定義4:噪音點(diǎn)

      對于給定對象p,如果對象既不是核心點(diǎn),也不是邊界點(diǎn),則稱對象p為噪音點(diǎn)。

      定義5:直接密度可達(dá)

      給定一個對象集合D,如果p在q的Eps鄰域內(nèi),而q是一個核心對象,則稱對象p 從對象q出發(fā)時(shí)是直接密度可達(dá)的。

      定義6:密度可達(dá)

      如果存在一組對象,對,是從直接密度可達(dá)的,則對象p是從對象q密度可達(dá)的。

      定義7:密度相連

      如果存在對象,使對象p和q都是從O密度可達(dá)的,那么對象p到q是密度相連的。

      2.2 DBSCAN 算法

      DBSCAN 算法是一個基于密度的聚類算法,通過迭代遍歷查找所有和核心點(diǎn)直接密度可達(dá)的數(shù)據(jù)點(diǎn), 來找到所有簇中包含的密度可達(dá)的數(shù)據(jù)對象[6],具體的過程如下所示:

      1)對于數(shù)據(jù)集D中還沒有被檢查過的數(shù)據(jù)點(diǎn)p,如果數(shù)據(jù)點(diǎn)p未被處理,則檢查該數(shù)據(jù)點(diǎn)Eps鄰域內(nèi)的數(shù)據(jù)點(diǎn)的數(shù)目,若數(shù)據(jù)點(diǎn)數(shù)不小于MinPts,則新建一個簇C,將該數(shù)據(jù)點(diǎn)Eps 鄰域內(nèi)其他所有的數(shù)據(jù)點(diǎn)添加到簇C中 。

      2)對于簇C中任意一個還沒有被處理的數(shù)據(jù)點(diǎn)q,檢查它的Eps鄰域,若其鄰域里的數(shù)據(jù)點(diǎn)數(shù)不小于MinPts,則將該數(shù)據(jù)點(diǎn)的鄰域中還沒有屬于任何一個簇的數(shù)據(jù)點(diǎn)加入簇C中 。

      3)重復(fù)步驟2),直到?jīng)]有新的對象加入當(dāng)前簇C 。

      4)重復(fù)步驟1)?3),直到所有的數(shù)據(jù)點(diǎn)被處理。

      DBSCAN算法在聚類過程中,可以發(fā)現(xiàn)數(shù)據(jù)集中任意形狀的簇,但是DBSCAN算法也有其局限性,就是需要對每個數(shù)據(jù)點(diǎn)對象都要進(jìn)行鄰域查詢,時(shí)間性能低。

      3 DBSCAN改進(jìn)算法

      本文對DBSCAN算法的改進(jìn)思想是:就是在核心對象進(jìn)行鄰域查詢時(shí)無需遍歷鄰域內(nèi)的所有節(jié)點(diǎn),選擇當(dāng)前鄰域內(nèi)距離核心對象較遠(yuǎn)但未被標(biāo)記的點(diǎn),以減小鄰域查詢次數(shù)和查詢時(shí)間。算法的聚類過程如下:

      1)在數(shù)據(jù)集上隨機(jī)選取一個節(jié)點(diǎn)p 開始鄰域查詢,如果數(shù)據(jù)點(diǎn)p 是核心節(jié)點(diǎn),則將它鄰域內(nèi)的所有數(shù)據(jù)點(diǎn)點(diǎn)用C進(jìn)行類別標(biāo)記。

      2)選擇里核心點(diǎn)p較遠(yuǎn)的點(diǎn)q進(jìn)行鄰域查詢,如果它是核心點(diǎn),則將q點(diǎn)鄰域里的不在簇C里的點(diǎn)加入到簇C里,如果不是核心點(diǎn),則繼續(xù)進(jìn)行遍歷,知道將p鄰域里較遠(yuǎn)的數(shù)據(jù)點(diǎn)全部遍歷完為止。

      3)重復(fù)以上過程,直到所有節(jié)點(diǎn)都被標(biāo)記。

      4 實(shí)驗(yàn)

      本文所涉及的算法均是用matlab語言編寫的,并在win7系統(tǒng)環(huán)境下運(yùn)行。

      4.1 改進(jìn)算法的對比實(shí)驗(yàn)

      為了驗(yàn)證DBSCAN改進(jìn)算法正確性,采用了三個二維數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn)驗(yàn)證,如圖1所示:

      其中,data1自然聚成6類,data2自然聚成5類,data3自然聚成9類。

      本文采用相同的參數(shù)驗(yàn)證DBSCAN算法和改進(jìn)算法,所得到的聚類結(jié)果完全相同,如下圖2所示:

      通過對比實(shí)驗(yàn),我們發(fā)現(xiàn),DBSCAN算法和其改進(jìn)算法在data1、data2和data3上的運(yùn)行結(jié)果完全一樣,由此可以看出DBSCAN改進(jìn)算法與DBSCAN算法的相同的聚類功效,改進(jìn)算法的正確性得以保證。

      4.2 執(zhí)行時(shí)間的對比實(shí)驗(yàn)

      測試改進(jìn)算法的時(shí)間對比實(shí)驗(yàn)仍然采用上面的3個數(shù)據(jù)集,期執(zhí)行時(shí)間如表1所示:

      從表中可以看出改進(jìn)算法的執(zhí)行時(shí)間總是比DBSCAN算法執(zhí)行時(shí)間少,由此可見,改進(jìn)算法與DBSCAN算法比,其時(shí)間性能高效。

      5 結(jié)束語

      雖然改進(jìn)算法和DBSCAN算法具有相同的時(shí)間復(fù)雜度,但是DBSCAN需要遍歷每一個核心節(jié)點(diǎn)并計(jì)算其鄰域,而改進(jìn)算法只遍歷距離核心點(diǎn)較遠(yuǎn)的點(diǎn),降低了計(jì)算量,從而減少了時(shí)間,提高了時(shí)間性能。

      參考文獻(xiàn):

      [1] HAN Jia Wei,KAMBER M.數(shù)據(jù)挖掘概念與技術(shù)[M].范明,孟曉峰,譯.北京:機(jī)械工業(yè)出版社,2001.

      [2] 楊小兵.聚類分析中若干關(guān)鍵技術(shù)的研究[D].杭州:浙江大學(xué),2005.

      [3] KAUFANL, RPUSSEEUW P J.Finding groups in data:Anintroduction to cluster analysis[M] .New York:JohnWiley& Sons,1990.

      [4] 陳剛,劉秉權(quán),吳巖.一種基于高斯分布的自適應(yīng)DBSCAN 算法[J].微電子學(xué)與計(jì)算機(jī),2013(3):27-30,34.

      [5] 周水庚,周傲英,曹晶,等.一種基于密度的快速聚類算法[J].計(jì)算機(jī)研究與發(fā)展,2000,37(11):1287-1292.

      [6] NANNI M,PEDRESCHI D.Time-focused clustering of trajectories of moving objects[J].Journal of Intelligent Information Systems,2006,27(3):267-289.

      猜你喜歡
      鄰域聚類
      稀疏圖平方圖的染色數(shù)上界
      基于K-means聚類的車-地?zé)o線通信場強(qiáng)研究
      基于鄰域競賽的多目標(biāo)優(yōu)化算法
      基于鄰域KNN算法的風(fēng)電功率短期預(yù)測模型
      基于DBSACN聚類算法的XML文檔聚類
      電子測試(2017年15期)2017-12-18 07:19:27
      條紋顏色分離與聚類
      關(guān)于-型鄰域空間
      基于Spark平臺的K-means聚類算法改進(jìn)及并行化實(shí)現(xiàn)
      一種層次初始的聚類個數(shù)自適應(yīng)的聚類方法研究
      基于時(shí)序擴(kuò)展的鄰域保持嵌入算法及其在故障檢測中的應(yīng)用
      铅山县| 临漳县| 讷河市| 阿坝| 阿合奇县| 株洲县| 腾冲县| 自治县| 柘荣县| 和硕县| 诸暨市| 宣威市| 板桥市| 绥棱县| 花垣县| 区。| 盖州市| 广饶县| 丹棱县| 尉犁县| 庐江县| 清丰县| 资源县| 水城县| 杂多县| 和田市| 分宜县| 巢湖市| 昭通市| 曲周县| 金秀| 瓮安县| 潮州市| 固始县| 罗源县| 云霄县| 郯城县| 即墨市| 扎鲁特旗| 融水| 孟村|