群聚演算法之比較及群聚參數的分析與探討
陳榮昌 Chen, Rong-Chung 朝陽科技大學資訊管理研究所
rcchen@mail.cyut.edu.tw
林育臣 Lin, Yu-Chen 朝陽科技大學資訊管理研究所
s8914617@mail.cyut.edu.tw
摘要
本研究的目的在於對重要群聚演算法的分析與探討以及了解參數對群聚的影響,並 針對資料的特性選擇適合的群聚演算法。群聚技術可以從大量的資料中找出其資料分佈 狀況與特性,簡化資料的複雜性進而能夠了解並擷取資料背後所隱含的資訊,以提供使 用者作為解決問題或是制定決策時參考使用。在以往的研究中,已經有許多學者針對各 類型的資料庫以及不同的應用領域提出各種的群聚演算法,這些演算法大多著重於資料 的處理效能與找尋有效群聚的能力上,而且這些群聚演算法對於複雜地大型資料庫的處 理已經有很顯著的效果。雖然目前已發展的群聚演算法種類繁多,而每種演算法也有其 特色與適合的應用範圍,當使用者面臨決策問題時,可以根據欲解決之問題選擇適當的 群聚方法,但由於決策者對群聚演算法缺乏了解,所以往往會無法選擇適當的群聚演算 法來進行群聚分析,所以在本論文中,我們將對各重要的群聚演算法作分析比較,讓使 用者更了解其個別的特性與適用範圍。
另一方面,目前大部分的群聚演算法都需要輸入群聚的參數,而這些參數的設定會 影響群聚後的結果,所以使用者必須要充分了解所要解決的問題及參數對於群聚的意 義,才能選擇適當的參數進而得到較好的群聚結果。綜合以上所描述的問題,由於使用 者對於群聚演算法與參數的選擇無法輕易了解,因而可能造成使用者不能有效的利用群 聚演算法來進行資料的群聚分析並幫助解決決策上的問題,所以,基於以上因素,本研 究將針對目前所發展出來的重要群聚演算法加以分析整理,並根據資料的特性,將群聚 資料分佈的意義、參數對群聚的意義以及各群聚間的關係做更進一步的分析與描述,以 期協助決策者有效地找出適當的群聚參數,藉此強化群聚演算法的使用,提供決策者更 多的便利性。
關鍵字:群聚演算法、群聚參數、群聚資料分佈 壹、 緒論
群聚技術(Clustering technology)在資料 探勘(Data mining)領域中,是一項非常重要 的技術,它可以在大量的資料中,找出資料的
分布狀況並找到其隱藏的意義,例如當使用者 面臨要分析處理龐大的資料時,往往無法輕易 的獲知這些資料所代表的意義,而利用群聚技 術可以先將這些資料分成若干個群聚,再針對 不同的群聚加以分析,如此,便可以簡化使用
者分析資料時的複雜性。
群聚技術的目的是在分析資料的內容,將 性質相似的資料群聚在一起,而讓不同的群聚 與群聚間資料相異性大。群聚技術與傳統的分 類(Classification)最大不同是,群聚技術不 預先設定分類所代表的意義,而把資料先以群 聚技術將性質內容相近的資料聚集成一群群 的群聚後,再分析定義各群聚的意義。群聚技 術發展至今已很長的一段時間,在這段期間內 發展了許多不同類型的群聚技術,在 90 年代 之前,群聚技術的研究大多屬於切割式群聚演 算法(Partition clustering algorithms)與階層 式 群 聚 演 算 法 ( Hierarchical clustering algorithms)兩種。近年來,隨著群聚技術的 進步,其技術發展,大致上可以分為下面幾 類:(1)將資料庫內的資料分為 K 群的切割 式群聚演算法。(2)將資料庫內的資料以樹狀 架構整理的階層式群聚演算法。(3)資料庫內 的資料在分類時,將密度高於一個門檻值的鄰 居區域(Neighborhood)聚集成一個群聚的密 度基礎群聚演算法(Density-based clustering algorithms)。(4)將資料空間量化成許多格子
( Grid cells ) 的 格 子 基 礎 群 聚 演 算 法
(Grid-based clustering algorithms),其每一個 格子內皆可以隱藏許多資訊,因而大量的減少 群聚的時間。
到目前為止,群聚技術已經發展出許多的 演算法,而這些演算法因為應用的技術與群聚 技巧不同,所以皆存在著一些的限制,而大多 數的演算法也需要使用者輸入群聚參數,但是 往往因為使用者對於群聚技術缺乏了解,無法 做出妥善的選擇,本研究針對於以上問題,將 對重要的群聚演算法進行研究及整理,並且將 對群聚的特性加以描述及剖析,找出適當的群 聚參數來強化群聚演算法,預期透過本研究所 描述的群聚之特性,將協助使用者在群聚演算 法的選擇與使用上更具便利性。
在以下的文章中,我們首先在第二節探討
一些目前較有名的部分維度演算法,然後在第 三節我們將對於群聚的參數作一番討論及分 析。
貳、 群聚演算法的分析與比較
在上節的描述中,我們將目前所發展的群 聚演算法依群聚方式分為四種類型,在這一節 中,我們將針對這些重要的群聚演算法加以描 述,切割式群聚演算法是發展最早的群聚技 術,這一類的演算法使用者必須先決定所要分 割 的 群 聚 數 目 , 再 以 重 心 點 基 礎
( Centroid-based ) 或 中 心 點 基 礎
(Medoid-based)的方式進行分群。切割式群 聚演算法是以距離(Distance)作為評估標準,
通常評估的方法有:曼哈頓距離(Manhattan distance ) 與 歐 幾 里 得 距 離 ( Euclidean distance)。K-means是最典型的以重心基礎的 切割式群聚演算法 [Mac67],它是以群聚的重 心作為群聚的代表點(Representative object),
但因為代表點不一定要是群聚中的一點,所以 可以找到最佳的群聚。然而,此方法所得的群 聚的品質很容易受到雜訊(Noise)或是離群 值(Outlier)所影響。另一種方法是以中心點 作為代表點(如PAM演算法 [KR90]),這些群 聚技術對於小型的資料集合(Data sets)有著 不錯的處理能力,但是隨著資料集合的增加,
處理的效率也越來越差,所以,通常處理大型 資料庫是採用取樣的方式來解決(如CLARA 演算法[KR90])。然而取樣的演算法會受到樣 本的數量以及取樣方法所影響,倘若樣本數量 太少,則群聚的結果不足以代表整個資料庫資 料分布的狀況及意義;若取樣的方法不佳,則 會影響到群聚的品質。CLARANS [NH94]是架 構於PAM與CLARA上的中心點基礎的切割式 演算法,它是第一個針對於空間資料庫所設計 的切割式群聚演算法,但只能發掘簡易的資料 點分佈形狀(Object shapes),對於呈凸多邊形
(Convex shapes)或是巢狀(Nested)分佈的 資料處理效果不佳,也無法有效率地針對高維 度資料(High-dimensionality data)進行群聚 分析。
階 層 式 群 聚 演 算 法 呈 現 一 種 樹 狀 的 架 構,可分成凝聚法(Agglomerative)及分裂法
(Divisive)。凝聚法是由下而上(Bottom-up)
一開始我們將資料庫內每一筆資料均表示成 一個群聚,接著我們依資料屬性的相似度開始 做合併,每一次合併兩個相似度最高的群聚,
直到我們所設定的終止群聚數目為止。而分裂 法與凝聚法相反,它是為由上而下(Top-down)
一開始將資料庫內所有的資料視為同一個群 聚,然後將資料相似度低的分裂呈不同群聚,
直到群聚數目為設定終止條件為止。大部分階 層式演算法由下而上凝聚式的方法,而目前的 演算法有BIRCH [ZRL96]、CURE [GRS98]、
ROCK [GRS99]、CHAMELEON [KHK99]、
AMOEBA [EL00a]、AUTOCLUST [EL00b]等。
CURE演算法以群聚間的相似(Closeness)
程度為合併依據,它有別於以往中心點或重心 點的群聚演算法是以一個代表點來取代一個 群聚,而MST(Minimum spanning tree)方法,
則是全部的點皆為代表點,CURE演算法固定 選擇C個點(2≤C≤N,N為全部資料集合)代 表群聚,接著將全部的代表點向重心收縮參數 α(0≤α≤1),以此將相似的群聚合併,直到我 們所要的群聚數為止。CURE演算法適用於大 型的資料集合,可以辨識任何形狀的群聚,對 離群值處理較健全,但它不處理類別屬 性
(Categorical)資料。ROCK演算法強調不同 群聚間的資料互相鏈結(inter-connectivity)的 關係,它對於類別屬性(Categorical)資料有 良好的處理能力。
ROCK著重於群聚間資料互相鏈結的關 係,卻忽略了群聚的相似程度,而CURE著重 於群聚的相似程度,卻忽略不同群聚間資料互 相鏈結的程度,在CHAMELE演算法中針對
CURE與ROCK的缺點,提出了修正。它是以 相對互相鏈結(Relative Interconnectivity, RI)
與相對相似(Relative Closeness, RC)為基礎 的階層式群聚演算法,它先以最近鄰居 法
(K-nearest neighbor)將所有的資料聚集為一 群 聚 , 接 著 將 群 聚 切 割 為 若 干 的 子 群 聚
(Sub-clusters),最後以RI與RC為評估方法,
將 子 群 聚 合 併 直 到 所 訂 定 的 群 聚 數 目 。 CHAMELEON對於群聚的形狀有良好的辨識 能力。
階層式群聚演算法也被設計使用於空間 資料庫上,例如AMOEBA、AUTOCLUST演 算法等。這兩種階層式演算法皆屬於分裂式演 算 法 , AMOEBA 利 用 Delaunay 三 角 形
(Delaunay triangles)有效計算出所有資料的 最 近 鄰 居 並 將 之 連 接 成 Delaunay 圖 形
(Delaunay diagram),也就是將資料集合聚集 為一個群聚,接著計算圖形上所有連結 邊
(Edges)總合的平均數(Means),剔除圖形 上所有大於平均數的邊,將群聚分裂成若干個 子群聚,在第二層分析中針對每一個子群聚計 算其群聚計算所有邊總合的平均數,剔除該群 聚大於平均數的邊,以漸層式的分析,直到找 到理想的群聚數目為止。AMOEBA使用漸層 式的分析,在每一層裡,子群聚個別計算其區 域性的參數,這樣的演算法適合應用於地理資 訊 系 統 上 , 而 AUTOCLUST 演 算 法 與 AMOEBA類似,不同的是AUTOCLUST去除 邊的標準差以外特別長或特別短的邊,這兩種 演算法的時間複雜度只需要O(n log n),且不 需要輸入任何的參數,且可以發現任意的群聚 形狀。
在一資料集合內,假設有某些資料點分佈 密度相當密集,則我們將這些資料點視為一個 群聚,換句話說,在群聚內資料分佈的密度應 該大於群聚外資料分佈的密度,而密度基礎群 聚演算法,便是基於以上的觀念所發展出來的 群 聚 方 法 , 目 前 較 重 要 的 方 法 有 DBSCAN
[EKSX96]、OPTICS [ABK99]。
DBSCAN 演算法是較早利用密度觀念處 理群聚問題的演算法,使用者需設定鄰居區域 的半徑(Eps)及至少存在於該鄰居區域的資 料點數(MinPts)兩個參數,只要在半徑 Eps 鄰居區域內的資料點數大於門檻值 MinPts,則 形成群聚,接著開始向外擴展群聚範圍,利用 使用者所訂定參數所形成的鄰居區域,密度直 接到達(Directly density-reachable)或是藉由 其 他 資 料 點 , 密 度 間 接 到 達
(Density-reachable)可以包含到的資料點,
分配到該群聚,以此方法,直到所有的資料點 分 配 完 成 為 止 。 利 用 密 度 方 法 的 特 性 , DBSCAN 可以有效分辨出並控制離群值,但 是對於處理任意形狀群聚的辨識效果較差,尤 其參數的設定,會嚴重影響到群聚品質與群聚 結果,這些參數必須要根據經驗或是觀察判 斷,而使用者很難決定參數訂定的大小。為了 解決參數問題,OPTICS 演算法計算一個密度 基礎的分群順序,它擴充 DBSCAN,根據此 順序自動去處理參數,OPTICS 與 DBSCAN 演算法的結構是一樣的,其時間複雜度皆為 O(n log n)。而 DBCLASD [XEKS98] 是另一種 不需要輸入參數的演算法,它是以分配基礎群 聚 演 算 法 ( Distribution based clustering algorithms),作者觀察到群聚內資料點距離最 近鄰居的距離會小於到群聚外部的距離,換句 話說,在同一群聚內資料點到最近鄰居距離短 的出現頻率應該高於距離長的出現頻率,如此 會呈現機率分配,雖然 DBCLASD 不需要任 何輸入參數,但是其計算的執行時間大 於 DBSCAN。以往的群聚演算法大多討論有關靜 態的資料庫的群聚,而動態資料庫的群聚處理 更為複雜,IncDBSCAN [EKSWX98] 便是針 對在資料倉儲的環境下處理群聚問題的密度 基礎群聚演算法,因為所要處理的資料集合不 再是固定的,所以此時必須考慮到當有資料加 入時,對原來群聚的影響。同樣的,在刪除資
料的情況中,我們也要考慮的群聚否會因為刪 除的資料點而分裂成兩個或多個群聚,或是使 原本的群聚變成雜訊。
格子基礎群聚演算法將資料空間量化成 許多格子,以此方式,大量的減少群聚的時間.
在 這 類 演 算 法 中 , 較 具 代 表 性 的 STING [WYM97],WaveCluster [SCZ98]。STING 演 算法的群聚是由上而下的,利用廣度的搜尋,
將格子內的群聚作合併。STING 探索存在格 子的統計資訊,然後群聚,其缺點是分群形狀 其邊不是水平就是垂直,儘管有快速的群聚處 理時間,但會有損及其品質及正確率。此外,
STING 是呈現階層式架構,較高的階層會儲 存較低階層資訊的總合,所以查詢的速度非常 快速,其時間複雜度為 O(k)(k 為最底層格子 的數)。
Agrawal 等學者於 1998 年提出 CLIQUE 演 算 法 [AGR98] , 其 方 法 是 使 用 投 影
(Projection)的方式,將分佈在高維度空間的 資料點投影至較低維度的空間上,並利用群聚 具有分布密度稠密的特性,若是資料點在高維 度的空間中形成群聚,將之投影至低維度空 間,必定可以在某個較低的維度找到高的投影 次數而形成群聚,以此方式找出部分維度的群 聚,這樣的方法稱為部分維度群聚演算 法
(Subspaces clustering algorithms)。CLIQUE 演算法採用 Apriori 的方式,首先將資料庫中 所有的資料投影至一維的屬性空間上,計算投 影次數(稱為 Coverage),若是 Coverage 高於 次數門檻值者,稱為稠密單位(Dense units),
接著合併兩個一維屬性稠密單位,形成二維屬 性空間的候選單位(Candidate units),再檢查 二維空間的候選單位是否稠密單位,以此計算 到最高維度為止,最後使用連通(Connected component)演算法,將相鄰的稠密單元合併,
而形成存在於部分維度的群聚。ENCLUS 以密 度(Density)[CFZ99]、投影次數(Coverage)
與維度的相關性(Correlation of dimensions)來
評估群聚性質,再以數學證明方式將三種評估 方式轉成熵值(Entropy)的計算,應用於群 聚分析的過程,並藉由熵值找出部分維度中較 好的群聚。
以上幾種類型的群聚演算法因為群聚方 式的不同,所以皆存在著一些的限制與缺點,
近來有些學者嘗試以混合的方法,結合多種群 聚 技 術 , 取 其 演 算 法 的 優 點 , 如 BRIDGE [DLX01],它有效的結合K-means快速容易執 行且可以找到最佳的群聚之特性與DBSCAN 可以屏除離群值影響的優點,成為更好的群聚 演算法,最後,我們將目前的群聚演算法依分 類及發表的年份整理成圖1。
群聚技術因為演算法而有先天上的限制 或是缺點,而我們可以藉由幾項評量標準來判 斷群聚演算法的優劣 [Han 00]:
1. 延展性(Scalability):群聚演算法必需能 效率地處理大型資料庫。
2. 需要極少領域知識去決定輸入參數:大 多群聚演算法在進行群聚前都會要求使 用者輸入參數,而這些參數會影響群聚 的品質及結果,使用者可能查閱使用手 冊或是專業領域的知識才能找出最合適 的參數值,這不只造成使用者的困擾,
也容易因為輸入不當的參數影響而群聚 的品質。
3. 能處理不同型態屬性:許多群聚的演算 法被設計為適用於數值型或類別型的屬 性,然而在許多應用上需要使用到不同 類型的屬性。
4. 能處理高維度的資料:一個資料庫或是 資料倉儲可能包含多維的維度與屬性,
許多群聚演算法對於低維度的資料皆有 良好的群聚能力,而對於高維度的資料 則處理能力不佳。
5. 能辨別任意形狀群聚:一般群聚的演算 法是以距離來衡量資料的相似度,這一 類型的演算法對於任意形狀的群聚辨識
能力有限。好的群聚演算法必須要能很 有效 的並且正確 的發現任意 形狀的群 聚。
6. 處理雜值的能力:群聚演算法必須要能 去除或是過濾雜訊與離群值,在真實的 資料庫中,資料庫內可能包含雜訊,漏 失值(Missing value),這會影響到群聚 結果的品質。
7. 可解釋性:使用者透過群聚方式所產生的 群聚結果,必須要是可以解釋、理解並 使用的。
8. 對於資料輸入的順序不敏感:有一些群 聚演算法會受到資料輸入順序的影響,
不同的資料輸入順序則產生不同的群聚 結果。這對使用者容易造成困擾。
群聚演算法的種類很多,使用者必須針對 所要解決的問題或是所要處理的資料,選擇適 合的演算法,例如:k-mode [Hua98] 及ROCK 適合處理類別屬性資料,K-means及PAM適合 處理數值屬性(Numeric)資料,而K-prototypes [Hua98]整合K-means 及k-modes 能針對類別 及數值型態的屬性進行群聚分析。群聚技術的 應用也非常廣泛,如AMOEBA演算法漸層性 的群聚可以應用於地理資訊系統上,DBSCAN 演算法對於離群值有很好的處理能力,它可以 發現異常的資料,能應用於犯罪偵防上。而 GDBSCAN [SEKX98] 演算法則實際的應用 於天文、生物基因資料庫、地球科學及地理資 料庫。在表1中我們將重要的群聚演算法加以 整理,並說明其適用的資料庫類型。
參、 群聚參數的分析
在上節中,我們可以知道使用者利用群聚 技術來做資料探勘時,必須針對欲解決的問題 或是資料庫的性質而選擇適合的群聚技術,然 而當使用者選擇適合的技術後,還會面臨到參 數選擇的問題,因為群聚演算法大多數會要求
使用者輸入參數值,根據這些參數值進行群 聚,因此,使用者必須要充分了解所要解決的 問題或是熟悉資料庫的特性才能找到適當的 參數,進而群聚出最佳的群聚。然而,對於使 用者而言,要決定演算法的輸入參數是很困難 的,但是大多數的演算法都會要求設定參數,
如 K-means、PAM 與 CLARA 等切割式的演算 法,需要輸入最後所要輸出的群聚數目 K,而 後來的 CLARANS 演算法中雖然不再要求輸 入群聚數目 K 值,但是它卻需要輸入參數最 大 鄰 居 數 ( Maxneighbor ) 與 局 部 最 小 值
(Numlocal)兩個參數,其中 Maxneighbor 指 的每次測試需不需要與任意鄰居置換的最大 數目,而 numlocal 指的是在局部找到最低群 聚成本數目。在階層式群聚演算裡,也是需要 參數的設定,如 CURE 演算法必須要輸入選 擇代表點數目 C 與向重心收縮參數α,而有的 演算法要設定群聚分裂或凝聚停止的數目。以 密度基礎的演算法,如 DBSCAN 則是要設定 鄰居區域的半徑 Eps 與最低資料點門檻值 MinPts 等,而在現有的群聚演算法中有些是不 需 要 輸 入 參 數 的 , 如 AMOEBA 、 AUTOCLUST、DBCLASD、CHAMELEON..
等,這些演算法是以群聚的緊密程度進行分 群,並且不需要設定群聚的數目。
群聚的輸入參數,會影響到群聚的品質,
如切割式群聚演算法需要的群聚數目 K 值,
如果設定不恰當,其得到的群聚的群集性會不 佳,在 [KR90]中,提到了一個計算 silhouette 係數的方法來評估最佳群聚數,如公式(1)所 示,其計算方式如下,假設資料點 i 被歸納到 群聚 A 內,以 a(i)表示此資料點到群聚內所有 資料點的平均距離,d(i,C)表示 i 點到其他群聚 C 內所有資料點的平均距離,而 b(i)為 min d(i,C),其中群聚 A≠群聚 C,其資料點 i 值的 silhouette 係數 s(i)為:
1-[a(i)/b(i)] ,當 a(i)<b(i)
s(i)= [b(i)/a(i)]-1 ,當 a(i)>b(i) (1) 0 ,當 a(i)=b(i)
s(i)表示 I 點是否適合歸類到該群聚的程度,
假如 s(i)接近 1,則表示資料點 i 適合被歸類到 該群聚,反之,假如假如 s(i)接近-1,則表示 不適合歸納到該群聚。對於不同的群聚數目 K,我們會計算出其 s(i)總合的平均數 s(k),s(k) 越高表示其群集性越好。而其他如 DBSCAN 演算法則是嘗試以固定的半徑,不同的 MinPts 進行群聚,會得到呈現山谷狀(Valley)曲線
(如圖 2 所示),其臨界點所對應到的 MinPts 與 Eps 為 較 好 的 參 數 值 , 以 上 預 先 處 理
(Pre-processing)的分析工具是為了找到適合 的輸入參數,藉此而得到群集性較佳的群聚。
圖 2、參數設定的山谷狀曲線 (資料來源[EKSX96])
由 上 述 的 評 估 方 式 , 我 們 可 以 看 到 K-means與PAM..等切割式群聚演算法,討論 到當群聚分時,會根據silhouette的評估係數計 算方法評估群聚中的資料點歸納到該群聚的 適合程度,藉此得到最佳的k值,因此假設由 評估式所得到的群聚結果較好,則代表這些資 料分為k群會得到高的群集性,也就是說同群 內資料較相近(相似),而不同群之間距離較 遠,而這項評估式中並不討論資料密度的分
佈。在密度基礎群聚方式是利用群聚內的密度 會高於群聚外之密度的原理來進行分群,如 DBSCAN。DBSCAN要求輸入Eps及MinPts兩 個參數,其意義在於如果資料分布較密集時,
則形成群聚,如果資料呈現鬆散的分布,則可 能為雜訊,所以當我們固定MinPts值而把Eps 參數定的太大,其得到的群聚數會較少,但是 同群內的資料分布可能較鬆散,反之假設我們 將Eps定的太小,則會得到過多的群聚數,因 此,輸入適當的參數,才能得到密度高且群聚 數量適中的結果。此外一些重要的群聚方法,
如AMOEBA、AUTOCLUST、DBCLASD..等,
則 著 重 於 群 聚 的 其 他 性 質 。 AMOEBA 與 AUTOCLUST演算法計算每個資料點與鄰居 距離的平均長度,其認為在同一個群聚內的資 料點間的距離會小於所求出的平均長度 , DBCLASD也是利用類似的觀念,不同的是它 是以機率分配來描述,其認為在一群聚內,每 個資料點與最近鄰居的距離長度,短的長度出 現頻率會高於長距離出現的頻率,這些群聚演 算法都是強調同群聚的資料點分佈應該是稠 密的,綜合以上的結果可以知道分析輸入參數 最終的目的在於要找到群集性高或是較佳的 群聚,而由前面的討論中我們歸納出一個好的 分群必須具備的條件為:(1)同群內資料相似 性高(2)不同群的資料相似性低(3)同群內 資料點密度越高越佳。在本研究中,我們以這 三個條件來定義出群聚評估式,藉評估式分數 (Score)的高低,讓使用者輕易的了解其分群結 果的好壞,並可以調整其群聚參數值。
在條件(1)中可知道同群內的資料特性 必須越相似越好,故本研究以”歸屬度”來評估 資料的相似程度,在此,我們參考前面公式(1) 的silhouette係數s(i)計算方式,當資料點i被歸 納到群聚A內,以a(i)表示此資料點到群聚內所 有資料點的平均距離,d(i,C)表示i點到其他群 聚C內所有資料點的平均距離,而b(i)為min d(i,C),其中群聚A≠群聚C,計算出相較於沒
有分配到群聚C而第i點分配到群聚A的適合 程度,得到分數A(Score A),分數值越高表示 其群集性越好。
在評估群聚結果的條件(2)中提到不同群 之間的資料相似度要越低越好,也就是說,不 同的群聚之間距離應該是較遠的,本研究中我 們計算出各群的中心點,計算各群聚間中心點 的平均距離,得到分數B(Score B),如公式(2) 所示,分數B值越高,代表群聚間資料差異越 大:
B d k
(2)
k
n
/ ) (
∑
1=
=
其中k為群聚數,d為任兩中心點之距離。
除了前面所描述的群聚內資料相近度與群聚 和群聚間相異程度外,一個好的群聚還必須考 慮的群聚內資料點的分佈密度,在此我們計算 群聚密度的分數Ck為:
第k群聚內資料點數/
第k群資料點分佈範圍,接著求
出其Ck總合 的平均數,稱為分數C,當
分數C越大,則表 示其密度越密集,最後我們合併以上三項評估 式,得到總分數TS為:TS=Score A+ Score B +Score C (3)
當計算後的總分數越高,則代表其群聚出的結 果越好,相信藉由本研究所提出的評估式,不 僅可以讓使用者很容易的判斷其所得之群聚 結果是否為好的群聚,並可以協助使用者經由 分數值的高低來選擇或調整群聚參數,以強化 群聚演算法的使用。
肆、 結論
群 聚 技 術 可 以 幫 助 我 們 從 未 知 的 資 料 中,找出資料分佈的狀況與模式,其目的是在 分析資料的內容,將性質相似的資料群聚在一
起,而不同的群聚與群聚間資料相異性大。到 目前為止,群聚技術已經發展出許多的演算 法,這些演算法因為應用的技術與群聚技巧不 同,所以皆存在著一些的限制,而大多數的演 算法也需要使用者輸入群聚參數,但是往往因 為使用者對於群聚技術缺乏了解,無法做出妥 善的選擇,本研究針對於以上問題,將對重要 的群聚演算法進行研究及整理,並且將對群聚 的特性加以描述及剖析,幫助使用者者選擇適 當的群聚方法,並藉由我們所訂出評估群聚之 群集性的評估式,協助使用者找出適當的群聚 參數來強化群聚演算法的使用,未來我們可以 在評估式的各項分數變因上,依其重要程度加 上權重值,以達到更好的評估效果。
參考文獻
1. [ABK99] M. Ankerst, M. Breunig, H.-P.
Kriegel, and J. Sander. “OPTICS: Order- ing points to identify the clustering structure”. In Proc. 1999 ACM-SIGMOD Int.
Conf. Management of Data (SIGMOD’99), pages 49-60, Philadelphia, PA, June 1999.
2. [AGR98] R. Agrawal, J. Gehrke, D.
Gunopulos, P. Raghavan(1998), ”Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications”. Int.
Conf. Management of Data, 94-105, Seattle, Washington.
3. [CFZ99] C. H. Cheng, A. W. Fu, and Y.
Zhang(1999), ”Entropy-based subspace clustering for mining numerical data”. Int.
Conf. Knowledge Discovery and Data Mining(KDD’99), pages 84-93.
4. [DLX01] M. Dash, H. Liu, X. Xu. “`1+1>2':
Merging Distance and Density Based Clustering”. In Proc. 7th Int. Conf. Database Systems for Advanced Applications
(DASFAA'01), pages 18-20, Hong Kong, April 2001.
5. [EKSWX98] M. Ester, H.-P. Kriegel, J.
Sander, M. Wimmer, X. Xu. “Incremental Clustering for Mining in a Data Warehousing Environment”. In Proc. 24th Int.
Conf. Very Large Databases (VLDB'98), pages 24 - 27, New York City, NY, USA, Aug. 1998.
6. [EKSX96] M. Ester, H. -P. Kriegel, J.
Sander, X. Xu. “Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise”. In Proc. 1996 Int.
Conf. Knowledge Discovery and Data Mining (KDD’96), pages 226-231, Portland, OR, Aug. 1996.
7. [EL00a] V. Estivill-Castro and I. Lee.
“AMOEBA: Hierarchical Clustering Based on Spatial Proximity Using Delaunay Diagram”. In Proc. 9th Int. Spatial Data Handling (SDH2000), pages 10-12, Beijing, China, Aug. 2000.
8. [EL00b] V. Estivill-Castro and I. Lee.
“AUTOCLUST: Automatic Clustering via Boundary Extraction for Massive Point Data Sets”. In Proc. 5th Int. Conf.
Geo-Computation, pages 23-25, University of Greenwich, Kent, UK. Aug. 2000.
9. [GRS98] S. Guha, R. Rastogi, and K. Shim.
“CURE: An efficient clustering algorithm for large databases”. In Proc. 1998 ACM-SIGMOD Int. Conf. Management of Data (SIGMOD’98), pages 73-84, Seattle, WA, June 1998.
10. [GRS99] S. Guha, R. Rastogi, and K. Shim.
“ROCK: A Robust Clustering Algorithm For Categorical Attribute”. In Proc. 1999 Int.
Conf. Data Engineering (ICDE’99), pages
512-521, Sydney, Australia, Mar. 1999.
11. [Han00] J. Han and M. Kamber. “Data Mining: Concepts and Techniques”. Morgan Kaufmann, 2000.
12. [Hua98] Z. Huang. “Extensions to the K-Means Algorithm For Clustering large Data sets with Categorical values”. Data mining and knowledge discovery, 2:283-304, 1998.
13. [KHK99] G. Karypis, E.-H. Han, and V.
Kumar. “CHAMELEON: Hierarchical Clustering Using Dynamic Modeling”.
COMPUTER, 32:68-75, 1999.
14. [KR90] L. Kaufman and P. J. Rousseeuw.
“Finding Groups in Data: an Introduction to Cluster Analysis”. John Wiley & Sons, 1990.
15. [Mac67] J. MacQueen. “Some Methods for Classification and Analysis of Multivariate Observations”. In Proc. 5th Berkeley Symp.
Math. Statistics, Prob. 1:281-297, 1967.
16. [NH94] R. Ng and J. Han. “ Efficient and Effective Clustering Method for Spatial Data Mining.” In Proc. 1994 Int. Conf. Very Large Databases (VLDB’94), pages 144-155, Santiago, Chile, Sept. 1994.
17. [SCZ98] G. Sheikholeslami, S. Chatterjee, and A. Zhang. “WaveCluster: A multi-resolution clustering approach for very large spatial databases”. In Proc. 1998 Int.
Conf. Very Large Databases (VLDB’98), pages 428-439, New York, Aug. 1998.
18. [SEKX98] J. Sander, M. Ester, H.-P. Kriegel, X. Xu. “Density-Based Clustering in Spatial Databases: The Algorithm GDBSCAN and its Applications”. In Proc. Int. Conf. Data Mining and Knowledge Discovery, Kluwer Academic Publishers, Vol. 2, No. 2, 1998.
19. [WYM97] W. Wang, Yang, R. Muntz.
“STING: A Statistical Information grid Approach to Spatial Data Mining”. In Proc.
1997 Int. Conf. Very Large Data Bases(VLDB’97), pages 186-195, Athens, Greece, Aug. 1997.
20. [XEKS98] X. Xu, M. Ester, H.-P. Kriegel, J.
Sander. “A distribution– based Clustering Algorithm for Mining in Large Spatial Databases". In Proc. 14th Int. Conf. Data Engineering (ICDE'98),Orlando, Florida, USA, 1998.
21. [ZRL96] T. Zhang, R. Ramakrishnan, M.
Livny. “BIRCH: An Efficient Data Clustering Method for Very Large Databases”. In Proc. 1996 ACM-SIGMOD Int. Conf. Management of Data (SIGMOD’96), pages. 103-114.
年份
圖 1:群聚 技 術 發 展 概 況 ( 實 線 代 表 新 方 法,虛線代表由上游方法所衍生之演算法)
表 1:重要群聚演算法比較表
演算法類型 演算法名稱 效能 適用資料庫類型 是否需要參數
切割式群
k-means O(nkt),n 代表總數量,k 為分 群數,t 為程式迴圈數
數值型資料 分群數 k
聚演算法 PAM O(k(n-k)2) 數值型資料 分群數 k CLARA O(k(10-k)2+k(n-k)) 數值型資料 分群數 k
CLARANS θ(kn)2 空間資料庫 最大鄰居數(Maxneighbor)
重心點基礎 中心點基礎 凝聚法 分裂式
K-means PAM
CLARA CLARANS
BIRCH DBSCAN
STING
CURE DBCLASDGDBSCANIncDBSCAN Wavecluster
ROCK CHAMELEON OPTICS STING+
AMOEBA AUTOCLUST BRIDGE
群聚技術
切割式 群聚演算法
階層式 群聚演算法
密度基礎 群聚演算法
格子基礎 群聚演算法
67 87 90 94
96 97
98 99 00 01
局部最小值(Numlocal)
階層式群 CURE 低維度:O(n2) ,高維度:O(n2logn) 數值型資料 收縮參數α 聚演算法 ROCK O(n2+nmmma+n2logn), mm 為最
大鄰居數,ma為平均鄰居數
類別型資料 需要參數
密度基礎 群聚演算法
DBSCAN O(n log n) 空間資料庫 鄰居區域半徑(Eps)
資料點數門檻值(MinPts)
格子基礎 群聚演算法
CLIQUE O(cd+nd) d 為維度數 c 為常數
空間資料庫 ξ代表切割格子的寬度 τ表示投影至該格子之數 量門檻值
STING O(k),k 為最底層格子的數), 空間資料庫 需要參數