本發(fā)明屬于數(shù)據(jù)挖掘領(lǐng)域,具體涉及的是一種利用對(duì)聚類融合的成員進(jìn)行增量選擇和對(duì)共協(xié)矩陣進(jìn)行改進(jìn)的聚類融合方法。
背景技術(shù):
數(shù)據(jù)聚類作為一種了解數(shù)據(jù)集結(jié)構(gòu)的有用工具,已經(jīng)被廣泛應(yīng)用于各種領(lǐng)域,如生物學(xué)、模式識(shí)別、物理學(xué)和推薦系統(tǒng)等。聚類的目標(biāo)是把數(shù)據(jù)劃分到簇,使得同一個(gè)簇內(nèi)的對(duì)象更相似,不同簇內(nèi)的對(duì)象不相似。盡管關(guān)于聚類的研究(海沫.大數(shù)據(jù)聚類算法綜述[J].計(jì)算機(jī)科學(xué),2016(s1))中有許多聚類算法,但是每個(gè)聚類算法都有優(yōu)點(diǎn)和缺點(diǎn),故而并不是每個(gè)算法都能適用于所有數(shù)據(jù)集。
近年來(lái),聚類融合作為一個(gè)十分重要的數(shù)據(jù)分析工具,已經(jīng)克服了上述缺陷。聚類融合的主要目標(biāo)是合并不同聚類算法的聚類結(jié)果,生成一個(gè)更準(zhǔn)確的共識(shí)聚類結(jié)果。聚類融合的精度優(yōu)先于獨(dú)立的聚類算法。現(xiàn)有研究表明,要得到較優(yōu)的聚類融合結(jié)果,必須同時(shí)考慮聚類成員的質(zhì)量和聚類成員之間的差異性(李丹丹.基于權(quán)重設(shè)計(jì)的聚類融合算法研究及應(yīng)用[D].遼寧工程技術(shù)大學(xué),2009)。聚類融合綜合利用了多種聚類算法對(duì)數(shù)據(jù)進(jìn)行聚類,避免了使用單一聚類算法的缺點(diǎn)。
聚類融合的核心思想是將由不同聚類算法得到的多個(gè)聚類結(jié)果進(jìn)行合并,使最終融合后的結(jié)果在最大程度上共享所有單個(gè)聚類結(jié)果對(duì)數(shù)據(jù)集的聚類信息,且優(yōu)于單個(gè)聚類算法的結(jié)果(秦鋒,陳奇明,程澤凱.聚類融合算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(07):106-108)。聚類融合的定義為:合并多個(gè)對(duì)一組對(duì)象進(jìn)行劃分的不同結(jié)果,且不使用對(duì)象原有的特征。聚類融合方法由兩部分組成:聚類成員生成和共識(shí)函數(shù)設(shè)計(jì)。假設(shè)原始數(shù)據(jù)集X有n個(gè)樣本X={x1,x2,…xn},首先由單個(gè)或多個(gè)聚類算法對(duì)數(shù)據(jù)集X進(jìn)行M次有差異的劃分,得到M組聚類結(jié)果P={P1,P2,…PM},即M個(gè)聚類融合成員,其中Pm(m=1,2,…M)為第m次聚類得到的聚類結(jié)果,每個(gè)聚類融合成員Pm中都有km個(gè)簇。最后,設(shè)計(jì)一個(gè)共識(shí)函數(shù)Γ對(duì)M個(gè)聚類成員進(jìn)行集成得到一個(gè)最終的劃分P*(劉雄.基于k-means的改進(jìn)聚類融合算法的研究與應(yīng)用[D].中南大學(xué),2011)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明綜合考慮平方誤差和、局部成本函數(shù)、融合成員之間的相似度等因素,增量選擇聚類融合成員(侯娟.聚類融合算法及其應(yīng)用研究[D].中南大學(xué),2010),篩除對(duì)最終聚類結(jié)果貢獻(xiàn)相對(duì)較少的聚類融合成員。利用選中的聚類融合成員,根據(jù)成員劃分之間的關(guān)系,考慮兩個(gè)數(shù)據(jù)點(diǎn)同時(shí)出現(xiàn)在一個(gè)簇的概率和該簇的穩(wěn)定性,構(gòu)造改進(jìn)的共協(xié)矩陣(李丹丹,褚麗麗.加權(quán)共協(xié)矩陣聚類融合研究[J].科技和產(chǎn)業(yè),2010,10(1):89-91)。根據(jù)共協(xié)矩陣構(gòu)造加權(quán)圖,應(yīng)用歸一化割算法(王洋洋,劉柏嵩,劉薇.基于歸一化割的主題劃分算法研究[J].寧波大學(xué)學(xué)報(bào)(理工版),2013(4):40-44)對(duì)加權(quán)圖進(jìn)行分割得到最終聚類結(jié)果。
本發(fā)明所要解決的技術(shù)問(wèn)題是基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法。通過(guò)綜合平方誤差和、局部成本函數(shù)、聚類融合成員之間的相似度等因素,增量選擇融合成員,篩除對(duì)最終聚類結(jié)果貢獻(xiàn)相對(duì)較少的融合成員。利用選中的融合成員,根據(jù)成員劃分之間的關(guān)系,考慮兩個(gè)數(shù)據(jù)點(diǎn)同時(shí)出現(xiàn)在一個(gè)簇的概率和該簇的穩(wěn)定性,構(gòu)造改進(jìn)的共協(xié)矩陣。根據(jù)共協(xié)矩陣構(gòu)造加權(quán)圖,應(yīng)用歸一化割算法對(duì)加權(quán)圖進(jìn)行分割得到最終聚類結(jié)果。本發(fā)明能夠有效減少原來(lái)聚類融合算法的工作量,篩除對(duì)于最終聚類結(jié)果影響較小的融合成員,同時(shí)提高聚類融合的準(zhǔn)確度和精度。
本發(fā)明的技術(shù)方案如下:
基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法,包括以下步驟:
步驟1),用K-means算法對(duì)數(shù)據(jù)集X進(jìn)行M次有差異的聚類,最終得到M個(gè)有差異的劃分P1,P2,…PM,組成聚類融合成員集合Old={P1,P2,…PM}。
步驟2),根據(jù)誤差平方和SSE,升序排列步驟1)得到的聚類融合成員集合Old={P1,P2,…PM},選擇SSE最小的聚類融合成員加入新的聚類融合成員集合New;根據(jù)局部成本函數(shù)升序排列聚類融合成員集合Old={P1,P2,…PM}中剩余的M-1個(gè)聚類融合成員,判斷若聚類融合成員Pm加入New后,分別計(jì)算用New和New'=New+Pm得到的最終聚類結(jié)果的誤差平方和SSE(New)和SSE(New'),若SSE(New)>SSE(New'),則New=New',Old=Old-Pm,否則New和Old不變,繼續(xù)判斷下一個(gè)聚類融合成員Pm+1,如此迭代的增量選擇直至New中有W個(gè)聚類融合成員。
步驟3),考慮步驟2)得到的W個(gè)聚類融合成員之間的關(guān)系,考慮數(shù)據(jù)點(diǎn)xi和xj同時(shí)落在簇Cwh(聚類融合成員Pw的第h個(gè)簇)的概率P(xi,xj|Cwh)和簇Cwh的穩(wěn)定性S'(Cwh),根據(jù)公式構(gòu)造共協(xié)矩陣CM。
步驟4),根據(jù)步驟3)得到的共協(xié)矩陣CM建立加權(quán)圖G=(V,E)和對(duì)角矩陣D,求出特征系統(tǒng)(D-CM)y=λDy的特征值和與其相對(duì)應(yīng)的特征向量,使用具有第二個(gè)最小特征值的特征向量將加權(quán)圖G劃分為兩部分,根據(jù)Ncut值是否穩(wěn)定判斷是否需要繼續(xù)分割,若是,遞歸此步驟分割上一次分割好的圖。
進(jìn)一步的,本發(fā)明的基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法,步驟1)用K-means算法對(duì)數(shù)據(jù)集X進(jìn)行M次有差異的聚類,即K-means算法每次選取不同的初始聚類中心,最終得到M個(gè)有差異的劃分P1,P2,…PM,組成聚類融合成員集合Old={P1,P2,…PM}。
進(jìn)一步的,本發(fā)明的基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法,步驟2)根據(jù)誤差平方和(km表示劃分Pm所包含的簇的數(shù)量,Pmi表示劃分Pm的第i個(gè)簇,cmi為簇Pmi的質(zhì)心),升序排列步驟1)得到的聚類融合成員集合Old={P1,P2,…PM},選擇SSE最小的聚類融合成員加入新的聚類融合成員集合New;根據(jù)局部成本函數(shù)測(cè)量聚類融合成員Pm與其它每個(gè)聚類融合成員之間的相似性,升序排列聚類融合成員集合Old={P1,P2,…PM}中剩余的M-1個(gè)聚類融合成員,判斷若聚類融合成員Pm加入New后,分別計(jì)算用New和New'=New+Pm得到的最終聚類結(jié)果的誤差平方和SSE(New)和SSE(New'),若SSE(New)>SSE(New'),則New=New',Old=Old-Pm,否則New和Old不變,繼續(xù)判斷下一個(gè)聚類融合成員Pm+1,如此迭代的增量選擇直至New中有W個(gè)聚類融合成員。
其中表示成員Pm和Pt之間的相似度,km和kt分別表示聚類融合成員Pm和Pt中的簇的數(shù)量,nij表示在聚類融合成員Pm中的第i個(gè)簇和在聚類融合成員Pt中的第j個(gè)簇的數(shù)據(jù)的數(shù)量,ni.表示在聚類融合成員Pm中的第i個(gè)簇的數(shù)據(jù)的數(shù)量,n.j在聚類融合成員Pt中的第j個(gè)簇的數(shù)據(jù)的數(shù)量。
進(jìn)一步的,本發(fā)明的基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法,步驟3)考慮數(shù)據(jù)點(diǎn)xi和xj同時(shí)落在簇Cwh的概率和簇Cwh的穩(wěn)定性的標(biāo)準(zhǔn)化(P是聚類融合成員集合New中的所有基本簇的集合),根據(jù)公式構(gòu)造共協(xié)矩陣CM。
其中S(Cwh)表示簇Cwh的穩(wěn)定性,|Cwh|表示簇Cwh的數(shù)據(jù)的數(shù)量,kw分別表示聚類融合成員Pw中的簇的數(shù)量。
進(jìn)一步的,本發(fā)明的基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法,步驟4)根據(jù)步驟3)得到的共協(xié)矩陣CM建立加權(quán)圖G=(V,E),V是加權(quán)圖G的頂點(diǎn)集合,頂點(diǎn)集合的內(nèi)容是共協(xié)矩陣CM中的xi,E是加權(quán)圖G的邊集合,邊集合的內(nèi)容是兩個(gè)頂點(diǎn)xi和xj在共協(xié)矩陣CM中對(duì)應(yīng)的值CM(i,j);根據(jù)步驟3)得到的共協(xié)矩陣CM建立對(duì)角矩陣D,D對(duì)角線上的值di=∑jCM(i,j)(i≠j);根據(jù)共協(xié)矩陣CM和對(duì)角矩陣D求出特征系統(tǒng)(D-CM)y=λDy的特征值和與其相對(duì)應(yīng)的特征向量;使用具有第二個(gè)最小特征值的特征向量將加權(quán)圖G劃分為A和B兩部分;根據(jù)Ncut值是否穩(wěn)定判斷是否需要繼續(xù)分割,若是,遞歸此步驟分割上一次分割好的圖。
表示A和B之間的相似度,cut(A,B)=∑i∈A,j∈BCM(i,j),assoc(A,V)=∑i∈A,j∈VCM(i,j),assoc(B,V)=∑i∈B,j∈VCM(i,j),V是整個(gè)圖,assoc(A,V)和assoc(B,V)分別表示A內(nèi)的點(diǎn)與V和B內(nèi)的點(diǎn)與V之間的權(quán)重和。
有益效果
本發(fā)明針對(duì)聚類融合的改進(jìn),基于增量成員選擇和改進(jìn)的共協(xié)矩陣,能夠減少原來(lái)聚類融合算法的工作量,篩除對(duì)于最終聚類結(jié)果影響較小的融合成員,同時(shí)提高了聚類融合的準(zhǔn)確和精度。該方法基于誤差平方和、局部成本函數(shù)和聚類融合成員之間的相似度增量選擇了聚類融合成員,篩除了對(duì)最終聚類結(jié)果貢獻(xiàn)相對(duì)較少的融合成員,最大程度的涵蓋與提高了融合成員對(duì)于最終聚類結(jié)果的貢獻(xiàn)。該方法基于劃分之間的關(guān)系,考慮兩個(gè)數(shù)據(jù)點(diǎn)同時(shí)出現(xiàn)在一個(gè)簇的概率和該簇的穩(wěn)定性,對(duì)共協(xié)矩陣進(jìn)行改進(jìn),在很大程度上利用了簇的基本結(jié)構(gòu)信息。該方法相較于原來(lái)的聚類融合,提高了聚類的精準(zhǔn)度。
附圖說(shuō)明
圖1是基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法的流程圖;
圖2是基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法中增量選擇融合成員的流程圖;
具體實(shí)施方式
下面結(jié)合附圖對(duì)技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述:
結(jié)合流程圖及實(shí)施案例對(duì)本發(fā)明所述的基于增量成員選擇和改進(jìn)共協(xié)矩陣的聚類融合方法作進(jìn)一步的詳細(xì)描述。
本實(shí)施案例采用增量選擇融合成員、改進(jìn)共協(xié)矩陣的方法對(duì)聚類融合算法進(jìn)行改進(jìn),進(jìn)而提高算法的精確度。如圖1所示,本方法包含如下步驟:
步驟10,步驟1),用K-means算法對(duì)數(shù)據(jù)集X進(jìn)行M次有差異的聚類,即K-means算法每次選取不同的初始聚類中心,最終得到M個(gè)有差異的劃分P1,P2,…PM,組成聚類融合成員集合Old={P1,P2,…PM}。
步驟20,根據(jù)誤差平方和SSE、局部成本函數(shù)從步驟10得到的聚類融合成員集合Old中增量選擇W個(gè)聚類融合成員。通過(guò)圖2描述的增量選擇融合成員的方法。
步驟201,根據(jù)誤差平方和(km表示劃分Pm所包含的簇的數(shù)量,Pmi表示劃分Pm的第i個(gè)簇,cmi為簇Pmi的質(zhì)心),升序排列步驟10得到的聚類融合成員集合Old={P1,P2,…PM}。
步驟202,將步驟201得到的升序排列的M個(gè)聚類融合成員中SSE最小的聚類融合成員加入新的聚類融合成員集合New。
步驟203,根據(jù)局部成本函數(shù)測(cè)量聚類融合成員Pm與其它每個(gè)聚類融合成員之間的相似性,升序排列聚類融合成員集合Old={P1,P2,…PM}中剩余的M-1個(gè)聚類融合成員。
其中表示成員Pm和Pt之間的相似度,km和kt分別表示聚類融合成員Pm和Pt中的簇的數(shù)量,nij表示在聚類融合成員Pm中的第i個(gè)簇和在聚類融合成員Pt中的第j個(gè)簇的數(shù)據(jù)的數(shù)量,ni.表示在聚類融合成員Pm中的第i個(gè)簇的數(shù)據(jù)的數(shù)量,n.j在聚類融合成員Pt中的第j個(gè)簇的數(shù)據(jù)的數(shù)量。
步驟204,根據(jù)步驟203得到的排序依次判斷步驟203的M-1個(gè)聚類融合成員,若Pm加入New后,分別計(jì)算用New和New'=New+Pm得到的最終聚類結(jié)果的誤差平方和SSE(New)和SSE(New'),若SSE(New)>SSE(New'),則New=New',Old=Old-Pm,否則New和Old不變,繼續(xù)判斷下一個(gè)聚類融合成員Pm+1。
步驟205,重復(fù)步驟204,迭代的增量選擇直至New中有W個(gè)聚類融合成員。
步驟30,考慮步驟20得到的W個(gè)聚類融合成員之間的關(guān)系,考慮數(shù)據(jù)點(diǎn)xi和xj同時(shí)落在簇Cwh(聚類融合成員Pw的第h個(gè)簇)的概率和簇Cwh的穩(wěn)定性的標(biāo)準(zhǔn)化(P是聚類融合成員集合New中的所有基本簇的集合),根據(jù)公式構(gòu)造共協(xié)矩陣CM。
其中S(Cwh)表示簇Cwh的穩(wěn)定性,|Cwh|表示簇Cwh的數(shù)據(jù)的數(shù)量,kw分別表示聚類融合成員Pw中的簇的數(shù)量
步驟40,根據(jù)步驟30得到的共協(xié)矩陣CM建立加權(quán)圖G=(V,E),V是加權(quán)圖G的頂點(diǎn)集合,集合的內(nèi)容是共協(xié)矩陣CM中的xi,E是加權(quán)圖G的邊集合,集合的內(nèi)容是兩個(gè)頂點(diǎn)xi和xj在共協(xié)矩陣CM中對(duì)應(yīng)的值CM(i,j);根據(jù)步驟30得到的共協(xié)矩陣CM建立對(duì)角矩陣D,D對(duì)角線上的值di=∑jCM(i,j)(i≠j);根據(jù)共協(xié)矩陣CM和對(duì)角矩陣D求出特征系統(tǒng)(D-CM)y=λDy的特征值和與其相對(duì)應(yīng)的特征向量;使用具有第二個(gè)最小特征值的特征向量將加權(quán)圖G劃分為A和B兩部分;根據(jù)Ncut值是否穩(wěn)定判斷是否需要繼續(xù)分割,若是,遞歸此步驟分割上一次分割好的圖。
表示A和B之間的相似度,cut(A,B)=∑i∈A,j∈BCM(i,j),assoc(A,V)=Σi∈A,j∈VCM(i,j),assoc(B,V)=∑i∈B,j∈VCM(i,j),V是整個(gè)圖,assoc(A,V)和assoc(B,V)分別表示A內(nèi)的點(diǎn)與V和B內(nèi)的點(diǎn)與V之間的權(quán)重和。
以上所述的具體實(shí)施方案,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步的詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方案而已,并非用以限定本發(fā)明的范圍,任何本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的構(gòu)思和原則的前提下所做出的等同變化與修改,均應(yīng)屬于本發(fā)明保護(hù)的范圍。