• 沒有找到結果。

群聚技術之研究

N/A
N/A
Protected

Academic year: 2022

Share "群聚技術之研究 "

Copied!
96
0
0

加載中.... (立即查看全文)

全文

(1)

朝陽科技大學 資訊管理研究所

碩士論文

群聚技術之研究

A Study of Clustering Technology

指導教授 :陳榮昌 博士 研 究 生 : 林 育 臣

中華民國九十一年八月七日

(2)

朝陽科技大學資訊管理系

Department of Information Management Chaoyang University of Technology

碩士論文

Thesis for the Degree of Master

群聚技術之研究

A Study of Clustering Technology

指導教授:陳榮昌博士(Rong-Chung Chen) 研 究 生 : 林 育 臣(Yu-Chen Lin)

中華民國九十一年八月七日

7, August 2002

(3)

碩士論文 朝陽科技大學資訊管理研究所

摘要

本研究的目的在於對群聚演算法的研究與探討,並提出群聚特性評估 與群聚維度選擇的方法,協助使用者了解群聚參數與資料維度對於群聚的 影響與意義,藉此強化群聚演算法的使用。在以往的研究中,已經有許多 學者提出各種類型的群聚演算法,這些演算法大多都需要設定群聚參數,

且參數的選擇會影響群聚後的結果,因此,使用者必須要充分了解參數對 於群聚的意義並選擇適當的群數參數,才能有效的利用群聚演算法來幫助 解決決策上的問題,基於以上因素,本研究將對於群聚的資料分佈意義以 及參數對群聚的意義與各群聚間的關係做更進一步的分析與描述,並提出 一個新的群聚評估式,以期協助決策者有效地找出適當的群聚參數。另一 方面,我們由部分維度群聚演算法的文獻探討中,知道若使用全部維度進 行群聚,不僅增加計算上的複雜程度,而使用者也很難理解所得到的群聚 所代表的意義,因此,我們將提出一個重要維度選擇的方法,以較少的資 料維度來取代全部的資料維度進行群聚分析,並將分析哪些維度屬性對於 資料有較強的解釋能力。

最後,我們發現若將全維度及部分維度群聚演算法配合使用,可以得 到更多的資訊。我們特別舉目標行銷的應用為例,提出一個維度比較的演 算法來幫助決策者從客戶交易的資料中找出潛在的行銷對象。相信加入部 分維度的群聚資訊,群聚演算法可以有更廣泛的應用。

(4)

碩士論文 朝陽科技大學資訊管理研究所

關鍵字:群聚演算法、部分維度群聚演算法、群聚參數、目標行銷

(5)

碩士論文 朝陽科技大學資訊管理研究所

Abstract

The goal of our research is to study the clustering algorithms and to analyze the characteristics of clusters for the decision of the parameters of the clustering algorithms. In the past researches, all kinds of the clustering algorithms are proposed for dealing with high dimensional data in large data sets. Nevertheless, almost all of clustering algorithms require input parameters while the users do not have enough domain knowledge to determine the input parameters. Thus, our researches will analyze and discuss the meaning of data distributions in the cluster and the meaning about cluster parameters. We propose a formula for evaluating the important factors in a cluster to determine whether the cluster is well clustered. Moreover, a new method to find the important dimensions(fields) in database is proposed. It helps the users to mine the information in partial dimensions of the data rather than the full dimensions.

Finally, we find that the clustering algorithms will work well when combine with both the results at full dimensions and partial dimensions. We take as example by applying a new algorithm to the application of target market. The algorithms analyze the consumer's consumption patterns for the decision makers to find the potential consumers and to select the better marketing strategies in order to succeed and survive in the competitive business environment.

Keywords: Clustering Algorithm, Subspace Clustering Algorithm, Clusters Parameters, Target Market

(6)

碩士論文 朝陽科技大學資訊管理研究所

誌謝

我的論文承蒙指導教授 陳榮昌博士指導而順利完成,在老師細心的指 導下,不僅讓我從許多雜亂的構想中找出本論文的研究方向,進而完成本 論文,且在每次的臨場報告或是論文發表時,老師總是很用心地指導我口 頭報告的方法、投影片製作與論文的寫作技巧等。在兩年研究生涯中,老 師不僅教導我作研究的方法並且在與老師的相處過程中,更讓我學習到了 正確的學習態度與精神。

其次,非常感謝我的口試委員 蔡鴻旭博士與 張簡尚偉博士於百忙之 中抽空蒞臨參加學生的口試,並且提供許多建議與指正,使我的論文內容 更為充實與完善。

接下來感謝這兩年陪伴我一起在研究室裡渡過無數個漫漫長夜的同學 們,因為有你們的支持與鼓勵我才能順利地走下去,並且感謝 M508 裡的每 位成員與大學部學弟妹們熱心的解答我許多程式寫作上的問題。

最後感謝我親愛的家人這麼多年來無限量的給我精神與經濟上的支 持,讓我可以在優渥的環境下專心唸書。在此將這篇論文獻給師長、家人 與關心我的朋友們,希望能與你們分享我完成碩士學位喜悅。

林育臣 九十一年八月

(7)

碩士論文 朝陽科技大學資訊管理研究所

目 錄

壹、緒論...1

1-1 研究動機 ... 1

1-2 研究目的 ... 2

1-3 研究進行步驟 ... 3

1-4 論文架構 ... 3

貳、文獻回顧 ... 5

2-1 切割式群聚演算法 ... 6

2-2 階層式群聚演算法 ... 7

2-3 密度基礎群聚演算法 ... 12

2-4 格子基礎群聚演算法 ... 15

2-5 群聚演算法比較與參數分析 ... 16

參、群聚特性之研究 ... 24

3-1 相關知識 ... 25

3-2 群聚評估 ... 29

3-2-1 鑑別率(Discrimination rate)... 30

3-2-2 凝聚率(Agglomerate rate)... 34

3-2-3 密度率(Density rate) ... 38

3-3 實驗與結果 ... 40

(8)

碩士論文 朝陽科技大學資訊管理研究所

肆、維度選擇 ... 49

4-1 部分維度聚群聚演算法 ... 49

4-2 資料維度之選擇 ... 53

4-3 實驗與結果 ... 60

伍、部份維度演算法與目標行銷 ... 65

5-1 目標行銷 ... 66

5-2 新維度比較群聚演算法 ... 68

5-3 應用於目標行銷之實驗範例 ... 71

陸、 結論與未來研究方向 ... 76

6-1 結論.... ... 76

6-2 研究成果與貢獻 ... 77

6-3 未來研究方向 ... 78

柒、參考文獻 ... 81

(9)

碩士論文 朝陽科技大學資訊管理研究所

圖 目 錄

圖 1-1: 研究方法步驟 ... 3

圖 2-1: 凝聚式與分裂式的階層群聚演算法(資料來源[13]) ... 9

圖 2-2: 以 MST 方式群聚之結果(資料來源[12]) ... 10

圖 2-3: 核心點與邊緣點(資料來源[8])... 13

圖 2-4: 密度直接到達與密度間接到達(資料來源[8])... 13

圖 2-5: 加入新資料點後群聚變化之情形(資料來源[7]) ... 15

圖 2-6: 將資料空間以階層式切割成格子狀(資料來源[22]) ... 16

圖 2-7: 群聚技術發展概況 ... 18

圖 2-8: 參數設定的山谷狀(VALLEY)曲線(資料來源[8]) ... 22

圖 3-1: 最近鄰居的距離長度出現頻率分佈圖(資料來源[24]) ... 27

圖 3-2: 計算兩群聚相似程度的方法 ... 30

圖 3-3 (A): 兩群聚重心點距離相等,但群聚半徑短... 32

圖 3-3 (B): 兩群聚重心點距離相等,但群聚半徑長... 32

圖 3-4 (A): 兩群聚最遠的點距離相等,但群聚半徑短... 32

圖 3-4 (B): 兩群聚最遠的點距離相等,但群聚半徑長... 32

(10)

碩士論文 朝陽科技大學資訊管理研究所

圖 3-5 (A): 兩群聚最近的點距離相等,但群聚半徑短... 33

圖 3-5 (B): 兩群聚最近的點距離相等,但群聚半徑長... 33

圖 3-6(A): 兩群聚最近的點距離為 2,群聚間重心距離為 4... 34

圖 3-6(B): 兩群聚最近的點距離為 2,群聚間重心距離為 6... 34

圖 3-7(A): 群聚密集程度與距離長短出現次數關係圖... 36

圖 3-7(B): 群聚密集程度與距離長短出現次數關係圖... 36

圖 3-8: 群聚內資料點分佈的區域 ... 37

圖 3-9: 所有資料點的資料空間與各群聚的資料空間 ... 39

圖 3-10: K-MEANS 程式之執行畫面 ... 44

圖 3-11: 群聚分數評估之畫面... 44

圖 3-12: 不同分群數之鑑別率 ... 46

圖 3-13: 不同分群數之平均凝聚率 ... 47

圖 3-14: 不同分群數之平均密度率 ... 47

圖 3-15: 不同分群數之總評估值 ... 47

圖 3-16: 不同分群數之各項分數評估畫面 ... 48

圖 3-17: 建議分群數之程式畫面 ... 48

(11)

碩士論文 朝陽科技大學資訊管理研究所

圖 4-1: 隱藏在部分維度空間中的群聚(資料來源[2])... 52

圖 4-2: 維度相關性問題(資料來源[5]) ... 53

圖 4-3(A): 資料點投影至 X 軸呈現均勻分佈... 55

圖 4-3(B): 資料點投影至 X 軸呈現密集集中分佈 ... 55

圖 4-4: 維度選擇演算法 ... 58

圖 4-5(A): 將資料投影至 Y 軸,呈現均勻分佈... 59

圖 4-5(B): 將資料投影至 X 軸,形成三個群聚 ... 59

圖 4-6(A): 間格距離無明顯變化... 59

圖 4-6(B): 間格距離出現較大的值 ... 60

圖 4-7: 資料維度評估之畫面 ... 63

圖 4-8: 部份維度與全維度群聚結果之畫面 ... 63

圖 4-9: 群聚結果比對的相似度之畫面 ... 64

圖 5-1: 市場區隔、選擇及定位的步驟(資料來源[26])... 67

圖 5-2: 維度比較群聚演算法 ... 70

(12)

碩士論文 朝陽科技大學資訊管理研究所

表 目 錄

表2-1: 重要群聚演算法與參數需求比較表 ... 23

表3-1: 群聚之鑑別率分析表 ... 43

表3-2: 群聚之凝聚率分析表 ... 43

表3-3: 群聚之密度率分析表 ... 43

表3-4 : 不同分群數之評估值分析表 ... 46

表4-1: 資料維度 INDEX 值分析表... 62

表4-2: 資料維度 INDEX 值比較表(選擇 INDEX 值>0 之維度)... 62

表4-3: 資料維度 INDEX 值比較表(選擇 INDEX 值為 0 之維度) ... 62

表 4-4: 資料維度 INDEX 值比較表(選擇前兩個較大 INDEX 值之維度)62 表5-1: 交易記錄原始資料 ... 72

表5-2: 交易資料範例(包含 10 個維度,YES 代表購買、NO 代表未購買)72 表5-3: 利用全部維度群聚演算法分析結果(包含群聚一、群聚二) ... 73

表5-4: 以部份維度群聚結果(例)... 75

(13)

碩士論文 朝陽科技大學資訊管理研究所

壹、 緒論

1-1 研究動機

由於企業的電子化與資料庫技術的進步,現在的企業非常倚重資料庫 來儲存商業交易資料與顧客資料等,隨著企業長期的經營,其資料庫內會 累積龐大的資料,而在這些資料中往往蘊藏著可以幫助決策者制定商業模 式及策略的資訊,決策者對於如何把資料轉成有用的商業資訊並從中找到 可提供決策資訊參考有著很大的興趣,而群聚技術便是一項很常利用來探 勘這些資訊的重要利器。群聚技術在資料探勘領域中,是一項非常重要的 技術,它可以從龐大的資料中,找出資料的分布狀況並找到其隱藏的意義,

群聚技術發展至今有很長的一段時間,在這段期間內發展了許多不同類型 的群聚技術,每種演算法都有其適合的應用範圍,因此當使用者面臨決策 問題時,應當選擇根據資料的性質與欲解決之問題選擇適當的演算法,但 當決策者使用群聚演算法來分析問題時,往往因為對於群聚演算法不夠了 解而遇到許多的問題,例如:無法找到適當的群聚演算法來進行群聚分析、

如何決定群聚參數…等,決策者可能因為上述的問題,而使得其無法有效 的使用群聚演算法來幫助解決決策上的問題。除了上述群聚演算法與參數 選擇的問題外,使用者以群聚方法進行資料分析時還會遇到其他的問題,

由於目前已發展的群聚演算法,大都利用全部維度屬性進行群聚分析,然

(14)

碩士論文 朝陽科技大學資訊管理研究所

而若使用全部維度進行群聚分析,使用者往往很難理解所得到的群聚結果 所代表的意義,且由於這些群聚包含了太多的維度屬性,反而降低了資料 維度對於群聚意義的解釋能力,基於以上種種群聚演算法使用上的不便與 缺點,本研究欲提出新的方法來解決上述問題。

1-2 研究目的

在上一節中我們提到許多群聚演算法使用上的問題與不便,如群聚演 算法與群聚參數的選擇以及群聚維度的篩選等,因此,本研究希望能夠藉 由對於重要群聚演算法的研究與探討,找出解決群聚參數問題與群聚維度 選擇的方法,本研究欲達到的目的如下:

1、為解決群聚參數選擇的問題,我們將根據群聚的特性,提出一套新的群 聚評估式來評判群聚的結果,藉由評估結果,讓使用者調整其群聚參 數,直到找到滿意的群聚為止。

2、為了讓使用者了解其群聚結果所代表的意義,我們將制定一套新的重要 維度選擇的方法,使用者透過我們的維度選擇演算法選擇重要的維度進 行群聚,便能清楚的了解哪些屬性對於該群聚是重要的。

3、利用群聚演算法找出新的資訊,並更有效的應用於商業行銷上(本研究 將以目標行銷為例)。

(15)

碩士論文 朝陽科技大學資訊管理研究所

1-3 研究進行步驟

本研究之研究流程如圖 1-1 所示,其敘述如下:

應用於目標行銷 維度比較群聚

演算法 重要維度選擇 演算法

群聚評估式制定 群聚特性分析

部分維度群聚演算 法之文獻回顧 全維度群聚演算法 之文獻回顧

圖1-1: 研究方法步驟

本研究首先將對重要的群聚演算法進行詳細的研討,其中將包含了全 維度與部分維度群聚演算法,再來我們將對群聚的特性作一番分析並找出 新的群聚評估式來衡量群聚結果。本研究並根據部分維度群聚演算法的研 究理論,將提出一套新的重要維度選擇方法與維度比較群聚演算法,最後 我們將把維度比較群聚演算法應用於目標行銷上。

1-4 論文架構

本研究主要是針對群聚技術作深入的探討與研究,並制定群聚評估 式、重要維度選擇演算法,維度比較群聚演算法等,藉此使得群聚技術更

(16)

碩士論文 朝陽科技大學資訊管理研究所

完整,並加強群聚演算法的使用上的便利性。本論文共分為六個章節,其 內容說明大致如下:

第一章為緒論,說明本研究之動機、目的與步驟及整篇論文的架構。

第二章為文獻探討,將針對以往重要的群聚演算法進行分析與比較,

並說明群聚參數的重要性與對其群聚結果的影響。

第三章為群聚特性之研究,其重點在於對群聚特性的分析與制定新的 群聚評估式來衡量群聚的結果,在該章節中我們並將對每一個群聚特性評 估式的理論背景、計算方式做詳細的描述,最後以實驗來說明其結果。

第四章為重要維度選擇演算法的研究,本章將說明部分維度群聚演算 重要性與其相關的理論,接著詳述本研究根據相關的研究理論,所發展出 的重要維度選擇之方法,最後進行實驗並說明其結果。

第五章為維度比較的群聚演算法與目標行銷之研究,本章主要的內容 是說明本研究所提出的全維度與部分維度比較的群聚演算法,我們並舉一 個目標行銷的實驗範例,來說明如何利用維度比較的群聚演算法發現新的 顧客並進行行銷。

第六章為本論文的結論,其內容主要說明我們的研究成果與貢獻,並 提出本研究未來可以發展的研究方向。

(17)

碩士論文 朝陽科技大學資訊管理研究所

貳、文獻回顧

群聚技術(Clustering technology)在資料探勘(Data mining)領域中,

是一項非常重要的技術,它可以在大量的資料中,找出資料的分布狀況並 找到其隱藏的意義,例如當使用者面臨要分析處理龐大的資料時,往往無 法輕易的獲知這些資料所代表的意義,而利用群聚技術可以先將這些資料 分成若干個群聚,再針對不同的群聚加以分析,如此,便可以簡化使用者 分析資料時的複雜性。

群聚技術的目的是在分析資料的內容,將性質相似的資料群聚在一 起,而讓不同的群聚與群聚間資料相異性大。群聚技術與傳統的分類

(Classification)最大不同是,群聚技術不預先設定分類所代表的意義,而 把資料先以群聚技術將性質內容相近的資料聚集成一群群的群聚後,再分 析定義各群聚的意義。目前群聚技術大致上可以分為下面幾類[13]:(1)將 資 料 庫 內 的 資 料 分 為 K 群 的 切 割 式 群 聚 演 算 法 ( Partition clustering algorithms)。(2)將資料庫內的資料以樹狀架構整理的階層式群聚演算法

(Hierarchical clustering algorithms)。(3)資料庫內的資料在分類時,將密 度高於一個門檻值的鄰居區域(Neighborhood)聚集成一個群聚的密度基礎 群聚演算法(Density-based clustering algorithms)。(4)將資料空間量化成 許 多 格 子 (Grid cells ) 的 格 子 基 礎 群 聚 演 算 法 ( Grid-based clustering

(18)

碩士論文 朝陽科技大學資訊管理研究所

algorithms),其每一個格子內皆可以隱藏許多資訊,因而大量的減少群聚的 時間。在以下幾節中,我們將針對一些重要的演算法作一番介紹。

2-1 切割式群聚演算法

切割式群聚演算法是發展最早的群聚技術,這一類的演算法使用者必 須先決定所要分割的群聚數目,再以重心點基礎(Centroid-based)或中心 點基礎(Medoid-based)的方式進行分群。切割式群聚演算法是以距離

(Distance)作為評估標準,通常評估的方法有:曼哈頓距離(Manhattan distance)與歐幾里得距離(Euclidean distance),目前較重要的方法有 K-means[17]、PAM[16]、CLARA[16]以及CLARANS [18]。

K-means是最典型的以重心基礎的切割式群聚演算法,它是以群聚的 重心作為群聚的代表點(Representative objects),但因為代表點不一定要是 群聚中的一點,所以可以找到最佳的群聚。然而,此方法所得的群聚的品 質很容易受到雜訊(Noises)或是離群值(Outliers)所影響。另一種方法 是以中心點作為代表點(如PAM演算法),這些群聚技術對於小型的資料集 合(Data sets)有著不錯的處理能力,但是隨著資料集合的增加,處理的效 率也越來越差,所以,通常處理大型資料庫是採用取樣的方式來解決(如 CLARA演算法)。然而取樣的演算法會受到樣本的數量以及取樣方法所影 響,倘若樣本數量太少,則群聚的結果不足以代表整個資料庫資料分布的

(19)

碩士論文 朝陽科技大學資訊管理研究所

狀況及意義;若取樣的方法不佳,則會影響到群聚的品質。CLARANS是架 構於PAM與CLARA上的中心點基礎的切割式演算法,它是第一個針對於空 間資料庫所設計的切割式群聚演算法,但只能發掘簡易的資料點分佈形狀

(Object shapes),對於呈凸多邊形(Convex shapes)或巢狀(Nested)分佈 的資料處理效果不佳,也無法有效率地針對高維度資料(High-dimensionality data)進行群聚分析。

2-2 階層式群聚演算法

階 層 式 群 聚 演 算 法 呈 現 一 種 樹 狀 的 架 構 , 可 分 成 凝 聚 法

(Agglomerative)及分裂法(Divisive),如圖2-1所示。凝聚法是由下而上

(Bottom-up)凝聚而成,演算法一開始先將資料庫內每一筆資料表示成一 個群聚,接著依資料屬性的相似度開始做合併,每次合併兩個相似度最高 的群聚,直到所設定的終止群聚數目為止。而分裂法與凝聚法相反,它是 為由上而下(Top-down)分裂,演算法一開始將資料庫內所有的資料視為 同一個群聚,然後將資料相似度低的分裂呈不同群聚,直到群聚數目為所 設定之終止數目為止。大部分階層式演算法是由下而上凝聚,資料凝聚的 評估式為以下幾種[13]:

(20)

碩士論文 朝陽科技大學資訊管理研究所

j i j i

meanC C m m

d ( , )= − (2-1) p'

n p n ) 1 C , (C

d p Ci p' Cj

j i j i

avg = ∑ − (2-2)

' max

) ,

(

, '

max

C C p p

d

i j

=

pCi pCj

(2-3)

' min

) ,

(

, '

min

C C p p

d

i j

=

pCi pCj

(2-4)

在計算式(2-1)中 Ci與Cj分別代表第 i 與 j 群,mi與mj為第i 與 j 群的重 心點,其評估方法是先以群聚的重心點 mi與 mj代表該群聚,計算兩個群聚 的重心點的距離為群聚距離。在計算式(2-2)中,Ci與 Cj分別代表第 i 與 j 群,ni與nj為第i 與 j 群內資料的數量,P 與 P′為第 i 與 j 群內的代表點,

它是計算兩群聚內所有資料點的距離平均數來表示兩群聚的距離。而在計 算式(2-3)中,Ci與 Cj分別代表第i 與 j 群,P 與 P′為第 i 與 j 群內的代表 點,其評估方式是以兩群聚中最遠的兩資料點 P 與 P′的距離來代表群聚的 距離。計算式(2-4)中,以 Ci與Cj代表第 i 與 j 群,P 與 P′為第 i 與 j 群內 的代表點,其計算方式是以兩群聚間最近的兩資料點 P 與 P′來代表群聚距 離。如果空間上的資料點分佈良好的話,利用四種評估式合併的結果應該 會很相似,但是如果資料點分布情況不佳,則不同的評估式會產生不同的 群聚結果。目前的常見的演算法有 BIRCH [25]、CURE [11]、ROCK [12]、

CHAMELEON [15]、AMOEBA [9]、AUTOCLUST [10]等。

(21)

碩士論文 朝陽科技大學資訊管理研究所 step0 step1 step2 step3 step4

Agglomerative

a ab

b abcde

c cde

d de

d

e

Divisive

step2 step3

step4 step1 step0

圖 2-1: 凝聚式與分裂式的階層群聚演算法(資料來源[13])

CURE演算法以群聚間的相似程度(Closeness degree)為合併的依據,

它有別於以往中心點或重心點的群聚演算法,是以一個代表點來取代一個 群聚,而MST(Minimum spanning tree)方法以全部的點皆為代表點。CURE 演算法則是固定選擇C個點(2≤C≤N,N為全部資料集合)代表群聚(因為 以一個代表點來代表群聚,則群聚的品質較差,如果以全部的點為代表點,

則相當消耗計算的時間),接著將全部的代表點向重心收縮參數α(0≤ α ≤ 1),以此將相似的群聚合併,直到我們所要的群聚數為止。CURE演算法適 用於大型的資料集合,可以辨識任何形狀的群聚,對離群值處理較健全,

但它不適合處理類別屬性(Categorical)資料,且由於CURE演算法採用了 取樣來進行群聚,故需注意取樣的結果。

(22)

碩士論文 朝陽科技大學資訊管理研究所

ROCK演算法強調不同群聚間的資料互相鏈結(Inter-connectivity)的 關係,它對於類別屬性資料有良好的處理能力。在以往以距離為評估基礎 的群聚演算法中,只考慮兩資料距離相近的程度,並沒有對資料點內的屬 性相似度進行探討,所以當這些演算法進行群聚時,可能會發生錯誤,例 如:使用MST方法對資料庫內的資料進行群聚,首先{1,2,3}與{1,2,4}將凝 聚成一個群聚,而{2,3,5}與{2,4,5}將凝聚成一個群聚,以此最後將得到A、

B兩個群聚結果(圖2-2)。

群聚 A 群聚 B

<1, 2, 3, 4, 5>

{1, 2, 3} {1, 4, 5}

{1, 2, 4} {2, 3, 4}

{1, 2, 5} {2, 3, 5}

{1, 3, 4} {2, 4, 5}

<1, 2, 6, 7>

{1, 2, 6}

{1, 2, 7}

{1, 6, 7}

{2, 6, 7}

圖2-2: 以 MST 方式群聚之結果(資料來源[12])

接著我們使用相似度評估公式(2-5)去衡量其屬性相似程度:

1 0

2 ,

1 2

1

= TTTT α α

Sim 其中T1T2分別代表資料庫內任兩筆資料 (2-5)

結果發現{1,2,3}與{2,4,5}雖然歸類為同一群聚,但是其屬性的相似程度只 有 0.2,而{1,2,3}與{1,2,7}被歸為不同的群聚,但是其屬性的相似程度卻有 0.5,由此可知這樣分群的結果是不合理的,所以 ROCK 演算法根據此缺點

(23)

碩士論文 朝陽科技大學資訊管理研究所

提出了修正的方法,例如當資料點{1, 2, 3}與資料點{1, 2, 4}凝聚的時候必 須去計算兩個資料點共同鄰居數目(共同鄰居為資料點{1, 2, 3}與{1, 2, 4}

共同只差一個屬性的資料,故共有{1,2,5}、{1,3,4}與{2,3,4}),共同鄰居數 目又稱 Link 數,而 Link 數越高的,則資料間的相似度也越高。

ROCK著重於群聚間資料互相鏈結的關係,卻忽略了群聚的相似程度,

而CURE著重於群聚的相似程度,卻忽略不同群聚間資料互相鏈結的程度,

在CHAMELE演算法中針對CURE與ROCK的缺點,提出了修正。它是以相 對互相鏈結(Relative Interconnectivity, RI)與相對相似(Relative Closeness, RC)為基礎的階層式群聚演算法,它先以最近鄰居法(K-nearest neighbor)

將 所 有 的 資 料 聚 集 為 一 群 聚 , 接 著 將 群 聚 切 割 為 若 干 子 群 聚

(Sub-clusters),最後以RI與RC為評估方法,將子群聚合併直到所訂定的群 聚數目。CHAMELE對於群聚的形狀也有良好的辨識能力。

階層式群聚演算法也被設計使用於空間資料庫上,例如AMOEBA、

AUTOCLUST演算法等。這兩種階層式演算法皆屬於分裂式演算法,

AMOEBA利用 Delaunay三角形(Delaunay triangles)有效計算出所有資料 的最近鄰居並將之連接成Delaunay圖形(Delaunay diagram),也就是將資料 集合聚集為一個群聚,接著計算圖形上所有連結邊(Edges)總合的平均數

(Means),剔除圖形上所有大於平均數的邊,將群聚分裂成若干個子群聚,

在第二層分析中針對每一個子群聚計算其群聚計算所有邊總合的平均數,

(24)

碩士論文 朝陽科技大學資訊管理研究所

剔除該群聚大於平均數的邊,以漸層式的分析方式,直到找到理想的群聚 數目為止。AMOEBA使用漸層式的分析,在每一層裡,子群聚個別計算其 區域性的參數,這樣的演算法適合應用於地理資訊系統上,而AUTOCLUST 演算法與AMOEBA類似,不同的是AUTOCLUST去除邊的標準差以外特別 長或特別短的邊,這兩種演算法的時間複雜度只需要O(n log n),且不需要 輸入任何的參數,且可以發現任意的群聚形狀。

2-3 密度基礎群聚演算法

在一個資料集合內,假設有某些資料點分佈密度相當密集,則這些資料 點形成一個群聚,換句話說,在群聚內資料分佈的密度應該大於群聚外資 料分佈的密度,而密度基礎群聚演算法,便是基於以上的觀念所發展出來 的群聚方法,目前較重要的方法有DBSCAN [8]、OPTICS [1]。

DBSCAN 演算法是較早利用密度觀念處理群聚問題的演算法,使用者 需設定鄰居區域的半徑(Eps)及至少存在於該鄰居區域的資料點數(MinPts)

兩個參數,只要在半徑 Eps 鄰居區域內的資料點數大於門檻值 MinPts,則 形成群聚,如圖 2-3 所示,若以 P 為圓心,以 Eps 等於 1 維半徑,搜尋鄰域 內資料點數大於 MinPts 值,而形成群聚,則 P 點稱為核心點(Core point),

而若是將圓心移至q 點,卻無法形成群聚,則 q 點稱為邊緣點(Border point)。

(25)

碩士論文 朝陽科技大學資訊管理研究所

半徑(Eps)=1cm

p:核心點

q:邊緣點 q

p MinPts=5 點

圖 2-3: 核心點與邊緣點(資料來源[8])

接著 DBSCAN 開始由核心點向外擴展群聚範圍,由使用者所訂定 Eps 的區域可直接包含且形成群聚的資料點,稱為密度直接到達(Directly density-reachable)。藉由邊緣點向外拓展可間接包含到的資料點,稱為密度 間接到達(Density-reachable)。如圖 2-4 所示,藉由可以包含到的資料點,

群聚不斷的向外拓展,直到所有的資料點分配完成為止。利用密度方法的 特性,DBSCAN 可以有效分辨並控制離群值,但是對於處理任意形狀群聚 的辨識效果較差,尤其參數的設定,會嚴重影響到群聚品質與群聚結果,

這些參數必須要根據經驗或是觀察判斷,使用者很難決定參數訂定的大小。

p r s

q q 是由 p 可直接到

達的點。

s 點是由 p、q 與 r 點間接到達的點。

半徑(Eps)=1cm MinPts=5 點

圖2-4: 密度直接到達與密度間接到達(資料來源[8])

(26)

碩士論文 朝陽科技大學資訊管理研究所

OPTICS 演算法是為了解決參數問題而提出了密度基礎的分群順序,它 擴充 DBSCAN,根據此順序自動去處理參數,OPTICS 與 DBSCAN 演算法 的結構是一樣的,其時間複雜度皆為O(n log n)。DBCLASD [24] 是另一種 不需要輸入參數的演算法,它是以分配基礎群聚演算法(Distribution based clustering algorithms),作者觀察到群聚內資料點距離最近鄰居的距離會小 於到群聚外部的距離,換句話說,在同一群聚內資料點到最近鄰居距離短 的出現頻率應該高於距離長的出現頻率,如此會呈現機率分配,雖然 DBCLASD 不需要任何輸入參數,但是其計算的執行時間大於 DBSCAN。

由於企業持續的營運,其客戶與交易的資料不斷地增加,企業必須要 定時去更新資料庫或資料倉儲(Data warehouse)內的資料,此時我們面對 的不再是靜態的資料集合,而是動態的資料集合。以往的群聚演算法大多 討論有關靜態的資料庫的群聚,而動態資料庫的群聚處理更為複雜,

IncDBSCAN [7] 便是針對在資料倉儲的環境下處理群聚問題的密度基礎群 聚演算法,因為所要處理的資料集合不再是固定的,所以此時必須考慮到 當有資料加入時,對原來群聚的影響(如圖2-5所示)。同樣的,在刪除資料 的情況中,我們也要考慮群聚是否會因為刪除的資料點而分裂成兩個或多 個群聚,或是使原本的群聚變成雜訊。

(27)

碩士論文 朝陽科技大學資訊管理研究所

MinPts=3 群聚 A

群聚 B 情況一:雜訊 情況二:形成群聚 情況三:加入現有群聚 情況四:合併

圖2-5: 加入新資料點後群聚變化之情形(資料來源[7])

2-4 格子基礎群聚演算法

格子基礎群聚演算法將資料空間量化成許多格子,大量的減少群聚的 時間。在這類演算法中,較具代表性的 STING [22],WaveCluster [20]。

STING 演算法是將資料空間切割成格子狀(如圖 2-6),其群聚方式是 由上而下的,利用廣度搜尋將格子內的群聚作合併。STING 探索存在格子 的統計資訊,然後群聚,其缺點是分群邊緣的形狀不是水平就是垂直,儘 管有快速的群聚處理時間,但會有損及其品質及正確率。此外,STING 是 呈現階層式架構,較高的階層會儲存較低階層資訊的總合,所以查詢的速 度非常快速,其時間複雜度為 O(k)(k 為最底層格子的數)。另外還有一些 利用類神經網路、統計或是數學模式的群聚技術稱為模式基礎群聚演算法

(Model-based clustering algorithms)。

(28)

碩士論文 朝陽科技大學資訊管理研究所

圖 2-6: 將資料空間以階層式切割成格子狀(資料來源[22])

2-5 群聚演算法比較與參數分析

以上幾種類型的群聚演算法因為群聚方式的不同,所以皆存在著一些 限制與缺點。近來有些學者嘗試以混合的方法,結合多種群聚技術,取其 演算法的優點,如BRIDGE [6],它有效的結合K-means快速容易執行且可以 找到最佳的群聚之特性與DBSCAN可以屏除受離群值影響的優點,成為更 好的群聚演算法。最後,我們將目前的群聚演算法依分類及發表的年份整 理成圖表(圖2-7)。

群聚演算法因為有先天上的限制或缺點其各有特色,我們可以藉由幾 項評量標準來判斷群聚演算法的優劣 [13]:

[1] 延展性(Scalability):群聚演算法必需能效率地處理大型資料庫。

[2] 需要極少領域知識去決定輸入參數:大多群聚演算法在進行群聚前都會 要求使用者輸入參數,而這些參數會影響群聚的品質及結果,使用者可 能查閱使用手冊或是專業領域的知識才能找出最合適的參數值,這不只

(29)

碩士論文 朝陽科技大學資訊管理研究所

造成使用者的困擾,也容易因為輸入不當的參數影響而群聚的品質。

[3] 能處理不同型態屬性:許多群聚的演算法被設計為適合處理數值型或類 別型的資料庫,然而在許多應用上, 資料庫可能包含各類型的屬性,

故群聚演算法必須具備處理不同類型屬性的能力。

[4] 能處理的維度:一個資料庫或資料倉儲可能包含多個維度與屬性,許多 群聚演算法對於低維度的資料皆有良好的群聚能力,而對於高維度資料 處理能力不佳,好的群聚演算法必須具備處理多維或高維資料的能力。

[5] 能辨別任意形狀群聚:一般群聚的演算法是以距離來衡量資料的相似 度,這一類型的演算法對於任意形狀的群聚辨識能力有限。好的群聚演 算法必須要能很有效且正確的發現任意形狀的群聚。

[6] 處理雜值的能力:群聚演算法必須要能去除或是過濾雜訊與離群值,在 真實的資料庫中,資料庫內可能包含雜訊,漏失值(Missing value),這 會影響到群聚結果的品質。在某些應用上,尋找雜值使非常重要的,如 信用卡的犯罪偵防,就必須找出資料庫內異常的資料。

[7] 可解釋性:使用者透過群聚方式所產生的群聚結果,必須要是可以讓使 用者理解其中所代表的意義,進而將該群聚進行定義並使用之。

[8] 對於資料輸入的順序不敏感:有些群聚演算法會受資料輸入順序的影 響,不同的資料輸入順序會產生不同的群聚結果。這對使用者容易造成 困擾。

(30)

碩士論文 朝陽科技大學資訊管理研究所

年份 群聚技術

切割式 群聚演算法

階層式 群聚演算法

密度基礎 群聚演算法

格子基礎 群聚演算法

重心點 基礎

重心點 基礎

凝聚式 分裂式

67 87

90 94 96

97 98

99

00

01

k-means

PAM CLARA

CLARANS

BIRCH DBSCAN

STING

Inc- DBSCAN

Wave- Cluster

CURE DBCLASD GDBSCAN

ROCK CHAMELEON OPTICS STING+

AMOEBA AUTOCLUST

BRIDGE

(實線代表新方法,虛線代表由上游方法所衍生之演算法) 圖2-7: 群聚技術發展概況

(31)

碩士論文 朝陽科技大學資訊管理研究所

群聚演算法的種類很多,使用者必須針對所要解決的問題或是所要處 理的資料,選擇適合的演算法,例如:k-mode [14] 及ROCK適合處理類別 屬 性 資 料 ,K-means 及 PAM 適 合 處 理 數 值 屬 性 ( Numeric ) 資 料 , 而 K-prototypes [14]整合K-means 及k-modes 能針對類別及數值型態的屬性進 行群聚分析。群聚技術的應用也非常廣泛,如AMOEBA演算法漸層性的群 聚可以應用於地理資訊系統上,DBSCAN演算法對於離群值有很好的處理 能力,它可以發現異常的資料,能應用於犯罪偵防上。而GDBSCAN [21] 演 算法則實際的應用於天文、生物基因資料庫、地球科學及地理資料庫,在 未來群聚技術因為在多媒體,醫療影像資料庫,空間資料庫及全球資訊網 路上的應用越來越廣泛,將使得群聚方法的研究有更大發展的空間。

在以上的討論中,我們可以知道使用者利用群聚技術來進行資料探勘 時,必須針對欲解決的問題或是資料庫的性質而選擇適合的群聚技術,然 而當使用者選擇適合的技術後,還會面臨到參數選擇的問題,因為群聚演 算法大多數會要求使用者輸入參數值,根據這些參數值進行群聚,因此,

使用者必須要充分了解所要解決的問題或是熟悉資料庫的特性才能找到適 當的參數,進而群聚出最佳的群聚。然而,對於使用者而言,要決定演算 法的輸入參數是很困難的,但是大多數的演算法都會要求設定參數,如 K-means、PAM 與 CLARA 等切割式的演算法,需要輸入最後所要輸出的群 聚數目 K,而後來的 CLARANS 演算法中雖然不再要求輸入群聚數目 K 值,

(32)

碩士論文 朝陽科技大學資訊管理研究所

但是它卻需要輸入參數最大鄰居數(Maxneighbor)與局部最小值(Numlocal)

兩個參數,其中Maxneighbor 指的每次測試需不需要與任意鄰居置換的最大 數目,而 numlocal 指的是在局部找到最低群聚成本數目。在階層式群聚演 算裡,也是需要參數的設定,如 CURE 演算法必須要輸入選擇代表點數目 C 與向重心收縮參數α,而有的演算法要設定群聚分裂或凝聚停止的數目。

以密度基礎的演算法,如DBSCAN 則是要設定鄰居區域的半徑 Eps 與最低 資料點門檻值 MinPts 等,而在現有的群聚演算法中有些是不需要輸入參數 的,如 AMOEBA、AUTOCLUST、DBCLASD、CHAMELEON..等,這些 演算法是以群聚的緊密程度進行分群,並且不需要設定群聚的數目。

群聚的輸入參數,會影響到群聚的品質,如切割式群聚演算法需要的 群聚數目 K 值,如果設定不恰當,其得到的群聚的群集性會不佳,在 [16]

中,提到了一個計算 silhouette 係數的方法來評估最佳群聚數,其計算方式 如下(式子2-6),假設資料點i 被歸納到群聚 A 內,以 a(i)表示此資料點到 群聚內所有資料點的平均距離,d(i,C)表示 i 點到其他群聚 C 內所有資料點 的平均距離,而 b(i)為 min d(i,C),其中群聚 A≠群聚 C,其資料點 i 值的 silhouette 係數 s(i)為式子 2-6 所示。

(33)

碩士論文 朝陽科技大學資訊管理研究所

1-[a(i)/b(i)] ,當 a(i)<b(i)

s(i)= [b(i)/a(i)]-1 ,當 a(i)>b(i) (2-6)

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-8 所示),由曲線可以觀察出,當我們將 MinPts 訂 定太低時,其所群聚的數量應該會變多,反之若是將 MinPts 訂定太高,則 所找到的群聚數量會變少,而大部分的資料點都會形成雜訊點,因此藉由 此曲線,我們找出其轉折的臨界點(Threshold point),此臨界點所對應到的 MinPts 與 Eps 則為較好的群聚參數值,但是這樣的方法使用者必須反覆的 調整 MinPts 與 Eps 值,才能找出較為適當的臨界點,以上預先處理

(Pre-processing)的分析工具都是為了方便使用者找到適合的輸入參數,

藉由適當參數的輸入進而得到群集性較佳的群聚。

(34)

碩士論文 朝陽科技大學資訊管理研究所

圖2-8: 參數設定的山谷狀(Valley)曲線(資料來源[8])

綜合以上的討論與描述,我們將重要的群聚演算法之比較與其所需要 的群聚參數整理成表 2-1,由表可以觀察出,最近所發展群聚演算法對高維 度或是大型資料庫的處理越來越重視,其成果也越來越佳,但是目前大部 分的演算法還是受到其方法先天上的限制,都會要求使用者輸入一些群聚 參數,然而使用者通常將因為對於這些資料庫或是群聚演算法了解不深,

而無法選擇適當的參數值,導致群聚後結果不佳或是根本無法分析使用,

雖然以往的研究中如 K-means 與 PAM..等切割式群聚演算法,可以利用 silhouette 係數的方法來評估最佳群聚數 k,而 DBSCAN 則可以利用固定 Eps,嘗試不同的 MinPts 找出曲線圖進而找到適當的參數值,然而利用這些 方法,使用者還是無法清楚的評估出其所找出來的群聚品質是否良好,所 以在下一個章節,我們將會利用群聚的特性找出適當的評估式子,使用者 藉由群聚的評估式不僅可以判斷群聚結果的品質狀況,並且可以不斷的調 整其群聚輸入參數,再利用我們的群聚評估式評估群聚結果,藉此找出最 適當的參數值,利用我們的評估式必能強化群聚演算法的使用。

(35)

碩士論文 朝陽科技大學資訊管理研究所

表2-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)

局部最小值(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 為最底層格子的數), 空間資料庫 需要參數

(36)

碩士論文 朝陽科技大學資訊管理研究所

參、群聚特性之研究

本章研究的目的在於群聚特性的分析與制定新的群聚評估式來衡量群 聚的結果。在以往的研究中,已經有許多學者針對各類型的資料庫及不同 的應用領域提出各種的群聚演算法,因此當使用者面臨決策問題時可以根 據欲解決之問題從中選擇適當的群聚方法。然而目前大部分的群聚演算法 都需要使用者輸入群聚的參數,而且這些參數的設定會影響群聚後的結 果,故使用者必須要充分了解所要解決的問題及參數對於群聚的意義,才 能選擇適當的參數進而得到較好的群聚結果。但使用者往往因為對於群聚 演算法與參數不夠了解,因而無法有效的利用群聚演算法來進行資料的群 聚分析並幫助解決決策上的問題,所以,基於以上因素,本研究將根據目 前重要群聚演算法的特性,將群聚資料分佈的意義、參數對群聚的意義以 及各群聚間的關係做更進一步的分析與描述,並訂定新的群聚的評估式以 便協助決策者有效地找出適當的群聚參數,藉此強化群聚演算法來提供決 策者更多的便利性。以下在第一節中我們先會對目前重要演算法中的群聚 特性作一番分析與探討,在第二節將根據以往群聚特性的分析,找出新的 群聚評估式,最後一節則說明相關實驗及結果。

(37)

碩士論文 朝陽科技大學資訊管理研究所

3-1 相關知識

由第二章的文獻回顧中我們知道目前所發展的群聚演算法大致上可分成切 割式、階層式、密度基礎與格子基礎等四種類型群聚演算法,這些演算法 因其群聚方式的不同,所以都存在著一些先天上的限制,所以通常這些群 聚演算法都須要參數的輸入與設定。以切割式群聚演算法來說,其群聚方 式大概可以分為兩個步驟,首先使用者依照其欲分群的數目從資料庫中選 擇 K 個代表點,接下來將未選擇到的資料點以歐式距離為評估方式,分配 到最接近的代表點,最後所有的資料點都會被分配給某個代表點形成 k 個 群聚。這類型的群聚方法較重要的有K-means、 PAM 與 CLARA 等。這些 演算法在進行群聚時,會先要求使用者輸入欲分群的數目 K,假設 K 值選 擇不恰當可能會導致群聚的結果不理想,因此為了找到群集性高或是較佳 的群聚結果,我們可以根據 silhouette 的評估係數來評估群聚的結果。

silhouette 是以距離的方式來評判資料點歸屬到該群聚或是歸屬到相鄰的群 聚的適合程度(其計算方式請參考第二章評估式 2-6),這樣的評估方式只 考慮到資料點是不是適合分配給該群聚,並沒有對於群聚內資料點分佈的 狀況加以分析與討論,因此,雖然我們可以藉由 silhouette 係數的計算找到 最佳的分群數目值 K,但是並無法從評估式中了解群聚內資料點分佈的結 構狀況(如資料點分佈是否緊密),所以在論文中,我們將改進 silhouette 係數此一缺點,把分群後各群聚內資料點的分佈情況納入考量。另外,階

(38)

碩士論文 朝陽科技大學資訊管理研究所

層式群聚演算法是以資料點的相似程度來進行分裂或是凝聚的群聚動作,

其相似程度是以歐幾里德距離公式或是相似度評估公式(3-1)進行評估。

筆資料 分別代表資料庫內任兩

其中T1 T2 ,

1 0 2 , 1

2

1

= α α T

T T

Sim T (3-1)

由第二章的描述,我們可以知道階層式演算法的距離評估方式有四種,第 一種是以一群聚的重心點代表一個群聚(稱 Centroid linkage),計算兩個群 聚的重心點的距離作為相似程度的評量,第二種是 average linkage,它是計 算兩群聚內所有資料點的距離平均數來代表兩群聚的距離,第三種為 complete linkage,它是計算兩群聚最遠的兩資料點的距離來表示相似程度,

最後一種為 single linkage,它是以兩群聚間最近的兩資料點的距離來代表群 聚相似程度。在我們的群聚評估式中,將會擷取這些方法的特性與優點,

修正成為新的評估式。

密度基礎群聚方式是利用群聚內的密度會高於群聚外之密度的原理來 進行分群,其中重要的演算法有 DBSCAN、DBCLASD..等。DBSCAN 要求 輸入 Eps 及 MinPts 兩個參數,而這兩個參數主要的意義在於當一個鄰居區 域內的資料點密度大於某一個程度時,才能成為群聚,故由此可知當我們 欲評估一個群聚的時候,也應該對於群聚內資料點的密度加以討論。此外 一些不需要輸入參數的方法,如 AMOEBA、AUTOCLUST、DBCLASD..

等,則著重於其他的群聚特性。AMOEBA 與 AUTOCLUST 群聚演算法計

(39)

碩士論文 朝陽科技大學資訊管理研究所

算每個資料點與鄰居距離的平均長度,其認為在同一個群聚內的資料點間 的距離會小於所求出的平均長度,DBCLASD 也是利用類似的觀念,不同 的是它是以機率分配來描述,其認為在一群聚內每個資料點與最近鄰居的 距離長度,距離長度短的出現頻率會高於距離長度長出現的頻率(如圖 3-1 所示)。

2.5 2.0 1. 5 1. 0 0. 5 0

距離長度出現的頻 率(f/NNdist)

最接近鄰居的 距離長度(NNdist)

0 0.5 1.0 1.5

圖3-1: 最近鄰居的距離長度出現頻率分佈圖(資料來源[24])

由以上 AMOEBA、AUTOCLUST、DBCLASD....等群聚演算法的描述 中發現這些演算法所強調的是群聚內資料點凝聚的特性,也就是說,一個 較好的群聚其內部的資料點分佈應該是向群聚中心集中,且要夠密集,如 此該群聚的群集性才是高的,因此,在我們的群聚評估式中也將衡量群聚 內資料點凝聚集中的程度,藉由這項群聚的特性,更提高我們群聚評估式 的正確性。

(40)

碩士論文 朝陽科技大學資訊管理研究所

格子基礎的群聚演算法主要是將資料空間量化成許多格子,以格子為 單位進行群聚運算,如此可以大量的減少群聚的時間。格子基礎群聚演算 法所找到的群聚很容易受到其格子大小的影響,若是格子太大則所找出的 群聚外型會比較粗糙,故使用者必須輸入適當切割間隔值,如此才能分割 出適當的格子。格狀的群聚演算法與密度式群聚演算法相當類似,兩種演 算法都強調群聚密度的特性,例如 CLIQUE 群聚演算法就是計算格子內資 料點數量來判斷是否有群聚存在,當格子內資料點數量高的時候,該格子 就成為一個群聚,然後再檢查相鄰格子是否也為群聚,如果相鄰的格子也 是群聚則可以與它合併成一個較大的群聚,由此我們可以知道格子基礎的 群聚演算法也是以群聚的密度特性為群聚之基礎。

綜合以上各演算法對於群聚性質的描述,我們發現各類型的群聚演算 法因為群聚方式的不同,都有其特別強調的群聚特性,但每種方法對於群 聚特性的考量也都有不足的地方,其中也存在著許多問題與缺點,所以本 研究將對於群聚資料分布、群聚結構及群聚與群聚間的關係做更精細的探 討,並將藉由群聚性質的分析中,找出重要的群聚特性並制定新的群聚評 估式,在下一節中,我們將會詳細介紹本研究所提出的群聚評估式。

(41)

碩士論文 朝陽科技大學資訊管理研究所

3-2 群聚評估

群聚技術的目的是在分析資料的內容,將性質相似的資料群聚在一 起,而讓資料相異性大的資料屬於不同的群聚,因此,一個好的分群結果 應該是群聚內資料點分佈密集而群聚與群聚間要有明顯的區隔。從以往的 文獻探討中,我們可以知道各類型的群聚演算法因為群聚方式的不同,所 以都有其特別強調的群聚特性,但每種方法對於群聚特性的考量也都有不 足之處,如切割式群聚演算法以歐式距離來評估資料點是否適合被分配到 合適的群聚,但卻沒有對群聚內資料的密集度進行討論,而階層式演算法 則是將相似的資料凝聚在一起,雖然可以達到讓群聚內資料相似,不同群 聚資料差異性大的目的,但也沒有對於群聚的密度與資料點的分佈加以分 析,而密度與格子基礎的群聚演算法雖然已經加入了密度的觀念,但卻沒 有考慮到群聚與群聚間的關係。綜合以上各類型群聚方法所著重的群聚特 性與評估上的缺點,本研究將根據以往研究中所描述的群聚特性與資料點 分佈的狀況,篩選出三個重要且能表現出群聚特性的因素分別為:鑑別率

(Discrimination rate)、凝聚率(Agglomerate rate)與密度率(Density rate),

並將這三個群聚特性量化成評估值,藉由評估值的比較,使用者更可以清 楚地了解是否找到好的結果與群聚是否具備高的群集性。接下來我們將對 這三個重要的群聚特性一一作介紹:

(42)

碩士論文 朝陽科技大學資訊管理研究所

3-2-1 鑑別率(Discrimination rate)

根據以往的文獻探討中我們可以知道一個好的分群是能將相似的資料 聚在一起並且很清楚的區別群聚間的不同,也就是說群聚演算法必須要能 很清楚的鑑別出哪些資料是同群,哪些資料非同群。在階層式的群聚演算 法中便是以資料的相似程度作為資料凝聚的依據,其評估資料相似度有四 種,第一種是以一群聚的重心點代表一個群聚,計算兩個群聚的重心點的 距離作為相似程度的評量,第二種是以兩群聚最遠的兩資料點的距離來表 示相似程度,第三種是以兩群聚間最近的兩資料點的距離來代表群聚相似 程度,最後一種是以所有資料點的距離平均數來代表兩群聚的距離,如圖 3-2 所示,以這些方法進行群聚凝聚,便能達到將相似的資料凝聚在一起,

不相似的資料則區隔成不同群聚的目的。

以兩群聚最接近的 點為距離

以兩群聚的重心點 為距離

以兩群聚最遠的 點距離

圖3-2: 計算兩群聚相似程度的方法

(43)

碩士論文 朝陽科技大學資訊管理研究所

依據以上幾種評估方法我們提出了群聚鑑別率的觀念,其主要的目的是在 於透過鑑別率評估分析,便能清楚的判斷群聚與群聚間是否有很明顯的區 隔,也就是說群聚與群聚間的距離越遠則鑑別程度越高。根據我們的觀察 與分析,發現第一種以計算兩群聚重心點來代表群聚距離的方法並沒有考 慮到群聚半徑範圍之因素,故採用此方法來評估鑑別程度時會發生錯誤,

例如:如圖 3-3(a)所示,當兩群聚重心點距離一樣(即評估出的鑑別程度一 樣),假設兩群聚的半徑較大時,則群聚與群聚間的分隔相當小,反之若是 兩群聚半徑都很小時(如圖 3-3(b)所示),則我們發現其群聚間有明顯的分 隔,所以圖 3-3(b)群聚的鑑別程度應該是較高的。第二種是以兩群聚內最遠 的資料點距離來代表群聚距離也是未考慮到群聚半徑範圍之因素,例如,

當兩群聚最遠資料點距離一樣,但兩群聚的半徑較大時(如圖3-4(a)所示),

則群聚間無明顯區隔,反之若是兩群聚半徑都很小時(如圖 3-4(b)所示),

則群聚間有明顯區隔。第三種是以兩群聚內最近資料點距離來代表群聚距 離,雖然以此方法可以固定住群聚間的距離,而不受群聚半徑大小的影響,

然而若是未考慮群聚的半徑範圍,而把圖 3-5(a)與圖 3-5(b)的鑑別程度視為 一致是很不合理的。

(44)

碩士論文 朝陽科技大學資訊管理研究所

圖 3-3 (a): 兩群聚重心點距離相等,但群聚半徑短

圖3-3 (b): 兩群聚重心點距離相等,但群聚半徑長

圖3-4 (a): 兩群聚最遠的點距離相等,但群聚半徑短

圖 3-4 (b): 兩群聚最遠的點距離相等,但群聚半徑長

(45)

碩士論文 朝陽科技大學資訊管理研究所

圖 3-5 (a): 兩群聚最近的點距離相等,但群聚半徑短

圖 3-5 (b): 兩群聚最近的點距離相等,但群聚半徑長

為了改善上述所幾種評估方法的各種缺點,我們的鑑別率評估方法將採用 第三種計算兩群聚最接近的資料點距離,保留其可以固定群聚間的距離的 優點,並且加入了群聚半徑的考量,最後我們的鑑別率計算方式如公式 3-2 所示,其鑑別率的值會介於0~1 間,鑑別率越接近 1 則代表鑑別效果越佳。

1 鑑別率 0

兩群聚重心點的距離 , 離 兩群聚間最接近點的距

鑑別率 = ≤ ≤ (3-2)

以本研究所訂定的鑑別率來評估群聚間的鑑別程度,不但不受群聚半徑大 小的影響,並可以根據半徑大小調整出調合理的鑑別率值,如圖3-6(a)所示 其群聚間最近點距離為 2,群聚重心點距離為 4,而圖 3-6(a)中,其群聚間 最近點距離為 2,群聚重心點距離為 6,若是由以往利用最近點距離來評估,

(46)

碩士論文 朝陽科技大學資訊管理研究所

則兩個分群的鑑別距離都為 2,這樣是不合理的,因為圖 3-6(a)中的群聚半 徑較小,雖然兩者鑑別距離都為2,但相對而言,圖(a)的鑑別程度應該是較 圖(b)高,而若採用我們的鑑別率評估,則可以分別得到 0.5 與 0.33,便可 充分且合理的表現出群聚的鑑別程度。

圖 3-6(a): 兩群聚最近的點距離為 2,群聚間重心距離為 4

圖 3-6(b): 兩群聚最近的點距離為 2,群聚間重心距離為 6

3-2-2 凝聚率(Agglomerate rate)

在群聚分群中,我們除了考慮到群聚的鑑別程度外,必須還要考慮到 群聚內資料點分佈是否夠集中,在過去的研究中我們發現 AMOEBA、

AUTOCLUST、DBCLASD..等群聚演算法都提到群聚內資料點緊密程度的 觀念,在這些研究中認為一個好的群聚其內部資料點分佈應該是非常緊密 的,而且當一群聚內資料點分佈緊密度高時,其資料點與資料點間的距離

(47)

碩士論文 朝陽科技大學資訊管理研究所

都是很短的,根據以上研究的理論,我們將群聚的緊密度量化成凝聚率,

利用本研究所提出的凝聚率計算式,更能有效的衡量群聚內資料點凝聚緊 密程度。

本研究所提出的凝聚率是計算群內所有資料點到群聚中心的距離,找

出落在平均距離內的資料點佔整體資料點的比率,在我們的研究中發現如 果群聚資料分佈是緊密的,則群聚內的資料點到群聚中心之距離大多較 短,換言之,該群聚的凝聚程度高(如圖 3-7(a)所示),反之假設群聚資料 分佈是鬆散的(如圖 3-7(b)所示),則群聚資料點到群聚中心會出現較長的 距離值,其群聚的凝聚程度較低,所以依據以上的分析,我們可以知道假 設一個群聚內大部分的資料點都集中分佈於群聚中心附近(即資料點落在 平均距離內),則該群聚應該會得到高的凝聚率值。

(48)

碩士論文 朝陽科技大學資訊管理研究所

0 1 2 3 4 5 6 7 距離 出現次數

7 6 5 4 3 2 1 0

圖3-7(a): 群聚密集程度與距離長短出現次數關係圖

出現次數

圖3-7(b): 群聚密集程度與距離長短出現次數關係圖

7 6 5 4 3 2 1

0 0 1 2 3 4 5 6 7 距離

計算凝聚率的目的是在於評估群聚內資料點分佈的狀況,我們利用統

計中常態分配的特性來計算之。在統計中提到,當資料呈現常態分配時,

假設所有資料點到群聚中心距離平均數為µ,其標準差為σ,則將有 99.74%

的資料點會落在平均值加減三個準差的距離範圍內(即µ±3σ)。因此我們將

根據這個特性找出落在距離平均數內的資料的個數,進而求出凝聚率。接 下來我們將開始介紹凝聚率的計算方法,首先假設一群聚內資料點個數為 n,群聚中心為 x,資料點為 xi(1≤ i ≤ n),則我們可以求出所有資料點到群 聚中心的平均距離µ(式子 3-3)與標準差σ(式子 3-4)。

(49)

碩士論文 朝陽科技大學資訊管理研究所

n x x

n

i

i

=

=1

µ

(3-3)

( )

n x x

n

i

i

=

=1

µ 2

σ

(3-4)

當我們計算出距離平均數µ與標準差σ後,接著開始計算落在距離平均數µ、

µ+σ、µ+2σ與µ+3σ內資料點的個數(落在µ+3σ外的視為雜訊點),如圖 3-8 所示,我們認為在一個凝聚程度越高的群聚內,大部分的資料點應會落在 越內層,因此本實驗將取落在平均數µ以內的資料點個數來計算凝聚率。

最後我們將凝聚率的計算式訂定為式子3-5,其中凝聚率介於 0~1 間,凝聚 率越接近 1 則代表群聚的資料點凝聚程度越高。

µ µ+σ

µ+2σ µ+3σ

圖3-8: 群聚內資料點分佈的區域

1

,

0

) 3

( + ≤ ≤

=

凝聚率

凝聚率 落在三個標準差平均距離µµ內的資料點數δ 內的資料點數 (3-5)

參考文獻

相關文件

The research proposes a data oriented approach for choosing the type of clustering algorithms and a new cluster validity index for choosing their input parameters.. The

Following the supply by the school of a copy of personal data in compliance with a data access request, the requestor is entitled to ask for correction of the personal data

For the data sets used in this thesis we find that F-score performs well when the number of features is large, and for small data the two methods using the gradient of the

The remaining positions contain //the rest of the original array elements //the rest of the original array elements.

Li, Shaoting Zhang, Xiaogang Wang, Xiaolei Huang, Dimitris Metaxas, “StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks”, ICCV,

Good Data Structure Needs Proper Accessing Algorithms: get, insert. rule of thumb for speed: often-get

Ramesh: An algorithm for generating all spann ing trees of directed graphs, Proceedings of the Workshop on Algorithms an d Data Structures, LNCS, Vol.. Ramesh: Algorithms for

Filter coefficients of the biorthogonal 9/7-5/3 wavelet low-pass filter are quantized before implementation in the high-speed computation hardware In the proposed architectures,