本發(fā)明屬于計算機(jī)數(shù)據(jù)處理領(lǐng)域,特別是涉及基于k-means算法的異常數(shù)據(jù)識別方法。
背景技術(shù):
1、異常識別在當(dāng)今社會中具有重要意義,在提高安全性、優(yōu)化效率、預(yù)測未來、改善數(shù)據(jù)質(zhì)量以及支持決策,在各個領(lǐng)域中推動進(jìn)步和發(fā)展。隨著技術(shù)的不斷發(fā)展和應(yīng)用范圍的擴(kuò)大,異常識別將繼續(xù)發(fā)揮重要作用,并為人類社會帶來更多的益處。
2、當(dāng)前,已有上千種異常識別算法被陸續(xù)提出。它們大致可以被劃分為基于統(tǒng)計、基于距離、基于深度學(xué)習(xí)、基于集成的算法。具體地,基于統(tǒng)計的算法使用數(shù)據(jù)的統(tǒng)計特性來識別異常值,常見的統(tǒng)計信息包括均值、標(biāo)準(zhǔn)差、中位數(shù)、百分位數(shù)等?;诰嚯x的算法通過計算對象之間的相似度或距離來識別異常值;基于集成的算法結(jié)合多個基本異常檢測模型的輸出,以提高整體的性能和魯棒性;基于深度學(xué)習(xí)的算法利用多層神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)數(shù)據(jù)的復(fù)雜特征,并在此基礎(chǔ)上進(jìn)行異常檢測。
3、密度峰值聚類算法(density?peak?clustering,dpc)是一種無監(jiān)督的聚類算法,由alex?rodriguez和alessandro?laio于2014年提出。該算法主要依賴于數(shù)據(jù)點的局部密度和相對距離來確定聚類中心,并根據(jù)這些中心將數(shù)據(jù)點分配到相應(yīng)的簇中。盡管dpc算法在理論上不需要顯式輸入聚類數(shù)等參數(shù),但在實際應(yīng)用中,其聚類效果會受到數(shù)據(jù)對象分布的影響。
技術(shù)實現(xiàn)思路
1、本發(fā)明的技術(shù)問題是:
2、現(xiàn)有的異常數(shù)據(jù)識別算法需要若干輸入?yún)?shù),且對于未知數(shù)據(jù)集無法客觀地預(yù)測哪些參數(shù)值是適當(dāng)?shù)?;dpc算法不需要輸入任何參數(shù),但效果易受數(shù)據(jù)對象分布的影響。
3、本發(fā)明的目的是解決上述問題,提供一種新的基于k-means算法的異常數(shù)據(jù)識別方法;首先將數(shù)據(jù)集劃分為數(shù)據(jù)簇,由于異常對象分布相對稀疏,所以異常對象將被劃分到只包含少量數(shù)據(jù)對象的數(shù)據(jù)簇中;然后,統(tǒng)計每個數(shù)據(jù)簇中對象的數(shù)量,并生成概率分布曲線圖,命名為決策圖;從決策圖中,使用者清晰地識別出哪些簇中的對象數(shù)量少且概率低,從而將它們識別為異常簇,因為異常數(shù)據(jù)對象的數(shù)量遠(yuǎn)小于正常數(shù)據(jù)對象,且異常數(shù)據(jù)對象所在簇中對象的數(shù)量也遠(yuǎn)小于正常數(shù)據(jù)對象所在簇中對象的數(shù)量,其中的數(shù)據(jù)對象識別為異常。
4、本發(fā)明的技術(shù)方案是一種基于k-means算法的異常數(shù)據(jù)識別方法,包括以下步驟:
5、s1、將數(shù)據(jù)集劃分為數(shù)據(jù)簇;
6、s2、運用k-outlier算法對數(shù)據(jù)對象進(jìn)行聚類,得到各個數(shù)據(jù)簇的聚類中心點,計算數(shù)據(jù)集簇中所有數(shù)據(jù)對象與每個聚類中心點的距離,并且依據(jù)距離將數(shù)據(jù)對象分配給距離最近的聚類中心所在的數(shù)據(jù)簇;
7、s3、將數(shù)據(jù)對象的取值范圍切分成多個區(qū)間,切分后計算各個區(qū)間的間隔和各區(qū)間內(nèi)數(shù)據(jù)對象數(shù)量的概率,并根據(jù)數(shù)據(jù)對象數(shù)量的概率繪制概率分布曲線圖,將概率分布曲線圖作為決策圖;
8、s4、基于決策圖中,將異常的數(shù)據(jù)對象與正常數(shù)據(jù)對象分隔,并識別得到?jīng)Q策圖中的拐點區(qū)域。
9、s5、將拐點區(qū)域的數(shù)據(jù)簇判定為異常簇,異常簇中的所有數(shù)據(jù)對象為異常數(shù)據(jù)對象。
10、進(jìn)一步的,步驟s1中,將數(shù)據(jù)集x劃分為k個數(shù)據(jù)簇:,,…,其中,表示第 j個數(shù)據(jù)簇,k為數(shù)據(jù)簇的數(shù)量。
11、優(yōu)選的,步驟s2具體包含以下子步驟:
12、s21、初始化:在各個數(shù)據(jù)簇中隨機(jī)選擇一個數(shù)據(jù)對象作為該數(shù)據(jù)簇的初始聚類中心;
13、s22、計算每個數(shù)據(jù)對象與每個聚類中心的距離,計算公式為:
14、
15、式中,是數(shù)據(jù)集維度,表示數(shù)據(jù)集中的第i個對象,表示第 j個聚類中心,、分別為、的第t維的取值;
16、s23、根據(jù)分配的數(shù)據(jù)簇,重新計算每個數(shù)據(jù)簇的聚類中心,將每個數(shù)據(jù)簇中所有對象的均值作為新的聚類中心,計算公式為:
17、
18、其中,表示數(shù)據(jù)簇中的對象數(shù)目;
19、s24、重復(fù)執(zhí)行步驟s22和s23,直到每個數(shù)據(jù)簇的聚類中心不再改變。
20、優(yōu)選的,步驟s2還包括利用優(yōu)化損失函數(shù)最小化簇內(nèi)數(shù)據(jù)點與其對應(yīng)聚類中心之間的平方距離之和,計算公式如下所示:
21、
22、式中,x為數(shù)據(jù)集x的數(shù)據(jù)對象;是第個簇,是該簇的聚類中心,表示數(shù)據(jù)對象x到聚類中心的歐式距離的平方。
23、進(jìn)一步的,步驟s3中,區(qū)間的間隔的計算公式為:
24、
25、式中和分別為和中對象的數(shù)量;
26、進(jìn)一步的,步驟s3中,第t個區(qū)間中數(shù)據(jù)對象數(shù)量的概率的計算公式為:
27、
28、式中,θ表示判斷聚類中心是否在區(qū)間內(nèi)的函數(shù);
29、若,則;否則。
30、優(yōu)選的,所述步驟s5還包括:基于決策圖對異常數(shù)據(jù)對象數(shù)量和分布進(jìn)行可視化,得到異常數(shù)據(jù)對象的分布圖。
31、相比現(xiàn)有技術(shù),本發(fā)明的有益效果包括:
32、1、本發(fā)明提供了一種基于k-means的異常識別方法,通過k-means聚類算法識別出眾多小簇,然后統(tǒng)計各簇中對象數(shù)量的分布概率以生成概率分布曲線圖。從概率分布曲線圖中,能清晰觀察到哪些簇中的對象數(shù)量明顯小于其他簇,從而將它們識別為異常簇,其中的對象識別為異常。
33、2、本發(fā)明采用可視決策圖代替輸入?yún)?shù),本發(fā)明不像其他異常識別算法需要輸入?yún)?shù)識別異常,使用者通過決策圖提供的可視信息得到異常識別結(jié)果。
34、3、本發(fā)明的異常識別效果不受數(shù)據(jù)對象分布的影響,將異常的數(shù)據(jù)對象劃分到數(shù)量少的數(shù)據(jù)簇中,與正常數(shù)據(jù)對象進(jìn)行了區(qū)分,不受正常對象分布的影響。
1.一種基于k-means算法的異常數(shù)據(jù)識別方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于k-means算法的異常數(shù)據(jù)識別方法,其特征在于,步驟s1中,將數(shù)據(jù)集x劃分為k個數(shù)據(jù)簇:,?,…,其中,表示第j個數(shù)據(jù)簇,k為數(shù)據(jù)簇的數(shù)量。
3.根據(jù)權(quán)利要求2所述的基于k-means算法的異常數(shù)據(jù)識別方法,其特征在于,步驟s2具體包含以下子步驟:
4.根據(jù)權(quán)利要求3所述的基于k-means算法的異常數(shù)據(jù)識別方法,其特征在于,所述步驟s2還包括:利用優(yōu)化損失函數(shù)最小化數(shù)據(jù)簇內(nèi)數(shù)據(jù)對象與其對應(yīng)聚類中心之間的平方距離之和,計算公式為:
5.根據(jù)權(quán)利要求4所述的基于k-means算法的異常數(shù)據(jù)識別方法,其特征在于,所述步驟s3中,將數(shù)據(jù)對象的取值范圍等間隔切分,區(qū)間的間隔的計算公式為:
6.根據(jù)權(quán)利要求5所述的基于k-means算法的異常數(shù)據(jù)識別方法,其特征在于,所述的步驟s3中,第y個區(qū)間中數(shù)據(jù)對象數(shù)量的概率的計算公式為:
7.根據(jù)權(quán)利要求6所述的基于k-means算法的異常數(shù)據(jù)識別方法,其特征在于,所述步驟s5還包括:基于決策圖對異常數(shù)據(jù)對象數(shù)量和分布進(jìn)行可視化,得到異常數(shù)據(jù)對象的分布圖。