皋 軍, 黃欣辰, 邵 星
(1.江蘇科技大學 計算機學院, 鎮(zhèn)江 212003)(2.鹽城工學院 信息工程學院, 鹽城 224002)
聚類分析的目的是依據(jù)對象之間的相似度將數(shù)據(jù)對象分組,使得簇內(nèi)對象相似度盡量高,而簇間對象相似度盡量低,簇內(nèi)相似性越大,簇間差別越大,聚類就越好[1].常用的聚類分析方法分為:基于劃分的聚類方法[2],將數(shù)據(jù)對象集劃分成不重疊的簇,使得每個數(shù)據(jù)對象僅在一個簇中;基于層次的聚類方法[3],允許簇有子簇,嵌套簇的集群,組織成一棵樹;基于密度的聚類方法[4],將高密度與低密度區(qū)域分離來進行分類;譜聚類方法[5],依據(jù)譜圖理論將聚類問題轉(zhuǎn)化為圖劃分問題.
單個的聚類方法不能產(chǎn)生令人滿意的結(jié)果,因此促進了聚類集成的研究. 文獻[6]將多個不同的聚類結(jié)果進行合并,從而獲得比傳統(tǒng)聚類算法更好的聚類結(jié)果. 作為傳統(tǒng)聚集算法的重要擴展,聚類集成能取得更加優(yōu)越的聚類結(jié)果,且在處理數(shù)據(jù)樣本時采用并行的方式進行合并,但缺點是若產(chǎn)生了結(jié)構(gòu)不同的初始聚類成員,因此如何取舍對最終的聚類結(jié)果產(chǎn)生極大的影響[7]. 文獻[8]提出了聚類集成選擇(Cluster Ensemble Selection)的思想,即從初始聚類成員集中選擇滿足某些規(guī)則的部分聚類成員用于集成,進而產(chǎn)生最終聚類結(jié)果,該方法可以選擇出差異度大的聚類成員參與集成,以確保最終聚類結(jié)果質(zhì)量.
目前聚類集成和聚類集成選擇技術(shù)的研究主要集中在無監(jiān)督學習領(lǐng)域中,沒有考慮到用戶或者專家提供的先驗知識. 半監(jiān)督聚類集成將少量帶有標簽的數(shù)據(jù)帶入到聚類集成中,監(jiān)督與指導集成過程,最終會獲得更加優(yōu)越的聚類結(jié)果,使得整個過程更具穩(wěn)定性、準確性和魯棒性[9-11].文獻[12]提出了一種基于成對約束的判別型半監(jiān)督聚類分析算法,利用成對約束和線性判別分析對數(shù)據(jù)同時進行聚類和降維,并在算法目標函數(shù)中增加懲罰項,以解決約束違反問題,取得了滿意的聚類結(jié)果.
與現(xiàn)有聚類集成算法不同,文中將選擇聚類與半監(jiān)督聚類結(jié)合,首先通過基于成員質(zhì)量和差異度的選擇方法選出一部分初始聚類成員[13],然后借鑒半監(jiān)督聚類集成的關(guān)鍵思想,利用成對約束等先驗知識,將半監(jiān)督信息帶入到選擇聚類集成過程,選擇出最終聚類成員集,設計了一種半監(jiān)督選擇聚類集成方法(semi-supervised selective cluster ensemble,SSCES). 并在多組基準數(shù)據(jù)集上進行實驗,表明SSCES能夠提升聚類質(zhì)量,取得更好的聚類結(jié)果.
選擇性聚類集成是在傳統(tǒng)聚類集成的框架上[6],增加了聚類成員選擇的步驟. 一般分為3步:第一步,聚類成員生成輸入數(shù)據(jù)集,運行常用聚類分析算法,輸出聚類成員集P={p1,p2,…,pH};第二步,聚類成員選擇將輸入聚類成員集P,對聚類成員進行選擇,得到集成成員集P′={P′1,P′2,…,P′k};第三步,共識函數(shù)設計輸入集成成員集P′,對集成成員集進行融合,輸出最終結(jié)果Pf.
常用的聚類成員生成方法有以下幾種:第一種方法是對原始數(shù)據(jù)集進行處理,如對數(shù)據(jù)集采用不同的采樣方法得到多個樣本數(shù)據(jù)集;第二種方法是輸入不同的輸入特征,如設置不同的k值;第三種方法是對同一數(shù)據(jù)集多次執(zhí)行同一種算法,由于選擇的初值不同,可以獲得不同的聚類結(jié)果[14].
因為k-means算法簡單、實用,且對初始化、參數(shù)及其特征的變動極為敏感. 一般選擇k-means算法作為聚類成員的生成算法. 假設有N個數(shù)據(jù)對象的數(shù)據(jù)集X={x1,x2,…,xN},令k值固定,通過隨機化初始聚類中心來得到初始聚類成員pi(i=1,2,…,H).運行H次,得到聚類成員集P={p1,p2,…,pH}.
聚類成員選擇的目的是為了從聚類成員集中選出部分聚類成員組成集成成員集P′={P′1,P′2,…,P′k}.使用適用的成員選擇方法,選出差異度大的聚類成員參加聚類集成,能夠使聚類集成質(zhì)量提高.文獻[15]設計了一種聯(lián)合聚類質(zhì)量和差異度的聚類成員選擇方法,該方法使用聚類評價指標對聚類成員進行評價,然后按照評價結(jié)果的高低排序,選擇出質(zhì)量好且差異度大的聚類成員參與集成,很好地降低了劣質(zhì)成員的影響.
其中聯(lián)合聚類質(zhì)量和差異度的目標函數(shù)為:
SE(Pi)=αQi+(1-α)Di
(1)
式中:α為平衡因子,滿足0<α<1,α值默認為0.5;Qi為聚類成員集P中第i個聚類成員的質(zhì)量;Di為聚類成員集P中第i個聚類成員的的差異度.SE值越大,聚類成員質(zhì)量越好,差異度越大.
共識函數(shù)??梢远x為RN×H→RN的函數(shù),即將多個聚類成員融合得到最終聚類結(jié)果:
Γ:{pi|i∈{1,2,…,H}}→Pf
(2)
文獻[16]提出了一種基于譜聚類的聚類集成算法,該方法實現(xiàn)簡單,聚類結(jié)果穩(wěn)定,不存在局部極值問題. 聚類成員選擇出來的前K個聚類成員形成一個N×K的矩陣P′={P′1,P′2,…,P′k}N×K,兩個數(shù)據(jù)點xi和xj之間的相似性即P′中第i行和第j行的相似性用歸一化互信息(normalized mutual information,NMI)方法來評價.
數(shù)據(jù)點xi和xj之間的相似性矩陣S為:
S=(s(xi,xj))N×K
(3)
式中:s(xi,xj)=NMI(P′(i,:),P′(j,:))
求解拉普拉斯矩陣L的最小特征值(λ1,λ2,…,λk)和對應的特征向量(μ1,μ2,…,μk),將特征向量組成的特征空間用F表示.
F=(μ1,μ2,…,μk)N×K
(4)
譜聚類算法將聚類成員映射到特征向量空間F中,對特征向量空間F使用k-means算法,就能得到最終的聚類結(jié)果Pf.
選擇性聚類集成研究集中在無監(jiān)督學習領(lǐng)域,未考慮到現(xiàn)實中用戶能通過某些手段或途徑收集到數(shù)據(jù)的少量真實信息,因此文中將半監(jiān)督信息添加到選擇聚類集成中,以提高聚類性能. 具體過程如圖1.
圖1 SSCES算法流程Fig.1 Algorithm flowchart of SSCES
受到文獻[12]的啟發(fā),利用成對約束的方法來指導半監(jiān)督信息的添加.
定義1Must-link集合M={(xi,xj)},若(xi,xj)∈M,則表明數(shù)據(jù)xi和xj必屬于同類,即xi和xj滿足正關(guān)聯(lián)約束關(guān)系.
定義2Cannot-link集合C={(xi,xj),若(xi,xj)∈C,則表明數(shù)據(jù)xi和xj必屬于不同類,即xi和xj滿足負關(guān)聯(lián)約束關(guān)系.
故可用aij來表示樣本點i和樣本點j之間的相似度:
(5)
即樣本點i和j滿足Must-link約束aij=1,否則aij=0.
根據(jù)公式(5),可以得到包含Must-link約束繼續(xù)的矩陣M和包含Cannot-link約束信息的矩陣C. 矩陣M和矩陣C的維度與數(shù)據(jù)集X的相似性矩陣S相同.
加入半監(jiān)督信息后的相似性矩陣用D表示:
D=S-C+M
(6)
因為矩陣S、M和C的取值范圍都在0~1,所以矩陣D的取值范圍在-1~2之間,因此需要對矩陣D繼續(xù)優(yōu)化. 若兩個樣本的相似度大于1則必屬于同一類,相似度取1即可;若兩個樣本的相似度小于0,1則必屬于不同類,相似度取0即可. 因此用式(7)來優(yōu)化矩陣D,獲得半監(jiān)督相似性矩陣S′:
(7)
半監(jiān)督選擇性聚類集成算法(表1)實現(xiàn)如下:首先選擇簡單實用的k-means算法作為基礎(chǔ)算法,生成初始聚類集成成員,將結(jié)果保存在成員集P中;然后根據(jù)聯(lián)合聚類質(zhì)量和差異度的選擇策略,形成集成成員集P′,利用歸一化互信息NMI計算獲得相似性矩陣S;接著根據(jù)成對約束原理,獲得約束信息矩陣M和C;輸入相似性矩陣S,得到半監(jiān)督相似性矩陣S′;最后使用譜聚類算法進行集成,得到最終聚類結(jié)果.
表1 半監(jiān)督選擇性聚類集成算法Table 1 Semi-supervised selective clustering ensemble
實驗中共選用了9組數(shù)據(jù)集(表2),其中5組UCI數(shù)據(jù)集,2組手寫體圖像數(shù)據(jù)集,2組人臉數(shù)據(jù)集. 樣本數(shù)從98~2 500不等,特征數(shù)從4~1 024不等,類別數(shù)從2~40不等.
表2 實驗數(shù)據(jù)集Table 2 Experimental Data Setse
因為所選的數(shù)據(jù)集類別標簽已知,真實的類別標簽可以為各類評價指標使用. 實驗采用宏查準率(Mp)和純度(Pu)兩種常見的聚類性能評價指標來判斷聚類效果.
宏查準率具體公式為:
(8)
式中:k為數(shù)據(jù)集的類別數(shù);n為數(shù)據(jù)集中對象的總數(shù);ai為聚類結(jié)果中正確分到第i個類的個數(shù). 顯然Mp值越大,聚類結(jié)果和真實類別標簽越匹配,當聚類結(jié)果和真實類別標簽一一對應時,Mp值達到最大值1.
純度是簇中單個類的對象的一種度量方式,反映了算法的簇劃分能力.具體公式為:
(9)
式中:B={B1,B2,…,Bk}為聚類子簇集,Bk為聚類子簇集B中第k個子簇;C={C1,C2,…,Ci}為真實類簇集,Ci為真實類簇集C中第i個類別;n為數(shù)據(jù)集C數(shù)據(jù)總數(shù);純度值越接近1,純度越高,聚類效果越好.
通過實驗驗證提出的SSCES算法能否取得較好的聚類效果. 實驗分為兩個部分:第一部分測試所提算法的基本聚類能力,SSCES算法是半監(jiān)督算法,集成過程中,選擇多少帶標簽的數(shù)據(jù)參與集成特別重要,文中選取了比例10%~20%的約束信息進行實驗;第二部分與其他聚類集成算法進行對比. 對比算法包括:無監(jiān)督聚類集成算法CSPA、HGPA[6],聯(lián)合質(zhì)量和差異度的選擇聚類集成算法JPsel[17],半監(jiān)督聚類集成算法SDPE[11]. 為了實驗具有可對比性,實驗以k-means算法生成初始聚類成員P={p1,p2,…,pH},作為幾種聚類集成算法的輸入.
3.3.1 測試算法基本聚類能力
UCI數(shù)據(jù)集常用來測試聚類算法的聚類效果. 通過測試UCI數(shù)據(jù)集的5個數(shù)據(jù)子集:IRIS數(shù)據(jù)集、lymphography數(shù)據(jù)集、ZOO數(shù)據(jù)集、Ionosphere數(shù)據(jù)集和Segment數(shù)據(jù)集來表明所提方法的基本聚類能力. 表3為選取10%~20%的有標簽數(shù)據(jù)時,得到的成對約束數(shù)量.表4為SSCES算法分別在10%、12%、14%、16%、18%、20%不同比例有標簽數(shù)據(jù)下的Mp值(算法用SSCES1、SSCES2、SSCES3、SSCES4、SSCES5、SSCES6表示). 表5為SSCES算法在不同比例有標簽數(shù)據(jù)下的Pu值.為了更直觀的將算法不同比例下的Mp值和Pu值進行比較,將表4和表5中的數(shù)據(jù)以柱形圖的方式,展現(xiàn)在圖2和圖3中.
從表3、4、5,圖2和3可以得到出:
(1) 表3顯示隨著帶標簽數(shù)據(jù)比例的增加,約束信息對的個數(shù)也大幅增加,其中負關(guān)聯(lián)約束個數(shù)多于正正關(guān)聯(lián)約束對個數(shù)
(2) 從表4中可以看出,SSCES算法在實驗所選的5個數(shù)據(jù)集上的最大Mp值超過0.420. 在IRIS、ZOO、Ionosphere、Segment等4個數(shù)據(jù)集上最大Mp值超過0.620. 表明SSCES算法在這些數(shù)據(jù)集上能取得較好的聚類效果.從表5可以看出SSCES算法在所選5個數(shù)據(jù)集上的Pu值均超過0.7, 說明算法得到的子簇內(nèi)部類別較為單一,算法具有較好的聚類性能.
(3) 從圖2可以發(fā)現(xiàn),當半監(jiān)督比例為10%時,SSCES算法在4個數(shù)據(jù)集IRIS、lymphography、ZOO、Segment上取得了較高Mp值. 當半監(jiān)督比例為14%時,SSCES算法在IRIS數(shù)據(jù)集上取得了較高Mp值. 當半監(jiān)督比例為20%時,SSCES在數(shù)據(jù)集Ionosphere上可以取得較高值.
(4) 結(jié)合表3和圖2,可以發(fā)現(xiàn)隨著約束信息對的增加,聚類算法在Ionosphere數(shù)據(jù)集上的Mp值一定值在增加,但在其他數(shù)據(jù)集上不總是在增加.
綜上可以得出,文中所提出的SSCES算法在實驗所選的5個UCI數(shù)據(jù)集上能取得較好的聚類效果,但隨著約束信息對的增多,聚類性能不一定得到提升,這可能與過多的負關(guān)聯(lián)約束引起的約束違反有關(guān),當帶標簽的數(shù)據(jù)比例為10%時,所獲得聚類效果最佳.
表3 SSCES算法獲得的約束對Table 3 Constraint pairs obtained by SSCES algorithm
表4 SSCES算法的宏查準率Table 4 Micro-p of SSCES algorithm
表5 SSCES算法的純度值Table 5 Purity value of SSCES algorithm
圖2 宏查準率Fig.2 Micro-p
圖3 純度Fig.3 Purity
3.3.2 與其他聚類算法進行對比
在大容量數(shù)據(jù)集上進行實驗,能更好的驗證聚類算法性能. 在大容量數(shù)據(jù)集USPS、MNIST、ORL和Yale上,將文中提出的算法SSCES與CSPA、HGPA、 JPsel、SDPE進行比較.
表6為大容量數(shù)據(jù)集上SSCES算法在不同比例參數(shù)下的Mp值.從中可以發(fā)現(xiàn)當半監(jiān)督比例參數(shù)為10%時,SSCES算法取得了最高Mp值.將表6中SSCES算法的最高Mp值加入到表7中,得到表8,以此驗證所提算法的聚類性能.
表6 SSCES算法在大容量數(shù)據(jù)集上的實驗結(jié)果Table 6 Results of SSCES algorithm on data sets
表7 其他算法在大容量數(shù)據(jù)集上的實驗結(jié)果Table 7 Results of different algorithms on data sets
表8 文中算法與其他算法的結(jié)果比較Table 8 Results of SSCES and other different algorithms
同時為了更直觀地比較SSCES算法和其他幾種聚類算法的Mp值,將表8中不同聚類算法的Mp值以柱形圖展示在圖4中.
圖4 文中算法與其他算法的結(jié)果比較Fig.4 Results of SSCES and other different algorithms
觀察表8和圖4,可以更直觀的發(fā)現(xiàn):
(1) 在實驗所取得4個大容量數(shù)據(jù)集上,SSCES、JPsel、SDPE 3種改進算法的Mp值都普遍高于傳統(tǒng)的聚類集成算法CSPA和GSPA,在數(shù)據(jù)集USPS、MNIST、Yale上,SSCES算法取得了最高Mp值. 在數(shù)據(jù)集ORL上,JPsel算法取得了最高Mp值. 說明SCES算法在這些數(shù)據(jù)集上有較好的聚類效果,但無法保證一定能提升原有模型的聚類效果.
(2) 從圖4可以發(fā)現(xiàn),SSCES的柱狀圖在大多數(shù)數(shù)據(jù)集上比其他聚類算法更占據(jù)優(yōu)勢,且優(yōu)勢較為明顯. 說明在加入半監(jiān)督信息后,半監(jiān)督選擇聚類集成取得了較好的聚類效果.
總體來看,SSCES算法相比較傳統(tǒng)的聚類集成算法、選擇性聚類集成算法和半監(jiān)督聚類集成算法更具有優(yōu)勢,在多數(shù)組數(shù)據(jù)集上都獲得了最好的聚類結(jié)果,因此文中提出的半監(jiān)督選擇聚類集成方法能提高選擇性聚類集成的聚類效果.
文中在選擇性聚類集成算法的基礎(chǔ)上,將半監(jiān)督的信息添加到選擇性聚類集成中,提出一種半監(jiān)督選擇性聚類集成方法(SSCES),提高了聚類算法的性能. 實驗結(jié)果表明,基于成對約束的半監(jiān)督信息加入的SSCES算法能夠改善選擇聚類集成算法的表現(xiàn),在一定條件下,SSCES算法取得的聚類效果優(yōu)于其他聚類集成算法. 同時實驗也顯示在某些數(shù)據(jù)集上,SSCES算法沒能取得較高的聚類結(jié)果,起到了相反的作用. 如何消除半監(jiān)督信息添加后帶來的消極作用,獲得更加優(yōu)越的結(jié)果,將是今后研究的重點.