本發(fā)明屬于電數(shù)字?jǐn)?shù)據(jù)處理的技術(shù)領(lǐng)域,特別涉及一種以機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘?yàn)榛A(chǔ)的、引入輔助信息的子集分組半監(jiān)督模糊聚類方法。
背景技術(shù):
在很多領(lǐng)域的數(shù)據(jù)處理和分析問(wèn)題中,需要使用聚類算法把一個(gè)數(shù)據(jù)集中的樣本進(jìn)行分組,使得相似的樣本被分在同一個(gè)組,進(jìn)而基于分組結(jié)果對(duì)整個(gè)數(shù)據(jù)集的內(nèi)部結(jié)構(gòu)進(jìn)行快速瀏覽、分析和處理。
模糊聚類比起硬聚類的優(yōu)勢(shì)是借助模糊集理論引入模糊隸屬度的概念,從而能夠自然的描述類之間的重疊性。為了提高傳統(tǒng)無(wú)監(jiān)督聚類方法的準(zhǔn)確度,利用少量監(jiān)督信息的半監(jiān)督聚類被提出。現(xiàn)有的半監(jiān)督聚類方法絕大多數(shù)采用兩兩對(duì)象之間的約束這種形式來(lái)實(shí)現(xiàn)監(jiān)督,使得涉及到“mustlink”約束的兩個(gè)對(duì)象被分在同一個(gè)類,而“cannotlink”約束的兩個(gè)對(duì)象分在不同的類。
然而,對(duì)包含n個(gè)對(duì)象的數(shù)據(jù)集,一共有n2個(gè)可能的兩兩關(guān)系,因此需要足夠大的數(shù)目的約束才能達(dá)到滿意的效果,在實(shí)際應(yīng)用中,獲得大量約束需要付出較大的人力勞動(dòng),且效率低下。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問(wèn)題是,現(xiàn)有技術(shù)中,半監(jiān)督聚類方法對(duì)包含n個(gè)對(duì)象的數(shù)據(jù)集,一共有n2個(gè)可能的兩兩關(guān)系,因此需要足夠大的數(shù)目的約束才能達(dá)到滿意的效果,在實(shí)際應(yīng)用中,獲得大量約束需要付出較大的人力勞動(dòng),且效率低下的問(wèn)題,進(jìn)而提供了一種優(yōu)化的子集分組半監(jiān)督模糊聚類方法。
本發(fā)明所采用的技術(shù)方案是,一種子集分組半監(jiān)督模糊聚類方法,所述方法包括以下步驟:
步驟1.1:收集用戶對(duì)待分組數(shù)據(jù)集的若干子集的分組結(jié)果,由此得到所述待分組數(shù)據(jù)集中每個(gè)對(duì)象xi的近鄰集
步驟1.2:利用近鄰集
步驟1.3:輸入矩陣x,利用矩陣w構(gòu)建目標(biāo)函數(shù),設(shè)定k為最終得到的類的數(shù)目,k>1,計(jì)算得到聚類矩陣u,并輸出。
優(yōu)選地,所述步驟1.1中,所述近鄰集
步驟1.1.1:對(duì)任一待分組樣本子集s,將s分為k個(gè)組c1,c2,...ck,所述k個(gè)組滿足c1uc2...uck=s,
步驟1.1.2:令xi∈cf,cf為第f個(gè)類,得到xi的近鄰集合n=cf\xi和k-1個(gè)遠(yuǎn)鄰集合{cr},r=1,2,...k且r≠f;
步驟1.1.3:統(tǒng)計(jì)所有樣本子集,xi出現(xiàn)在ti個(gè)樣本子集中,則對(duì)第t個(gè)樣本子集,得到xi的近鄰集
優(yōu)選地,所述步驟1.2中,
優(yōu)選地,所述步驟1.3的聚類方法為:
步驟1.3.1:設(shè)定最大循環(huán)次數(shù)a;當(dāng)前次數(shù)m=1;
步驟1.3.2:產(chǎn)生u的初始值;
步驟1.3.3:基于當(dāng)前的u,設(shè)置約束目標(biāo)函數(shù)minj=j(luò)d-βjc,其中,
步驟1.3.4:對(duì)于每個(gè)δc,c=1,2,...k,當(dāng)待分組集合為低維數(shù)據(jù)時(shí),計(jì)算
步驟1.3.5:對(duì)每個(gè)c=1,2,...k,計(jì)算沒(méi)有監(jiān)督信息情況下的
步驟1.3.6:計(jì)算
步驟1.3.7:將uic中小于0的元素置為0并歸一化,
步驟1.3.8:當(dāng)m等于a或第m次的u和第m-1次的u差值小于ε時(shí),結(jié)束,否則重復(fù)步驟1.3.4。
優(yōu)選地,所述步驟1.3.2中,u的每個(gè)元素為隨機(jī)非負(fù)值。
優(yōu)選地,所述步驟1.3.2中,u的每個(gè)元素為基于k-means的結(jié)果,當(dāng)xi被分在第f個(gè)類時(shí),u的元素uif=1,u的其他元素為0.1。
優(yōu)選地,所述步驟1.3.4中,將xi歸一化為單位長(zhǎng)度,||xi||=1。
優(yōu)選地,所述步驟1.3.6中,
優(yōu)選地,所述步驟1.3.8中,第m次的u和第m-1次的u差值以矩陣的f范數(shù)衡量,||um-um-1||f≤ε時(shí),結(jié)束。
優(yōu)選地,基于輸出的u矩陣得到每個(gè)樣本點(diǎn)的標(biāo)簽。
本發(fā)明提供了一種優(yōu)化的子集分組半監(jiān)督模糊聚類方法,通過(guò)收集用戶對(duì)多個(gè)不同子集的分組結(jié)果,獲取一定數(shù)目的子集分組信息作為對(duì)聚類的指導(dǎo),基于這些結(jié)果得到子集中的對(duì)象的近鄰集和遠(yuǎn)鄰集,通過(guò)在模糊聚類的目標(biāo)函數(shù)中加入懲罰項(xiàng)的方式實(shí)現(xiàn)子集中各個(gè)對(duì)象的類與其近鄰集中對(duì)象的類別相近,而與其遠(yuǎn)鄰集中對(duì)象的類別不同,完成聚類。本發(fā)明基于對(duì)象之間的兩兩關(guān)系,使得模糊聚類的時(shí)候不僅考慮分解誤差,還同時(shí)考慮沒(méi)有監(jiān)督信息的情況和加入子集分組監(jiān)督信息的情況,使得矩陣分解的時(shí)候不僅考慮分解誤差,還同時(shí)考慮縮小子集中對(duì)象的分組和其近鄰集中對(duì)象的分組的差別以及增大與遠(yuǎn)鄰集中對(duì)象分組的差別,不需要過(guò)大的數(shù)目的約束就能達(dá)到滿意的效果,在實(shí)際應(yīng)用中聚類迅速,效率高,人工成本低。
具體實(shí)施方式
下面結(jié)合實(shí)施例對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述,但本發(fā)明的保護(hù)范圍并不限于此。
本發(fā)明涉及一種子集分組半監(jiān)督模糊聚類方法,所述方法包括以下步驟。
步驟1.1:收集用戶對(duì)待分組數(shù)據(jù)集的若干子集的分組結(jié)果,由此得到所述待分組數(shù)據(jù)集中每個(gè)對(duì)象xi的近鄰集
所述步驟1.1中,所述近鄰集
步驟1.1.1:對(duì)任一待分組樣本子集s,將s分為k個(gè)組c1,c2,...ck,所述k個(gè)組滿足c1uc2...uck=s,
本發(fā)明中,即k個(gè)組c1,c2,...ck兩兩之間互不交叉。
步驟1.1.2:令xi∈cf,cf為第f個(gè)類,得到xi的近鄰集合n=cf\xi和k-1個(gè)遠(yuǎn)鄰集合{cr},r=1,2,...k且r≠f。
步驟1.1.3:統(tǒng)計(jì)所有樣本子集,xi出現(xiàn)在ti個(gè)樣本子集中,則對(duì)第t個(gè)樣本子集,得到xi的近鄰集
本發(fā)明中,處理所有子集分組后,得到所有子集中對(duì)象的近鄰集和遠(yuǎn)鄰集。
步驟1.2:利用近鄰集
所述步驟1.2中,
本發(fā)明中,wij為基于前一步分組結(jié)果得到的對(duì)象之間的關(guān)系權(quán)重。
步驟1.3:輸入矩陣x,利用矩陣w構(gòu)建目標(biāo)函數(shù),設(shè)定k為最終得到的類的數(shù)目,k>1,計(jì)算得到聚類矩陣u,并輸出。
本發(fā)明中,一般情況下,k遠(yuǎn)大于1且遠(yuǎn)小于數(shù)據(jù)集中對(duì)象的總數(shù)。
所述步驟1.3的聚類方法為:
步驟1.3.1:設(shè)定最大循環(huán)次數(shù)a;當(dāng)前次數(shù)m=1;
步驟1.3.2:隨機(jī)產(chǎn)生u的初始值;
所述步驟1.3.1中,u的每個(gè)元素為隨機(jī)非負(fù)值。
所述步驟1.3.1中,u的每個(gè)元素為基于k-means的結(jié)果,當(dāng)xi被分在第f個(gè)類時(shí),u的元素uif=1,u的其他元素為0.1。
本發(fā)明中,u選擇上述兩種方式中的任意一種。
步驟1.3.3:基于當(dāng)前的u,設(shè)置約束目標(biāo)函數(shù)minj=j(luò)d-βjc,其中,
本發(fā)明中,jd為控制聚類的逐項(xiàng),用于衡量每個(gè)類中的對(duì)象到其所屬的類的距離和,jc為懲罰項(xiàng)。
本發(fā)明中,最大化jc要求每個(gè)對(duì)象與其近鄰的分組盡可能接近,具體來(lái)說(shuō),即是每個(gè)對(duì)象的類的隸屬度向量與各近鄰隸屬度向量的均值的歐式距離,每個(gè)對(duì)象與其每個(gè)遠(yuǎn)鄰中的對(duì)象的分組盡可能不同,具體描述為每個(gè)對(duì)象到每個(gè)遠(yuǎn)鄰中的對(duì)象的隸屬度向量的均值的歐式距離。
步驟1.3.4:對(duì)于每個(gè)δc,c=1,2,...k,當(dāng)待分組集合為低維數(shù)據(jù)時(shí),計(jì)算
所述步驟1.3.4中,將xi歸一化為單位長(zhǎng)度,||xi||=1。
本發(fā)明中,一般來(lái)說(shuō),對(duì)于低維數(shù)據(jù)可以采用歐式距離,即
步驟1.3.5:對(duì)每個(gè)c=1,2,...k,計(jì)算沒(méi)有監(jiān)督信息情況下的
步驟1.3.6:計(jì)算
所述步驟1.3.6中,
步驟1.3.7:將uic中小于0的元素置為0并歸一化,
步驟1.3.8:當(dāng)m等于a或第m次的u和第m-1次的u差值小于ε時(shí),結(jié)束,否則重復(fù)步驟1.3.4。
所述步驟1.3.8中,第m次的u和第m-1次的u差值以矩陣的f范數(shù)衡量,||um-um-1||f≤ε時(shí),結(jié)束。
本發(fā)明中,循環(huán)結(jié)束的條件包括次數(shù)到達(dá)限定值或矩陣迭代差值小于限定值。
本發(fā)明中,第m次的矩陣u和第m-1次的矩陣u差值小于ε,主要采用矩陣的f-范數(shù)來(lái)衡量差別大小,即||um-um-1||f≤ε。
本發(fā)明中,ε的值可以由本領(lǐng)域技術(shù)人員自行設(shè)置。
本發(fā)明中,即是采用拉格朗日方法求解,得到uic和δc的迭代結(jié)果。
基于輸出的u矩陣得到每個(gè)樣本點(diǎn)的標(biāo)簽。
本發(fā)明中,把每個(gè)樣本標(biāo)簽分配給對(duì)應(yīng)的u值最大的類。
本發(fā)明中,給出一個(gè)實(shí)施例,從cora數(shù)據(jù)集中抽取本文數(shù)據(jù)集,包含1246篇英文文獻(xiàn)的摘要,涉及4個(gè)關(guān)羽操作系統(tǒng)的不同主題,經(jīng)過(guò)預(yù)處理后,剩下6737個(gè)單詞。s取6和8,分別重復(fù)分組500次和300次,隨機(jī)產(chǎn)生500個(gè)包含6個(gè)文檔的子集和300個(gè)包含8個(gè)文檔的子集。設(shè)k為4,對(duì)于s為8的情況,令β為7,對(duì)于s為6的情況,令β為10。ε=10-3。最終的聚類結(jié)果如表1所示,本發(fā)明的聚類準(zhǔn)確率顯然高于其他聚類方法。
表1:不同方法對(duì)cora數(shù)據(jù)聚類結(jié)果
本發(fā)明解決了現(xiàn)有技術(shù)中,半監(jiān)督聚類方法對(duì)包含n個(gè)對(duì)象的數(shù)據(jù)集,一共有n2個(gè)可能的兩兩關(guān)系,因此需要足夠大的數(shù)目的約束才能達(dá)到滿意的效果,在實(shí)際應(yīng)用中,獲得大量約束需要付出較大的人力勞動(dòng),且效率低下的問(wèn)題,通過(guò)收集用戶對(duì)多個(gè)不同子集的分組結(jié)果,獲取一定數(shù)目的子集分組信息作為對(duì)聚類的指導(dǎo),基于這些結(jié)果得到子集中的對(duì)象的近鄰集和遠(yuǎn)鄰集,通過(guò)收集用戶對(duì)多個(gè)不同子集的分組結(jié)果,獲取一定數(shù)目的子集分組信息作為對(duì)聚類的指導(dǎo),基于這些結(jié)果得到子集中的對(duì)象的近鄰集和遠(yuǎn)鄰集,通過(guò)在模糊聚類的目標(biāo)函數(shù)中加入懲罰項(xiàng)的方式實(shí)現(xiàn)子集中各個(gè)對(duì)象的類與其近鄰集中對(duì)象的類別相近,而與其遠(yuǎn)鄰集中對(duì)象的類別不同,完成聚類。本發(fā)明基于對(duì)象之間的兩兩關(guān)系,使得模糊聚類的時(shí)候不僅考慮分解誤差,還同時(shí)考慮沒(méi)有監(jiān)督信息的情況和加入子集分組監(jiān)督信息的情況,使得矩陣分解的時(shí)候不僅考慮分解誤差,還同時(shí)考慮縮小子集中對(duì)象的分組和其近鄰集中對(duì)象的分組的差別以及增大與遠(yuǎn)鄰集中對(duì)象分組的差別,不需要過(guò)大的數(shù)目的約束就能達(dá)到滿意的效果,在實(shí)際應(yīng)用中聚類迅速,效率高,人工成本低。