第二章、 文獻探討
第四節、 群集分析
群集分析(cluster analysis)又稱為資料切割(data partition),是一種多變量統計分 析(multivariate statistical analysis)的技術(曾憲雄等, 2006)。相較於分類法
(classification)中每一筆紀錄都給定一個類別資訊,並期望從中找出一個判斷模式,預 測未知類別資訊的資料紀錄。群集分析不需預先指定的類別原則,也沒有任何資訊可以 表示資料紀錄彼此之間的關連性。因此,群集分析被視為一種非監督式學習(unsupervised learning)的過程。
一、群集分析的概念與目的
群集分析將資料集合中的資料記錄(又稱為資料點)加以分群成數個群集(cluster),
使得每個群集中的資料點間相似程度高於與其它群集中資料點的相似程度。群集分析的 主要目的是分析資料彼此間的相似程度,藉由分析所找到的群集結果,推論出有用、隱 含、和令人感興趣的特性和現象(曾憲雄等, 2006)。
二、群集分析在資料探勘過程中所扮演的角色
1. 資料精簡:將原本大量的資料加以分群成數個群集,並從每一個群集中挑選具有代 表性的資料記錄來進行後續的處理,以達到資料壓縮的目的。
2. 推斷假設的產生:推斷出所關注資料中可能存在的某些特性或現象。
3. 推斷假設的驗證:對推斷假設作有效性的驗證。
4. 歸屬預測:分群結果應用於未知分類之資料記錄,預測資料所歸屬的群集。
三、 群集分析五個主要的循序工作項目
在不同的應用領域,群集分析通常有不同的處理程序。一般而言,可以簡單地將群 集分析區分為五個主要的循序工作項目,如下圖 2-2 所示。
資料的表示
與轉換 相似度計算 分群法 分群結果評 估
群集的解釋 與分析
資料集合 分群結果
圖 2-2 群集分析五個主要的循序工作項目(曾憲雄等, 2006)
1. 資料的表示:找出代表性資料維度來表示資料點。
2. 相似度的計算與測量:計算資料點間相似的程度。
3. 分群法的採用:挑選適當的分群演算法。
4. 評估分群的結果:對群集分析的結果進行評估。
5. 群集的解釋:領域專家對分群結果做進一步解釋。
四、分群法的種類
1. 分割式分群法適合找出類圓形和群集大小相似的群集。較常用的方法有 (1)k-平均法 (k-means method)。
(2)k-物件法 (k-medoids method)。
(3)反覆自我組織分析技術 (Iterative Self-Organ-izing Data Analysis Technique, ISODATA)。
2. 階層式分群法或以密集度導向分群法適合找出自然形狀的群集和任意大小的群集。
五、最小偏移值
六、資料型態的考量
「k-平均法」在處理連續性資料維度時,利用簡單的空間距離計算公式,透過衡量 資料點間距離的遠近來判斷彼此間的相似程度。目前較常用來計算空間距離的方式有尤 拉距離(Euclidean distance)和曼哈頓距離(Manhattan distance),其中尤拉距離是群集 分析中應用最廣泛的相似度計算公式。
1. 尤拉距離(Euclidean distance)
資料點 xi = <xi1
, x
i2, …, x
ik> 和資料點 x
j= <x
j1, x
j2, …, x
jk> 之間的尤拉距離:
2. 曼哈頓距離(Manhattan distance)
d
M(x
i, x
j) = ∑
y
x
曼哈頓距離圖 2-4 曼哈頓距離在二維空間上的物理意義
以 A =(20,20)和 B =(21,26)為例,A 和 B 的曼哈頓距離如下:
d
M( A , B)=|21-20|+|26-20|=7
七、資料點之間的相似程度
定義距離的計算方式後,要考量應該取群集中的哪些點計算距離,較常用的有下列 四種方式:(1)「最小距離」,如圖 2-5 所示。(2)「中心點」,如圖 2-6 所示。(3)「最大值」,
如圖 2-7 所示。(4)「各點的平均值」,如圖 2-8 所示。
( C,C ) min
, ' d
(p p
')
d
j
i p C
C j p i
min
= −
∈
∈
d
mean( Ci,C
j) = d(m
i− m
j)
m
i− m
j)圖 2-5 最小距離相似度計算 圖 2-6 中心點相似度計算
( C,C ) max
, ' d
(p p
')
屬到距其最近之群集中心所屬的群集,形成新的 k 個群集。
5. 重複步驟 1-4,直到各群之群集中心與之前次所計算之群集中心相同,這意謂著分 群結果已穩定。
6. 結束所有處理程序並輸出各群結果。
我們用一個二維空間的例子來說明。
二維空間中有七個點,以『實心之菱形』來表示,一開始我們定義k = 3,如圖2-9所示。
依照「k-平均法」的操作過程,分群的步驟如下:
1. 隨機選定三個資料點做為群集中心,如圖中有「正方形外框」的點。
圖2-9 k-平均法在k = 3時資料集合處理過程
2. 依據相似度計算方法形成三個群集,分群的結果以虛線之橢圓形表示,如圖2-10所 示。
圖2-10 k-平均法在k = 3時資料集合處理過程
3. 依據第一次分群的結果,重新計算各群集資料中心,如圖2-11中之「正方形外框」。
其中左邊大的橢圓形群集及右邊的橢圓形群集資料中心已經改變,沒有和任何資料 點有交集。而中間的橢圓形群集的群集資料中心沒有改變,依然是第一次隨機分配 得之群集資料中心。而且我們可以發現,由於是隨機選定的群集資料中心,第一次 分群的結果並不理想。由此例也可以說明,群集中心點的選定對分群的結果有很大 的影響。
圖2-11 k-平均法在k = 3時資料集合處理過程
4. 依據新的各群集資料中心,第二次依相似度計算方法,重新形成三個群集,以橢圓 型虛線表示,如圖2-12中所示。透過重新取得新的群集資料中心點的方式,我們發 現,第二次分群的結果比第一次好很多。
圖2-12 k-平均法在k = 3時資料集合處理過程
5. 依據第二次分群的結果,重新計算各群集資料中心,如圖2-13中之「正方形外框」。
其中左邊大的橢圓形群集及中邊的橢圓形群集資料中心已經改變。而右邊的橢圓形 群集的群集資料中心沒有在改變,是第一次分群結果得之群集資料中心。
圖2-13 k-平均法在k = 3時資料集合處理過程
6. 依據新的各群集資料中心,第三次依相似度計算方法,重新形成三個群集,以橢圓 型虛線表示,如圖2-14中所示。這時我們可以清楚看到,第三次分群的結果,雖然 橢圓形的結果和第二次不一樣,但是,分群的結果和第二次是一致的。
圖2-14 k-平均法在k = 3時資料集合處理過程
7. 依據第三次分群的結果,重新計算各群集資料中心。這次我們發現,三個橢圓形群 集中心已經不再改變,也就是說分群結果已穩定,結束所有處理程序並輸出各群集 結果。
8. 分群的結果,我們可以得到三個群集,如圖 2-15 所示,分別是「A 群集」有三個
點,「B 群集」有二個點,「C 群集」有二個點。而且,分群的結果非常理想,每個 群集的半徑不大,也就是說,分群後的資料群集十分密集,沒有雜訊或偏移值干擾 分群的結果。
圖2-15 k-平均法在k = 3時資料集合處理過程
k-平均法除了一開始需指定 k 個資料點當作群集之群中心外,其它回合都將產生新
的群集中心點。然而在相似度計算方法上,除了尤拉距離計算公式外,也可以利用其他 相似度計算公式將資料點歸屬到最接近的群集當中。
九、 「k-平均法」的限制
「k-平均法」在概念與實作上相當的簡單,且在處理大量資料時相當有擴充性 (scalable) 且有效率,但是卻也存在一些缺點,說明如下:
1. 無法處理類別性資料維度:由於 k-平均值法以群集中的質量中心當作群集中心,對 於類別性資料維度所描述之資料集合而言,並無法求得群集的質量中心。
2. 容易受雜訊與偏移值影響其群集中心:倘若資料群集有雜訊或是偏移值,如圖 2-16 所示,在分群的時候會因為偏移值,讓分群結果的橢圓形範圍變大。這樣的結果,
會讓群集中心偏移,甚至遠離群集密集處,分群的結果將產生極大差異。
偏移值
圖2-16 雜訊或偏移值對k-平均法的影響
3. 起始群集中心選擇上的影響:基於「k-平均法」的演算方法,倘若隨機取得之各群 集中心選取得當,不但分群的結果會很理想,在取得群集中心的次數將會降低,分 群所耗費的時間也會相對減少許多。反之,若一開始各群集中心選取不當,有可能 分群的結果並不理想,如圖 2-17 所示,在分群的過程更有可能浪費許多時間。
圖2-17 所挑選之起始點對k-平均法的影響
4. 群集數量決定上的困難:由於「k-平均法」的演算方法,是必須一次又一次地計算 各群集中心,直到所有的群集中心不再變動為止。因此,一開始 k 值的設定,將會 影響分群法的成效。如圖 2-18 所示,當 k = 2 時,分群的結果,並沒有 k = 3 時理 想,若將 Cj再分成二群似乎會更符合我們的期待。
Ci
Cj
圖2-18 群集數量決定上對k-平均法的影響
5. 品質與速度的取捨:品質與速度的需求常常是矛盾而難以取捨的,若品質的需求較 高,往往必須耗費較長的時間在分群的處理上;若希望能快速得到分群結果,則往 往必須犧牲品質。
6. 不適合自然形狀的群集:由於分割式分群法是屬於分割式分群法;因此,對於自然 形狀的群集,如圖 2-19 所示,與任意大小的群集,如圖 2-20 所示,在分群的處理 上效果並不好,很難得到較佳的結果。對於自然形狀的群集及任意大小的群集,使 用非分割式的分群法,通常能得到較佳的分群結果。
圖2-19 群集大小差異很大之資料集合
圖2-20任意形狀之資料集合
十、常見的群集分析方法比較
Balakrishnan(1994)利用 Milligan 所提出的蒙地卡羅演算法,來比較類神經網路、
非監督式的「頻率感測競爭性學習類神經網路」(Frequency-Sensitive Competitive
Learning,FSCL)和非階層式的「k-平均法」等幾種群集分析方法,歸納出以下幾點結論:
1. 「k-平均法」的分群方法所得的分群結果較佳,相較於類神經網路方法所得的結果,
採用「k-平均法」所得的觀察值其誤差率僅介於 0~2%之間。
2. 根據分群的文獻可以得知,當屬性數目增加時,所獲得的分群數也會增加。而「k-平均法」的分群方法在屬性數目增加時,分類錯誤率較低。
3. 利用 Milligan 所提出的蒙地卡羅演算法來檢定頻率感測競爭性學習類神經網路和
「k-平均法」 方法的正確性,結果仍是「k-平均法」方法有較高的正確率。
「k-平均法」可以說是在分割式分群法中發展最久的作法,其概念及實作上均簡單,
所需的時間及空間成本都相當低,至今仍廣受採用(曾憲雄等, 2006)。非分層式群集 分析法有很多種,一般較常使用的是「k-平均法」(謝依真, 2001)。本研究採用「k-平均法」作為群集分析的方法,分析學童在本研究之「數位內容學習平台」的各項學習 行為特徵,期望以較低的成本,獲得較佳的分群效果。