本發(fā)明一種反饋式密度峰值聚類方法及系統(tǒng),可以在任意形狀的數(shù)據(jù)集上自動聚類,涉及模式識別和機(jī)器學(xué)習(xí)領(lǐng)域。特別涉及利用svm模型反饋兩個類之間的聚類結(jié)果,根據(jù)svm訓(xùn)練得到的支持向量設(shè)計出一種新的反饋策略合并類,得到準(zhǔn)確的聚類結(jié)果。
背景技術(shù):
聚類分析是非監(jiān)督學(xué)習(xí),是數(shù)據(jù)挖掘的一個重要研究方向,大體可以分為基于劃分、基于層次、基于模型、基于密度和基于網(wǎng)格等5類聚類算法?;诿芏鹊木垲愃惴▽⒋乜醋鲾?shù)據(jù)空間中由低密度區(qū)域分隔開的高密度對象區(qū)域,同時聚類的形狀沒有基準(zhǔn),可以用來過濾噪聲孤立點(diǎn)數(shù)據(jù),發(fā)現(xiàn)任意形狀的簇。
基于密度的密度峰值聚類算法在2014年被提出,可以用于不同數(shù)據(jù)的聚類分析。密度峰值聚類算法是根據(jù)聚類中心的兩大屬性:聚類中心本身的密度較大,被密度不超過它的鄰居包圍以及聚類中心離密度大于它的點(diǎn)距離較遠(yuǎn)來繪制決策圖,快速尋找兩個屬性都大的值稱為密度峰值作為聚類中心。密度峰值聚類算法不需要預(yù)先設(shè)定類簇數(shù),同時算法復(fù)雜度不高,并能應(yīng)用于任意形狀的數(shù)據(jù)。但當(dāng)聚類時一個類中出現(xiàn)多個密度峰值時,異常樣本點(diǎn)將會作為偽聚類中心被選中,一個類會被分成多個類,影響聚類結(jié)果,同時密度峰值聚類算法在高維數(shù)據(jù)集上的準(zhǔn)確率不高。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述問題,本發(fā)明提出一種反饋式密度峰值聚類方法及系統(tǒng)。首先,用非負(fù)矩陣分解對數(shù)據(jù)集進(jìn)行特征提取,然后,以基于密度峰值的聚類算法作為基礎(chǔ),進(jìn)行聚類,最后提出一種反饋策略,對類進(jìn)行合并得出正確的聚類結(jié)果。該方法不僅能夠有效提高密度峰值算法的魯棒性,在一個類中出現(xiàn)多個密度峰值的時候不會被多劃分,發(fā)現(xiàn)任意形狀的簇,同時能有效地處理高維數(shù)據(jù)集,具有很好地聚類效果。
本發(fā)明是通過以下方案實(shí)現(xiàn)的:
本發(fā)明涉及一種反饋式密度峰值聚類方法,以密度峰值聚類算法作為基礎(chǔ),在聚類之前引入非負(fù)矩陣分解,同時在聚類時提出一種反饋策略進(jìn)行類合并,以提高聚類的準(zhǔn)確率。
本發(fā)明具體步驟如下:
步驟1:用非負(fù)矩陣分解nmf對數(shù)據(jù)集進(jìn)行特征提取。
步驟2:構(gòu)成距離矩陣dij。
步驟3:利用
步驟4:利用
步驟5:根據(jù)上述求出的局部密度屬性ρi和距離屬性δi,繪制決策圖,取兩個屬性值都高的數(shù)據(jù)點(diǎn)作為聚類中心。
步驟6:將剩余點(diǎn)歸于密度等于或者高于當(dāng)前點(diǎn)的最近點(diǎn)一類。
步驟7:計算出當(dāng)前類別的邊界,然后找出邊界中密度最高點(diǎn)的密度作為閾值,去除當(dāng)前類別中小于此密度的點(diǎn)。
步驟8:用svm對每兩個類進(jìn)行訓(xùn)練,反饋一個結(jié)果值。
步驟9:根據(jù)反饋值對類進(jìn)行合并,得出聚類結(jié)果。
本發(fā)明具有如下優(yōu)點(diǎn)及效果:
(1)本方法能夠當(dāng)一個類中出現(xiàn)多密度峰值時準(zhǔn)確聚類,不會將這個類劃分成多個類。
(2)通過非負(fù)矩陣分解對數(shù)據(jù)集進(jìn)行預(yù)先特征提取,解決密度峰值聚類算法在高維數(shù)據(jù)集上聚類不準(zhǔn)確的弊端,有效提高聚類的準(zhǔn)確率。
(3)采用自定義的反饋策略進(jìn)行類合并,成功降低了由于聚類中心由人為選擇的錯誤率,提出的方法可以自動進(jìn)行準(zhǔn)確聚類。
附圖說明
為了對本發(fā)明進(jìn)一步理解,更清楚地說明本發(fā)明實(shí)施例,下面將對實(shí)施例描述中所需要使用的附圖作簡單介紹。
圖1為本申請實(shí)施案例提供的一種反饋式密度峰值聚類的流程圖。
具體實(shí)施方式
下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施案例僅僅是本申請一部分實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本申請保護(hù)的范圍。
實(shí)施例1
如圖1所示,本實(shí)施案例包括以下步驟:
輸入:數(shù)據(jù)集x={x1,x2,x3,……xn},截斷距離dc,合并指標(biāo)d。
輸出:聚類結(jié)果標(biāo)簽。
步驟1,用非負(fù)矩陣分解對數(shù)據(jù)集進(jìn)行特征提取,其計算公式如下:
步驟2,基于密度峰值聚類算法進(jìn)行初始聚類。
步驟2.1:計算兩兩數(shù)據(jù)點(diǎn)之間的距離,構(gòu)成距離矩陣dij,例如兩個點(diǎn)的坐標(biāo)分別為a(x11,x12,…,x1n)和b(x21,x22,…,x2n),則這兩個數(shù)據(jù)點(diǎn)之間的距離:
步驟2.2:計算數(shù)據(jù)點(diǎn)的局部密度:
步驟2.3:計算數(shù)據(jù)點(diǎn)與具有更高密度的最近單元格之間的距離屬性δi,其計算公式如下:
步驟2.4:根據(jù)局部密度屬性ρi和距離屬性δi,繪制決策圖,取兩個屬性值都高的數(shù)據(jù)點(diǎn)作為聚類中心。
步驟2.5:采用最近鄰算法將當(dāng)前點(diǎn)歸于密度等于或者高于當(dāng)前點(diǎn)的最近點(diǎn)一類。
步驟2.6:去除噪聲點(diǎn),計算出當(dāng)前類別的邊界,然后找出邊界中密度最高點(diǎn)的密度作為閾值,去除當(dāng)前類別中小于此密度的點(diǎn)。
步驟3,根據(jù)反饋策略進(jìn)行類合并。
步驟3.1:利用svm模型對類進(jìn)行訓(xùn)練,根據(jù)訓(xùn)練得到的支持向量反饋每兩個類的聚類結(jié)果值。假設(shè)聚類結(jié)果集c={c1,c2,c3,…ck},x={x1,x2,x3,…xn}和y={y1,y2,y3,…ym}分別為用svm訓(xùn)練后類h和類p的支持向量,
步驟3.2:如果上面得到的f(ch,cp)>d,我們將這兩個類進(jìn)行合并,直到所有的類都被訪問結(jié)束合并。
步驟4,返回最終聚類結(jié)果標(biāo)簽。