999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于密度標(biāo)準(zhǔn)差優(yōu)化初始聚類中心的k_means改進(jìn)算法

2019-05-22 10:27:32黃靈王云鋒陳光武
電腦知識與技術(shù) 2019年6期

黃靈 王云鋒 陳光武

摘要: 傳統(tǒng)k_means算法采用隨機法選擇初始聚類中心,易造成聚類結(jié)果陷入局部最優(yōu)解和聚類精度低的問題,而且易受孤立點的影響。為了解決這一問題,提出了一種基于密度標(biāo)準(zhǔn)差優(yōu)化初始聚類中心的改進(jìn)算法。該算法先計算數(shù)據(jù)集樣本的平均值和標(biāo)準(zhǔn)差,接著計算每個數(shù)據(jù)點的密度分布函數(shù)值,然后計算樣本的平均密度和密度標(biāo)準(zhǔn)差,若小于密度標(biāo)準(zhǔn)差,則劃分為孤立點;搜索密度分布函數(shù)值數(shù)組中的最大值,那么最大值對應(yīng)的樣本點即為初始聚類中心,并將以初始聚類中心為原點,以樣本平均值為半徑的圓內(nèi)各點的密度函數(shù)值賦值為0,如此重復(fù),直到找到k個初始聚類中心。該算法基于Python語言在PyCharm軟件平臺實現(xiàn)。實驗結(jié)果表明,這種基于密度標(biāo)準(zhǔn)差優(yōu)化初始聚類中心的算法消除了孤立點的影響,具有更高的準(zhǔn)確率和更好的聚類結(jié)果。

關(guān)鍵詞: k_means算法;密度標(biāo)準(zhǔn)差;初始聚類中心;Python

中圖分類號:TP301 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2019)06-0147-05

1 引言

數(shù)據(jù)挖掘,又稱為數(shù)據(jù)庫知識發(fā)現(xiàn),是從海量的、無規(guī)律的、有噪聲的數(shù)據(jù)中,提取出潛在的、對人們有利用價值的信息和知識的過程[1]。數(shù)據(jù)挖掘是一門多學(xué)科交叉的學(xué)問,包括:機器學(xué)習(xí)、統(tǒng)計、數(shù)據(jù)庫、人工智能、信息檢索和可視化[2]。數(shù)據(jù)挖掘分析方法包括:分類,估計,預(yù)測,相關(guān)性分組或關(guān)聯(lián)規(guī)則,聚類,復(fù)雜數(shù)據(jù)類型挖掘(Text,Web,圖形圖像,視頻,音頻等)。

聚類分析作為數(shù)據(jù)挖掘領(lǐng)域中常用的數(shù)據(jù)分析方法,它是數(shù)據(jù)之間的相似度作為評判事物類別的依據(jù),將具有足夠相似度的數(shù)據(jù)聚為一類,使得同一類簇內(nèi)數(shù)據(jù)的相似度盡量大,不同類簇間的數(shù)據(jù)相似度盡量小[3]。通過聚類分析,可以發(fā)現(xiàn)全部數(shù)據(jù)對象屬性的分布規(guī)律,明確數(shù)據(jù)的整體發(fā)展態(tài)勢。聚類算法[3-4]可以分為:基于劃分的方法,基于層次的方法,基于密度的方法,基于網(wǎng)格的方法,基于模型的方法。基于劃分方法的聚類算法有k_means算法,k_medoids算法,clarans算法等[3-4];基于層次的聚類算法有birch算法,cure算法,chameleon算法等[3-4];基于密度的聚類算法有dbscan算法,optics算法[3-4];基于網(wǎng)格的聚類算法有sting算法,clique算法,wave_cluster算法[3-4]。不同類型的聚類算法具有不同的應(yīng)用條件,到目前為止,面對所有數(shù)據(jù)集,沒有哪一種算法能一直保持其優(yōu)點。為了解決這一問題,一些研究人員提出融合聚類的思想,融合不同的聚類算法,以便取長補短,達(dá)到更好的聚類效果。

聚類算法的研究主要集中在以下幾個方面:

1)強可伸縮性[5]:強可伸縮性是指聚類算法面對任何規(guī)模的數(shù)據(jù)集都應(yīng)具有良好的聚類效果。

2)可處理高維數(shù)據(jù)集[6]:在現(xiàn)實生活中,數(shù)據(jù)一般都是高維的,使一些常用的相似度評判標(biāo)準(zhǔn)失去意義,導(dǎo)致數(shù)據(jù)無法聚類。故聚類算法應(yīng)該具有處理高維數(shù)據(jù)集的解決方案。

3)對參數(shù)依賴性小[7]:在很多聚類算法中,需要指定一些參數(shù)來初始化算法,但面對未知的數(shù)據(jù)集,無法確定參數(shù)值,不能得到良好的聚類效果。故應(yīng)減少參數(shù)的設(shè)定,提高魯棒性。

4)可過濾噪聲[8]:在現(xiàn)實生活中,數(shù)據(jù)的質(zhì)量是不高的,包含大量的孤立點,會嚴(yán)重影響聚類效果。故應(yīng)過濾掉孤立點,保留有用數(shù)據(jù),以便得到更好的聚類效果。

5)可處理任意形狀的簇[9]:在現(xiàn)實生活的數(shù)據(jù)集中,同種類型的數(shù)據(jù)按照簇狀分布,但是簇的形狀不一定是規(guī)則的。聚類算法不應(yīng)只能處理某一種形狀的數(shù)據(jù),應(yīng)能處理任性形狀的簇。

6)可在分布式環(huán)境中運行[10]:傳統(tǒng)的聚類算法大多是處理集中式數(shù)據(jù)的,即要聚類的數(shù)據(jù)存儲在同一計算機或同一地點,但是隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,大部分應(yīng)用系統(tǒng)和數(shù)據(jù)是以分布式存在的。采用傳統(tǒng)的聚類算法會消耗大量存儲資源,降低聚類效果,故分布式聚類算法由此而生。 傳統(tǒng)式聚類算法在分布式環(huán)境中運行目前聚類算法的主要研究方向。

k_means聚類算法是1967年由Macqueen提出的,是聚類分析中最常用的一種典型的聚類算法,也是一種應(yīng)用最廣泛的聚類算法[4]。其目標(biāo)是根據(jù)數(shù)據(jù)某種相似性度量方法進(jìn)行劃分,使每個數(shù)據(jù)到所屬類簇的中心的距離盡可能小,不同類簇間的距離盡可能大。由于該算法具有簡單,快速,高效和良好的搜索能力,并且適用于大數(shù)據(jù)集的優(yōu)點而被廣泛應(yīng)用。主要缺點有:1)必須給定聚類數(shù)目k值[11],k值不同可能導(dǎo)致不同的聚類結(jié)果;2)初始聚類中心[12-13]的選擇對聚類結(jié)果有很大的影響,易陷入局部最優(yōu)解;3)只能處理數(shù)值型數(shù)據(jù),且對噪聲和孤立點[12]數(shù)據(jù)敏感;4)只對球狀數(shù)據(jù)具有良好的聚類效果,不能發(fā)現(xiàn)其他形狀的數(shù)據(jù)。

針對k_means算法存在的缺點,已經(jīng)有許多研究人員提出了一系列的改進(jìn)方法。有人提出一種改進(jìn)k_means算法[11],此算法可以自確定聚類數(shù)目和初始聚類中心,改善了聚類結(jié)果,但對噪聲敏感,此外,該算法對分布較稀疏的數(shù)據(jù)集的聚類效果不理想。也有人提出了結(jié)合初始中心優(yōu)化和特征加權(quán)的K-Means聚類算法[12],此算法根據(jù)樣本特征對聚類的貢獻(xiàn)程度獲得初始特征權(quán)重,構(gòu)建一種加權(quán)距離度量,利用提出的初始聚類中心選擇方法獲得k個初始聚類中心,并結(jié)合初始特征權(quán)重進(jìn)行初步聚類。此算法具有較高的聚類準(zhǔn)確性,但需指定聚類數(shù)目k。有人提出了最小最大K-means聚類算法[13],該算法通過大量的迭代工作來獲取全局最優(yōu)解。隨著現(xiàn)代互聯(lián)網(wǎng)技術(shù)的發(fā)展,海量數(shù)據(jù)以分布式形式存儲,傳統(tǒng)算法的應(yīng)用出現(xiàn)障礙,分布式算法應(yīng)運而生,稱為k_means算法的新的研究方向。

目前k_means算法的研究主要集中在以下幾個方面:

1)自確定聚類數(shù)目k;2)優(yōu)化初始聚類中心;3)可過濾噪聲;4)可處理任意形狀的簇;5)可處理高維數(shù)據(jù)集;6)可在分布式環(huán)境中運行。

本文提出了一種基于密度標(biāo)準(zhǔn)差優(yōu)化初始聚類中心的改進(jìn)算法,此算法改變了初始聚類中心的選擇對聚類結(jié)果的影響,大大減少了迭代次數(shù),提高了聚類精度,同時也不再只對球狀數(shù)據(jù)有良好的聚類效果,可發(fā)現(xiàn)多種形狀的簇,且對噪聲不敏感,可處理高維數(shù)據(jù)。本算法為提升k-means算法聚類結(jié)果提供了一種新的研究思路。在大數(shù)據(jù)和人工智能的時代,只有掌握數(shù)據(jù)處理的方法,才能在這個競爭激烈的社會下生存。同時此算法也為分布式的k-means算法提供了一種優(yōu)化初始聚類中心的解決方法。

2 傳統(tǒng)k-means算法

K-means算法的思想[14-15]是對給定的一個樣本數(shù)據(jù)的數(shù)據(jù)集[X=X1,X2,...,Xn],并且每個Xi是d維的向量(d維向量由樣本數(shù)據(jù)的d個特征組成),在給定分類組數(shù)k([k≤n])值的條件下,將數(shù)據(jù)集X劃分成k個子集[S=S1,S2,...,Sk],每個子集代表一個類,這k組子集應(yīng)滿足以下條件:

傳統(tǒng)K-means算法步驟如下:

1)從數(shù)據(jù)集X中隨機選取k個數(shù)據(jù)對象作為初始聚類中心;

2)計算數(shù)據(jù)集中每個對象到k個聚類中心的距離,將數(shù)據(jù)劃分到與聚類中心距離最短的類中;

3)根據(jù)聚類結(jié)果,重新計算k個簇的聚類中心,計算方法是取簇中所有元素各自維度的算數(shù)平均數(shù);

4)將X中全部元素按照新的中心重新聚類;

5)重復(fù)4,直到每個簇的中心基本不再變化;

6)將結(jié)果輸出。

3 基于密度標(biāo)準(zhǔn)差優(yōu)化初始聚類中心的k_means改進(jìn)算法

3.1 基本定義

待聚類的數(shù)集[X=X1,X2,...,Xn],其中[Xi=xi1,xi2,...,xid],是實數(shù)空間[X∈Rd]中的向量,并且d表示數(shù)據(jù)的屬性數(shù)目(數(shù)據(jù)空間的維數(shù))。

3.2 改進(jìn)k_means算法

為了更準(zhǔn)確的找到初始聚類中心,本文利用樣本點的標(biāo)準(zhǔn)差作為探尋半徑,依據(jù)樣本點的密度函數(shù)值尋找初始聚類中心。本文依據(jù)孤立點條件將待聚類的數(shù)集X分成兩部分,將滿足孤立點條件的點放入集合G,其余點放入集合Q,Q對應(yīng)的密度函數(shù)值放入集合D。本文提出計算密度標(biāo)準(zhǔn)差,將大于密度標(biāo)準(zhǔn)差的密度函數(shù)值放入集合M,將介于密度標(biāo)準(zhǔn)差和孤立點密度的密度函數(shù)值放入集合P。這樣就降低了搜索范圍,減少了搜索時間,避免了選取到孤立點。改進(jìn)算法思想如下:

算法 基于密度標(biāo)準(zhǔn)差優(yōu)化初始聚類中心的k_means算法

輸入 待聚類的數(shù)集X={X1,X2,…,Xn},其中xi ={xi1,xi2, …,xid};k簇的數(shù)目

輸出 k個初始聚類中心

步驟:

1)根據(jù)公式(1)(2)(3)計算數(shù)據(jù)對象之間的歐式距離,樣本的平均距離和樣本的標(biāo)準(zhǔn)差。

2)根據(jù)公式(4)(5)(6)計算樣本點的密度函數(shù)值,平均密度和密度標(biāo)準(zhǔn)差。

3)根據(jù)公式(7)將滿足孤立點條件的點放入集合G,其余點放入集合Q。

4)在Q中執(zhí)行(2),樣本點的密度函數(shù)值存入集合D,將大于密度標(biāo)準(zhǔn)差的密度函數(shù)值放入集合M。

5)找到M中密度函數(shù)最大值MAX在Q中對應(yīng)的樣本點xi即為初始聚類中心。

6)將以初始聚類中心為圓心,樣本標(biāo)準(zhǔn)差為半徑的圓內(nèi)所有點的密度函數(shù)值賦為0。

7)重復(fù)(4)~(6)直到找到k個初始聚類中心。

3.3 孤立點的處理

本文將原始數(shù)據(jù)集分成兩部分,將滿足孤立點條件的點放入集合G,其余點放入集合Q;利用新提出的改進(jìn)算法對集合Q進(jìn)行聚類,得到各個類的初始聚類中心。孤立點不參與聚類,將歸為一類顯示。因為孤立點不參與聚類過程中的各種計算,所以不影響聚類中心的值,故本文新提出的改進(jìn)算法對孤立點不敏感。

為了驗證本文改進(jìn)算法對孤立點不敏感,測試數(shù)據(jù)有70個數(shù)據(jù)點,其中孤立點5個,約占總數(shù)的7%,用傳統(tǒng)k_means算法和本文改進(jìn)的k_means算法進(jìn)行測試,結(jié)果如下圖1和圖2所示。

圖2中五個黑色三角形的數(shù)據(jù)點是孤立點,而在圖1中可以看到五個點分別聚類到三個類中。圖1和圖2對比發(fā)現(xiàn),有孤立點的聚類結(jié)果和無孤立點的聚類結(jié)果是不同的。

4 實驗結(jié)果分析

本文將傳統(tǒng)的k_means算法和基于密度標(biāo)準(zhǔn)差的k_means優(yōu)化算法進(jìn)行了實驗對比,選擇了專用于測試數(shù)據(jù)挖掘算法的UCI數(shù)據(jù)庫[16]中的Iris數(shù)據(jù)集、Wine數(shù)據(jù)集和模擬實驗數(shù)據(jù)集作為本文測試數(shù)據(jù)集。

本文算法采用Python語言實現(xiàn),測試環(huán)境是:CPU:Intel(R)Core?i5-2520 CPU @2.50 GHz;內(nèi)存: 4 GB;操作系統(tǒng):Windows 10 64位;算法調(diào)試運行工具:PyCharm。

4.1 模擬實驗數(shù)據(jù)和結(jié)果分析

實驗使用的兩個數(shù)據(jù)集如圖3、圖4所示,數(shù)據(jù)集使用隨機數(shù)隨機生成如表1所示。分別在兩個數(shù)據(jù)集上運行傳統(tǒng)k_means算法和改進(jìn)k_means算法,傳統(tǒng)k_means算法運行結(jié)果如圖5、圖6所示,改進(jìn)k_means算法運行結(jié)果如圖7、圖8所示。

由此實驗可見,改進(jìn)k_means算法不僅具有傳統(tǒng)k_means算法的優(yōu)點,還改善了傳統(tǒng)k_means算法對孤立點敏感,隨機選擇初始聚類中心易陷入局部最優(yōu)解的缺點。改進(jìn)后的k_means算法不再只對球狀數(shù)據(jù)有較好的聚類效果,對密度不同的簇也有較好的聚類效果,可以大大改善數(shù)據(jù)量較大但稀疏的數(shù)據(jù)對象被分類到相鄰的數(shù)據(jù)量小但密集的簇中的情況,提高了聚類精度。

4.2 UCI實驗數(shù)據(jù)和結(jié)果分析

為了驗證本文提出的改進(jìn)k_means算法的性能,本文用UCI數(shù)據(jù)集進(jìn)行了測試。UCI數(shù)據(jù)集的名稱、屬性個數(shù)、數(shù)據(jù)對象數(shù)如表4所示。

因為本文提出的改進(jìn)k_means算法根據(jù)密度標(biāo)準(zhǔn)差得到初始聚類中心,所以初始聚類中心是確定的,如果數(shù)據(jù)集確定,那么得到的聚類結(jié)果也是確定的。故只需進(jìn)行一次實驗即可得到聚類結(jié)果。然而傳統(tǒng)k_means算法隨機生成初始聚類中心,故每次實驗結(jié)果都是不確定的。本實驗運行10次傳統(tǒng)k_means算法和一次改進(jìn)k_means算法進(jìn)行聚類結(jié)果的對比。運行10次傳統(tǒng)k_means算法的聚類結(jié)果如表5所示,可知,10次實驗中聚類精度相同的情況下,迭代次數(shù)和運行時間還是不同的。由此可以看出,傳統(tǒng)k_means算法是不穩(wěn)定的,初始聚類中心的選擇對聚類結(jié)果影響很大,尤其對迭代次數(shù)的影響是最大的。如果選擇好初始聚類中心,是明顯可以減少迭代次數(shù)的。

運行10次傳統(tǒng)k_means算法的聚類結(jié)果和運行1次改進(jìn)k_means算法的聚類結(jié)果對比如表6所示。通過表6可知,改進(jìn)k_means算法提高了聚類精度,且運行1次即可達(dá)到傳統(tǒng)k_means算法最好的聚類效果,改進(jìn)算法的迭代次數(shù)小于傳統(tǒng)算法的迭代次數(shù)的平均值,雖然改進(jìn)算法比傳統(tǒng)算法用時要多,但是改進(jìn)算法運行1次即可達(dá)到最好的聚類效果。改進(jìn)k_means算法用時較多的原因是尋找初始聚類中心時,對數(shù)據(jù)集進(jìn)行了大量的運算,如求樣本均值、樣本標(biāo)準(zhǔn)差密度函數(shù)值、平均密度、密度標(biāo)準(zhǔn)差。

5 結(jié)束語

本文提出的基于密度標(biāo)準(zhǔn)差優(yōu)化初始聚類中心的改進(jìn)k_means算法更好的確定了初始聚類中心,避免了隨機選取聚類中心,提高了聚類精度,減少了迭代次數(shù),有效避免了傳統(tǒng)k_means算法易陷入局部最優(yōu)解的情況,減少了孤立點對初始聚類中心的影響。本文的目的是提供一種優(yōu)化初始聚類中心的方法,為聚類算法添磚加瓦,以便得到更準(zhǔn)確的聚類結(jié)果。本改進(jìn)算法的缺點是:1)需指定k值。2)耗時較多,由于此改進(jìn)算法需進(jìn)行大量的計算,故花費的時間較多一些。3)隨著需要聚類的數(shù)據(jù)量的不斷增大,計算機的計算性能要更好。下一步要做的工作是尋找確定k值的方法,并改善數(shù)據(jù)存儲的方式以降低時間的消耗。

參考文獻(xiàn):

[1] Han J and Kimber M.數(shù)據(jù)挖掘概念與技術(shù)[M]. 范明,孟小峰,等.譯.北京:機械工業(yè)出版社,2001.

[2] Bing Liu著.余勇,薛貴榮等譯.Web數(shù)據(jù)挖掘[M].2版.北京:清華大學(xué)出版社,2013.

[3] 李碩.聚類算法的研究與改進(jìn)[D].北京:北京郵電大學(xué),2017.

[4] 李薈嬈. K-means聚類方法的改進(jìn)及其應(yīng)用[D].黑龍江哈爾濱:東北農(nóng)業(yè)大學(xué),2014.

[5] Chaudhuri D, Chaudhuri B. A novel multispeed nonhierarchical data clustering technique [J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics a Publication of the IEEE Systems Man & Cybernetics Society, 1997,27(5):71-876.

[6] Faber V. Clustering and the continuous K-means algorithm[J].Los Alamos Science, 1994(22):138-144.

[7] Dan P, Moore A. Accelerating Exact k-means Algorithms with Geometric Reasoning [A]. // ACM SIGKDD International Conference on Knowledge Discovery & Data Mining [C], New York: ACM Press, 1999:277-281.

[8] Wu X, Yao C. Application of improved K-means clustering algorithm in transit data collection [A]. // International Conference on Biomedical Engineering and Informatics[C], New York: IEEE, 2010:3028-3030.

[9] 王莉.數(shù)據(jù)挖掘中聚類方法的研究[D].天津:天津大學(xué),2004.

[10] 毛銳.基于密度的分布式聚類算法的研究[D].吉林長春:吉林大學(xué),2012.

[11] 賈瑞玉,李玉功. 類簇數(shù)目和初始中心點自確定的K_means算法[J]. 計算機工程與應(yīng)用,2018,54(7) :152-158.

[12] 王宏杰,師彥文. 結(jié)合初始中心優(yōu)化和特征加權(quán)的K-Means聚類算法[J]. 計算機科學(xué),2017,44(11) :457-459.

[13] Zhu M, Wang W, Huang J. Improved initial cluster center selection in K-means clustering[J].Engineering Computations,2014,31(8):1661一1667.

[14] Tzortzis G, Likas A. The Min Max K-means clustering algorithm [J].Pattern Recognition, 2014, 47 (7): 2505-2516.

[15] Lai J Z C, Huang T J. Fast global k-means clustering using cluster membership and inequality [J].Pattern Recognition, 2010, 43(5):1954-1963.

[16] Asuncion A,Newman D J.UCI machine learning repository [EB/OL]. [2018-3-23]. http://archive.ics.uci.edu/ml/index.php

【通聯(lián)編輯:唐一東】

主站蜘蛛池模板: 久久99国产综合精品1| 欧美日韩综合网| 婷婷99视频精品全部在线观看| 中文字幕免费在线视频| 黄色成年视频| 日本人真淫视频一区二区三区| 黄色a一级视频| 污网站免费在线观看| 欧美另类精品一区二区三区| 国内熟女少妇一线天| 免费无码AV片在线观看中文| 黄色网在线| 香蕉网久久| 成人在线视频一区| 国产农村精品一级毛片视频| 精品久久久久无码| 亚洲一区毛片| 综合天天色| 久久人搡人人玩人妻精品一| 亚洲综合精品第一页| 国产成人在线无码免费视频| 午夜视频在线观看区二区| 国产91小视频| 热热久久狠狠偷偷色男同| 亚洲天堂视频在线观看免费 | 亚洲欧美在线综合一区二区三区| 国产日韩欧美精品区性色| 波多野结衣亚洲一区| 欧美精品1区| 亚洲色欲色欲www在线观看| 国产视频欧美| 国产农村1级毛片| 日韩天堂视频| 亚洲欧美日韩视频一区| 国产精品久久久久无码网站| 91在线激情在线观看| 99在线观看视频免费| 91日本在线观看亚洲精品| 无码国内精品人妻少妇蜜桃视频| 国产超碰在线观看| 久久精品人人做人人| 日本人妻一区二区三区不卡影院| 亚洲V日韩V无码一区二区 | 国产99久久亚洲综合精品西瓜tv| 久久国语对白| 欧美成人在线免费| 精品人妻一区二区三区蜜桃AⅤ | 亚洲AV免费一区二区三区| 亚洲日本一本dvd高清| 久久亚洲黄色视频| 国产视频 第一页| 午夜国产小视频| 国产真实乱人视频| 久久久久夜色精品波多野结衣| 欧美国产日韩在线播放| 青青草91视频| 国产成人8x视频一区二区| a毛片免费在线观看| 欧美色图久久| 久久综合丝袜日本网| 日本在线欧美在线| 欧美一级黄色影院| 波多野结衣无码AV在线| 亚洲精品少妇熟女| 无码国产伊人| 嫩草在线视频| 欧美成人日韩| 经典三级久久| 99热国产在线精品99| 亚洲人免费视频| 亚洲三级a| 福利片91| 永久免费精品视频| 免费国产黄线在线观看| 精品国产自在现线看久久| 免费AV在线播放观看18禁强制| 无套av在线| 手机在线看片不卡中文字幕| 欧美视频在线观看第一页| 国产精品久久久久久久久kt| 国产亚洲欧美另类一区二区| www亚洲天堂|