本發(fā)明提供一種基于數(shù)據(jù)密度峰值的自標記半監(jiān)督分類方法及裝置,屬于計算機數(shù)據(jù)處理
技術(shù)領(lǐng)域:
。
背景技術(shù):
:在當今大數(shù)據(jù)時代,互聯(lián)網(wǎng)上每天都會產(chǎn)生大量的信息,且每天都在以驚人的速度膨脹,諸如新聞評論、BBS、博客、聊天室、聚合新聞(RSS)等應(yīng)用每時每刻都會產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)中包含人們對社會各種現(xiàn)象的各種觀點和立場,話題涉及政治、經(jīng)濟、軍事、娛樂、生活等各個領(lǐng)域。如何在有限的時間范圍內(nèi)對海量數(shù)據(jù)進行處理和分析,是當前計算機數(shù)據(jù)處理系統(tǒng)所面臨的嚴重挑戰(zhàn),而機器學習正是解決上述問題的有效手段。數(shù)據(jù)分類是機器學習的基本任務(wù),是圖像視覺分析、文本分析、語音識別、輿情預(yù)警等領(lǐng)域的基礎(chǔ)工作。數(shù)據(jù)分類包含兩種形式,即監(jiān)督分類與半監(jiān)督分類。監(jiān)督分類是數(shù)據(jù)樣本全部具有標簽;半監(jiān)督分類是部分數(shù)據(jù)樣本具有標簽,部分數(shù)據(jù)樣本不具有標簽。在實際中,由于對數(shù)據(jù)進行標簽通常需要專家知識,導致帶標簽數(shù)據(jù)獲取代價太大,因而無標簽數(shù)據(jù)比帶標簽數(shù)據(jù)將多得多。因此,從可應(yīng)用的信息量角度看出,半監(jiān)督分類在現(xiàn)實應(yīng)用中有更強的需求。目前,半監(jiān)督分類模型粗略的可分為四類,分別是生成式模型、基于圖的模型、半監(jiān)督支持向量機模型和自標記模型。其中,自標記模型不需要具體的假設(shè),其通過迭代的自我訓練和標記方式實現(xiàn)半監(jiān)督分類,是目前研究的熱點。但是,現(xiàn)有的自標記半監(jiān)督分類方法還存在不足,主要有兩點局限:一是某些方法對數(shù)據(jù)集形狀敏感,不能很好的解決非球形數(shù)據(jù)的適應(yīng)性問題,導致陷入局部最優(yōu)解;二是某些算法效率較低,在每次迭代過程中需要重新計算相關(guān)參數(shù),導致大數(shù)據(jù)處理能力不足。2014年6月,Rodriguez和Laio在《Science》雜志上發(fā)表了“一種基于數(shù)據(jù)密度峰值的聚類方法”(簡稱其為DPClus),它通過定義兩個參數(shù)“局部密度”和“到具有更高局部密度點的最近鄰距離”來挑選出類中心點,然后再將其他所有數(shù)據(jù)樣本按照一個向量NNeigh(NNeigh[i]=j(luò)表示第i個對象要劃分到與第j個對象相同的類中)的指示,在O(n)的時間復(fù)雜度上實現(xiàn)了數(shù)據(jù)聚類。DPClus具有思想簡單、效率高、準確性高、對數(shù)據(jù)形狀魯棒等優(yōu)點,因此,將DPClus聚類算法引入自標記半監(jiān)督分類模型,可解決現(xiàn)有自標記半監(jiān)督分類模型非球狀數(shù)據(jù)適應(yīng)性差和大數(shù)據(jù)處理能力不足的缺點。技術(shù)實現(xiàn)要素:為了解決上述
背景技術(shù):
中現(xiàn)有的自標記半監(jiān)督分類方法非球狀數(shù)據(jù)適應(yīng)性差和大數(shù)據(jù)處理能力不足的問題,本發(fā)明基于數(shù)據(jù)密度峰值的聚類方法,提供一種自標記半監(jiān)督分類方法及裝置,來對海量大數(shù)據(jù)實現(xiàn)快速準確的分類處理。本發(fā)明提供一種基于數(shù)據(jù)密度峰值的自標記半監(jiān)督分類方法,該方法包括如下步驟:第一步:通過計算DPClus聚類方法定義的兩個參數(shù)“局部密度”和“到具有更高局部密度點的最近鄰距離”,得出目標向量NNeigh,發(fā)現(xiàn)數(shù)據(jù)內(nèi)部結(jié)構(gòu)特征,進一步利用標記數(shù)據(jù)集中帶標簽數(shù)據(jù)樣本的信息確定類中心點,構(gòu)造一個類似于圖的數(shù)據(jù)空間結(jié)構(gòu);第二步:根據(jù)第一步得出的數(shù)據(jù)空間結(jié)構(gòu),進入迭代訓練過程;首先,利用標記數(shù)據(jù)集中的帶標簽數(shù)據(jù)樣本訓練分類器;其次,根據(jù)數(shù)據(jù)空間結(jié)構(gòu),從未標記數(shù)據(jù)集中選出被標記數(shù)據(jù)集中所有帶標簽數(shù)據(jù)樣本所指向的下一個無標簽數(shù)據(jù)樣本;最后,利用訓練好的分類器,對選出的無標簽數(shù)據(jù)樣本進行類別標簽判別,并將判別后的數(shù)據(jù)樣本加入到標記數(shù)據(jù)集中;重復(fù)迭代以上過程,直至標記數(shù)據(jù)集中帶標簽數(shù)據(jù)樣本所指向的所有下一個無標簽數(shù)據(jù)樣本都被選出,并被判別類別標簽后加入到標記數(shù)據(jù)集中,才停止迭代;第三步:根據(jù)第一步得出的數(shù)據(jù)空間結(jié)構(gòu),再次進入迭代訓練過程;首先,利用標記數(shù)據(jù)集中的帶標簽數(shù)據(jù)樣本訓練一個分類器;其次,根據(jù)數(shù)據(jù)空間結(jié)構(gòu),從未標記數(shù)據(jù)集中選出被標記數(shù)據(jù)集中所有帶標簽數(shù)據(jù)樣本所指向的上一個無標簽數(shù)據(jù)樣本;最后,利用訓練好的分類器,對選出的無標簽數(shù)據(jù)樣本進行類別標簽判別,并將判別后的數(shù)據(jù)樣本加入到標記數(shù)據(jù)集中;重復(fù)迭代以上過程,直至所有的無標簽數(shù)據(jù)樣本都被選出,并被判別類別標簽后加入到標記數(shù)據(jù)集中,才停止迭代;第四步:利用最終的標記數(shù)據(jù)集,訓練分類器,完成訓練。所述參數(shù)“局部密度”的計算公式如下:其中,dij代表是第i個數(shù)據(jù)樣本xi和第j個數(shù)據(jù)樣本xj之間的距離,該距離度量可以是任一種距離度量形式;dc是截斷距離。所述參數(shù)“到具有更高局部密度點的最近鄰距離”的計算公式如下:其中,dij代表是第i個數(shù)據(jù)樣本xi和第j個數(shù)據(jù)樣本xj之間的距離;ρi和ρj為局部密度。所述類似于圖的數(shù)據(jù)空間結(jié)構(gòu)的構(gòu)建方法如下:首先根據(jù)ρi和δi,計算γi=ρi×δi,選出前k個值最大的γi,k值等于類別個數(shù);其次根據(jù)選出的k個γi,確定k個類中心點,要求k個類中心點與γi具有相同的序號i值;最后,根據(jù)目標向量NNeigh記錄的信息,使每一個數(shù)據(jù)樣本xi都單向唯一的指向下一個數(shù)據(jù)樣本xj,直至指向類中心點,其中xj滿足ρj>ρi且dij最小。所述分類器可以為K近鄰分類學習模型、支持向量機分類學習模型、神經(jīng)網(wǎng)絡(luò)分類學習模型或集成學習模型任一種分類學習模型。本發(fā)明提供一種基于數(shù)據(jù)密度峰值的自標記半監(jiān)督分類裝置,該裝置包括如下模塊:(1)數(shù)據(jù)接收預(yù)處理模塊:接收需進行分類處理的無標簽數(shù)據(jù)和已有的帶標簽數(shù)據(jù),并將其分為訓練集和測試集,將預(yù)處理后的數(shù)據(jù)直接存放于數(shù)據(jù)存儲模塊;其中,要求訓練集中包括所有的帶標簽數(shù)據(jù)和大量或所有的無標簽數(shù)據(jù),測試集中包括所有的無標簽數(shù)據(jù);(2)距離度量模塊:從數(shù)據(jù)存儲模塊中讀取訓練集中的所有數(shù)據(jù),通過距離度量方式,計算每兩個數(shù)據(jù)點之間的距離,獲取距離度量矩陣;(3)數(shù)據(jù)空間結(jié)構(gòu)構(gòu)造模塊:利用獲取的距離度量矩陣,通過對每個數(shù)據(jù)點計算“局部密度ρi”和“到具有更高局部密度點的最近鄰距離δi”兩個參數(shù),得出目標向量NNeigh,進一步利用已有帶標簽數(shù)據(jù)所攜帶的信息確定類中心點,構(gòu)造一個類似于圖的數(shù)據(jù)空間結(jié)構(gòu);(4)分類模型訓練模塊:根據(jù)構(gòu)造的數(shù)據(jù)空間結(jié)構(gòu),按照特定規(guī)則迭代地訓練分類模型,直至達到迭代停止條件;(5)數(shù)據(jù)分類處理模塊:從數(shù)據(jù)存儲模塊中讀取測試集中的所有數(shù)據(jù),利用已經(jīng)訓練好的分類模型,對數(shù)據(jù)進行分類預(yù)測,并將分類處理后的數(shù)據(jù)存儲于數(shù)據(jù)存儲模塊中;(6)數(shù)據(jù)存儲模塊:存儲經(jīng)數(shù)據(jù)接收預(yù)處理模塊預(yù)處理后的數(shù)據(jù)和經(jīng)數(shù)據(jù)分類處理模塊分類處理后的數(shù)據(jù)。所述距離度量模塊中,度量距離可以是歐式距離、麥哈頓距離或余弦距離中任一種距離度量方式。所述分類模型訓練模塊中,初始的分類模型可以是K近鄰分類學習模型、支持向量機分類學習模型、神經(jīng)網(wǎng)絡(luò)分類學習模型或集成學習模型中任一種分類學習模型。所述分類模型訓練模塊中,特定的迭代訓練規(guī)則是指如權(quán)利要求1所述方法中第二步和第三步所述的訓練規(guī)則。本發(fā)明提供了一種基于數(shù)據(jù)密度峰值的自標記半監(jiān)督分類方法及裝置,其有益效果在于:(1)本方法構(gòu)造的類似于圖的數(shù)據(jù)空間結(jié)構(gòu)僅需一次計算,在以后的半監(jiān)督分類迭代訓練過程中無需重復(fù)計算,極大的提高了算法效率,可解決現(xiàn)有自標記半監(jiān)督分類模型大數(shù)據(jù)處理能力不足的問題;(2)本方法構(gòu)造的類似于圖的數(shù)據(jù)空間結(jié)構(gòu)不僅適應(yīng)于球狀數(shù)據(jù)結(jié)構(gòu),同時也適應(yīng)于各種形狀的數(shù)據(jù)結(jié)構(gòu),可解決現(xiàn)有自標記半監(jiān)督分類模型非球狀數(shù)據(jù)適應(yīng)性差的問題;(3)基于本方法的裝置可以部署于一個現(xiàn)有的服務(wù)器中,也可以部署于一個單獨設(shè)置的專用于進行數(shù)據(jù)分類處理的服務(wù)器中,以此對海量大數(shù)據(jù)實現(xiàn)快速準確的分類處理任務(wù)。附圖說明圖1為本發(fā)明提供的一種自標記半監(jiān)督分類方法的流程示意圖;圖2為實施例1中的數(shù)據(jù)分布二維平面圖;圖3為實施例1中構(gòu)造的類似于圖的數(shù)據(jù)空間結(jié)構(gòu)圖;圖4為本發(fā)明提供的一種自標記半監(jiān)督分類裝置的結(jié)構(gòu)示意圖。具體實施方式下面將結(jié)合附圖和優(yōu)選實施例對本發(fā)明進行詳細描述。實施例1本發(fā)明提供一種基于數(shù)據(jù)密度峰值的自標記半監(jiān)督分類方法,該方法利用DPClus聚類方法和標記數(shù)據(jù)集中帶標簽數(shù)據(jù)樣本的信息,首先構(gòu)造一個類似于圖的數(shù)據(jù)空間結(jié)構(gòu),進而利用此數(shù)據(jù)空間結(jié)構(gòu)實現(xiàn)自標記半監(jiān)督分類模型迭代訓練,該方法的流程示意圖如圖1所示。在本實施例中,首先對算法中的各標記符號說明如下:第一步:對數(shù)據(jù)集TR中的每一個數(shù)據(jù)點xi計算三個參數(shù),分別是:局部密度ρi,到具有更高局部密度點的最近鄰距離δi,用于確定xi是否為類中心的γi,計算公式如下:γi計算公式:γi=ρi×δi緊接著,根據(jù)標記數(shù)據(jù)集L中的類別個數(shù)信息k,選出前k個值擁有最大γi值的數(shù)據(jù)點xi,將其確定為類中心;同時,根據(jù)ρi與δi的計算結(jié)果,得出目標向量NNeigh;最后,根據(jù)目標向量NNeigh記錄的信息,使每一個數(shù)據(jù)點xi都單向唯一的指向其對應(yīng)的最近鄰數(shù)據(jù)點xj,直至指向類中心點,以此構(gòu)造了一個類似于圖的數(shù)據(jù)空間結(jié)構(gòu);第二步:根據(jù)第一步得出的數(shù)據(jù)空間結(jié)構(gòu),進入迭代訓練過程;首先,利用標記數(shù)據(jù)集L中的數(shù)據(jù)點訓練分類器C;其次,根據(jù)數(shù)據(jù)空間結(jié)構(gòu),從U中選出被L中所有數(shù)據(jù)點所指向的下一個數(shù)據(jù)點;最后,利用訓練好的分類器C,對從U中選出的無標簽數(shù)據(jù)點進行類別標簽判別,并將判別后的數(shù)據(jù)點加入到L中;重復(fù)迭代以上過程,直至U中所有的被L中數(shù)據(jù)點所指向的下一個數(shù)據(jù)點都被選出,并被判別類別標簽后加入到L中,才停止迭代;第三步:根據(jù)第一步得出的數(shù)據(jù)空間結(jié)構(gòu),進入迭代訓練過程;首先,利用標記數(shù)據(jù)集L中的數(shù)據(jù)點訓練分類器C;其次,根據(jù)數(shù)據(jù)空間結(jié)構(gòu),從U中選出被L中所有數(shù)據(jù)點所指向的上一個數(shù)據(jù)點;最后,利用訓練好的分類器C,對從U中選出的無標簽數(shù)據(jù)點進行類別標簽判別,并將判別后的數(shù)據(jù)點加入到L中;重復(fù)迭代以上過程,直至U中所有的數(shù)據(jù)點都被選出,并被判別類別標簽后加入到L中,才停止迭代;第四步:利用最終L中的數(shù)據(jù)點,訓練分類器C,完成訓練。本實施例中,給定一組二維空間數(shù)據(jù)集TR,TR中包含30個數(shù)據(jù)點,分類兩類,其生成方式如下:其中,N(μ,σ2)代表均值為μ和方差為σ2的正態(tài)分布函數(shù),數(shù)據(jù)分布二維平面如圖2所示;(1)對TR中的每一個數(shù)據(jù)點xi計算ρi,δi,與γi,以此可以確定2個類中心點和目標向量NNeigh。其中2個類中心點為x5和x25,目標向量NNeigh為:然后,根據(jù)目標向量NNeigh和確定的類中心點,使每一個數(shù)據(jù)點xi都單向唯一的指向其對應(yīng)的最近鄰數(shù)據(jù)點xj,直至指向類中心點,可以構(gòu)造一個類似于圖的數(shù)據(jù)空間結(jié)構(gòu),如圖3所示;(2)假設(shè)L中的初始標記數(shù)據(jù)點為x11,x15,x28和x30,首先利用該4個帶標簽數(shù)據(jù)點訓練分類器C,然后,對于每次迭代過程,U中被選出來用于判別訓練的數(shù)據(jù)點情況如下:迭代次數(shù)123U中選出的數(shù)據(jù)點x8,x12,x16,x17x9,x10,x25,x18x14,x5,x26迭代完成,L中的數(shù)據(jù)點有x5,x8,x9,x10,x11,x12,x14,x15,x16,x17,x18,x25,x26,x28,x30;(3)首先利用L中的15個帶標簽數(shù)據(jù)點訓練分類器C,然后,對于每次迭代過程,U中被選出來用于判別訓練的數(shù)據(jù)點情況如下:迭代次數(shù)123U中選出的數(shù)據(jù)點x1,x3,x6,x7,x13,x24,x21,x27,x29x2,x23,x22x4,x19,x20迭代完成,L中已包括TR中的全部30個數(shù)據(jù)點。(4)利用最終L中的30個數(shù)據(jù)點,訓練分類器C,完成訓練。本實施例還提供一種基于數(shù)據(jù)密度峰值的自標記半監(jiān)督分類裝置,該裝置包括數(shù)據(jù)接收預(yù)處理模塊1、數(shù)據(jù)存儲模塊2、距離度量模塊3、數(shù)據(jù)空間結(jié)構(gòu)構(gòu)造模塊4、分類模型訓練模塊5和數(shù)據(jù)分類處理模塊6,其結(jié)構(gòu)示意圖如圖4所示;數(shù)據(jù)接收預(yù)處理模塊1:接收需進行分類處理的無標簽數(shù)據(jù)和已有的帶標簽數(shù)據(jù),并將其分為訓練集和測試集,其中要求訓練集中包括所有的帶標簽數(shù)據(jù)和大量或所有的無標簽數(shù)據(jù),測試集中包括所有的無標簽數(shù)據(jù),將預(yù)處理后的數(shù)據(jù)直接存放于數(shù)據(jù)存儲模塊2中;距離度量模塊3:從數(shù)據(jù)存儲模塊2中讀取訓練集中的所有數(shù)據(jù),通過距離度量方式(歐式距離、麥哈頓距離、余弦距離等任何一種距離度量方式),計算每兩個數(shù)據(jù)點之間的距離,獲取距離度量矩陣;數(shù)據(jù)空間結(jié)構(gòu)構(gòu)造模塊4:利用距離度量模塊3獲取的距離度量矩陣,通過對每個數(shù)據(jù)點計算“局部密度ρi”和“到具有更高局部密度點的最近鄰距離δi”兩個參數(shù),得出目標向量NNeigh,進一步利用已有帶標簽數(shù)據(jù)所攜帶的信息確定類中心點,構(gòu)造一個類似于圖的數(shù)據(jù)空間結(jié)構(gòu);分類模型訓練模塊5:利用數(shù)據(jù)空間結(jié)構(gòu)構(gòu)造模塊4構(gòu)造的數(shù)據(jù)空間結(jié)構(gòu),按照本發(fā)明所提供的“一種基于數(shù)據(jù)密度峰值的自標記半監(jiān)督分類方法”所述的特定規(guī)則,迭代地訓練分類模型,直至達到迭代停止條件;此模塊所運用的分類模型可以是包括K近鄰分類學習模型、支持向量機分類學習模型、神經(jīng)網(wǎng)絡(luò)分類學習模型和集成學習模型等的任何一種分類學習模型;數(shù)據(jù)分類處理模塊6:從數(shù)據(jù)存儲模塊2中讀取測試集中的所有數(shù)據(jù),利用分類模型訓練模塊5已經(jīng)訓練好的分類模型,對數(shù)據(jù)進行分類預(yù)測,實現(xiàn)數(shù)據(jù)分類處理,并將結(jié)果存儲于數(shù)據(jù)存儲模塊2中;數(shù)據(jù)存儲模塊2:存儲經(jīng)數(shù)據(jù)接收預(yù)處理模塊1預(yù)處理后的數(shù)據(jù)和經(jīng)數(shù)據(jù)分類處理模塊6分類處理后的數(shù)據(jù)。參見圖4,由本發(fā)明提出的分類裝置結(jié)構(gòu)為:首先將數(shù)據(jù)輸入到數(shù)據(jù)接收預(yù)處理模塊1中,經(jīng)其預(yù)處理后存儲于數(shù)據(jù)存儲模塊2中;然后經(jīng)距離度量模塊3獲取距離度量矩陣;緊接著,經(jīng)過數(shù)據(jù)空間結(jié)構(gòu)構(gòu)造模塊4構(gòu)造一個類似于圖的數(shù)據(jù)空間結(jié)構(gòu);進一步,經(jīng)過分類模型訓練模塊實現(xiàn)分類模型的訓練;最后,數(shù)據(jù)分類處理模型6從數(shù)據(jù)存儲模塊2中讀取需要分類處理的數(shù)據(jù),利用分類模型訓練模塊5訓練好的分類模型,對數(shù)據(jù)進行分類處理,并將結(jié)果存儲于數(shù)據(jù)存儲模塊2中,以備后續(xù)應(yīng)用。上述僅為本發(fā)明的優(yōu)選實施例,并不限制本發(fā)明;本領(lǐng)域技術(shù)人員可以對本發(fā)明進行改動和變型而不脫離本發(fā)明的精神和范圍。倘若本發(fā)明的修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)范圍之內(nèi),則本發(fā)明也包含這些改動和變型。當前第1頁1 2 3