• 沒有找到結果。

第三章 研究方法

3.1 旅行時間推估模式

3.1.2 群集分析

3.1.2.2 階層式聚合演算法

(式 3.1) 2. 曼哈頓距離(Manh taat n dis at nce)

, ∑

(式 3.2) 3. 平方差(Square-error)

此方法用於分割式分群法。

∑ ∑ x ; | |

(式 3.3) 其中

E:距離總偏移值 x:表一資料點

mi:表示群集 Si的質量中心

|Si|:群集 Si中所涵蓋之資料點數量 k:使用者事先所定義之群集數量

在 Jain[1]中提到,尤拉距離是最廣泛被用到計算相似度之公式,因此本研究中 在階層式分群法之相似度計算為利用尤拉距離,然而在分割式分群法則利用平方差 來計算。

3.1.2.2 階層式聚合演算法

透過彼此相似度高的較小群集合併成較大的群集,是由樹狀結構的底部開始向 上層層聚合。起初我們將每一筆資料都視為一個群集,而在每一階層運算過程中,

我們會將距離最相近的兩個群集聚合為一個新的群集,整個演算法步驟如下:

Step 1. 將 n 筆資料視為 n 個群集,每一個群集當中最少包含了一筆資料。

Step 2. 在所有的群集當中找出距離最為相近的兩個群集 Ci、Cj。 Step 3. 合併 Ci、Cj成為一個新的群集。

Step 4. 若群集的數目未達到我們要求的終止狀態,則重複步驟 2。

整個聚合的過程會如同圖 3.2 所示,最後會形成一株二元樹,一開始各筆資料 皆是一個群集,所有共有 7 個群集,最初合併的是 B 和 C 的資料。隨後是 D 和 E 的資料,以此類推,到最後整個過程收斂之後,所以資料就完全聚合為一個群集。

圖 3. 2 二元樹

而在演算法的步驟 2 當中,我們提到最為相近的兩個群集,在記算距離之前,

我們需要瞭解群集之距離的定義,對這些不同的定義我們說明如下:

1. 單一連結法(single-link clustering algorithm),根據其定義,群集 Ci與 Cj距離為兩

之 相近 的距離, 法如下:

者 中最 兩點間 其表式

, , (式 3.4)

15 

2. 完整連結法(complete-link clustering algorithm),根據其定義,群集 Ci與 Cj的距

為兩 之 的兩點 ,其表式法如下:

離 者 中相距最遠 間距離

, , (式 3.5)

在 Griffiths[2]提到,以單一連結法和完整連結法做比較,完整連結法的表現比 單一連結法還好,會使得在同一群集中的資料點通常會有較高的相關性,因此本研 究利用完整連結法之定義計算資料間的相似度。

3.1.2.3 K 平均法(k-means)

根據使用者所事先定義之群集數量 k,隨機從資料集合中選擇任 k 個資料點當 作起始 k 群集的群集中心;接著透過相似度計算公式,把資料集合中的每個資料點 歸屬到離它最近之群集中心所屬的群集,並形成一個新的群集;依照其群集內所有 資料點,記算每個新群集的群集中心。這樣的步驟一直重覆執行,直到群集中心不 再變動為止。整個演算法步驟如下:

輸入:一個包含 n 個資料點之資料集合,以及使用者定義之群及數量 k。

輸出:k 個互不交集的群集。

Step 1. 隨機從資料集合中選擇任 k 個資料點當作起始 k 群的群集中心。

Step 2. 利用相似度計算公式,將資料點分別歸屬到距其最近之群集中心所屬的群 集。

Step 3. 利用各群集中所包含的資料點,重新計算各群集之群集中心點。

Step 4. 假如由 3 所得到各群之群集中心與之前所計算之群集中心相同,亦即距離 總偏移值不再變動,則表示分群結果已穩定並結束此處理程序並輸出各群結果,否則回 到步驟 2 繼續執行。

範例分析:

資料物件數 n=7,設 k=3。

Step 0. 資料物件分布情況。

圖 3. 3 k-means 範例原始資料分佈

Step 1. 隨機選取 k 個資料點做為出使群集中心。

圖 3. 4 k-means 範例隨機選取資料點

Step 2. 計算所有資料點到 k 個初始群集中心的距離,將資料點歸屬到距其最近之 群集中心所屬之群集。

圖 3. 5 k-means 範例距離計算

圖 3. 6 k-means 範例分群指派

Step 3. 重新計算分配群集中心。

17 

群集中心

群集中心 群集中心

圖 3. 7 計算群集平均質量中心

Step 4. 若判斷總偏移值收斂則停止,否則回到步驟 2。

相關文件