第二章、 文獻探討
第二節、 資料分群(Clustering)
國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
8
第二節、 資料分群(Clustering)
資料分群是使用分群演算法,依照資料間的相似度,將相似的資料分類在相 同的群集。其目的在求各群集的相似性質,作為該群集的代表特性,以利後續研 究、分析。
2.2.1 k-最鄰近演算法(k-Nearest Neighbor,kNN)
k-最鄰近演算法(以下簡稱 kNN)是由 T.M. Cover 與 P.E. Hart 於 1967 年提 出,此演算法針對一筆未知群集的資料,與現有已分群的所有資料進行相似度比 對,藉此找出該筆資料的所屬群集。
kNN 常見於機器學習(Machine Learning)領域,希望藉由計算機的高速來 處理人力無法負荷的大量資料分類。由於其演算法會產生多個相似群集,因此也 被用於資料分群使用。
(一) 運作原理
kNN 的原理是在向量空間中,相似的資料如同接近的座標,會在比較接近的 位置;而相似的一群資料彼此貼近,便會形成一相似群集。因此 kNN 賦予每一筆 資料一個向量空間座標,當新增一筆資料時,就檢查此新進資料座標附近 k 筆資 料,計算與這 k 筆資料群集的相似程度,並將此新進資料分類。待分類完成後,
再依照分群特徵對各類別資料進行描述。
以次頁圖 2-1 為例,假設進行 kNN 分群時共採二種屬性,而現有資料已分為
「X」、「O」、「△」三類,而「?」則表示新進資料。此時若採 k=3,即表示採「?」
附近 3 筆最鄰近資料計算相似程度,此例中會發現該新進資料與現有三類資料的 相似程度相當(但與「X」較接近,相似程度較高,因此會歸類到「X」類);但 若採 k=7,也就是以周圍 7 個最接近點來計算,會發現與「O」類資料的相似度 較高,此時便會歸類到「O」類。
‧
相較於 k-means、ISODATA、階層式分群法等同樣被廣泛應用的分群法,kNN 的特點在於其並非以完整資料進行分群,而是可透過單一資料的逐漸導入,依序
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
10
以二次方的速度成長(如圖 2-2)。
圖 2-2 kNN 演算法之資料數量與運算時間關係圖
(來源:本研究繪製)
2.2.2 相似度計算
在進行資料分群時,必須計算資料與資料間的相似度,接著才進行資料分群 或調整。而資料相似度的計算因應情境不同有各種適用的方法,本節探僅討應用 於本研究的數種方法。
(一) 歐幾里得距離(Euclidean distance)
歐幾里得距離是經常採用的資料相似度計算方式,也是十分直覺性的方法。
在向量空間中,歐幾里得距離是兩點間的直線距離,設空間中有二點 X、Y,
X = (𝑥1,𝑥2,… , 𝑥𝑛)、Y = (𝑦1, 𝑦2, …, 𝑦𝑛),則其公式如下:
𝑑(𝑋, 𝑌) = ��(𝑥𝑖− 𝑦𝑖)2
𝑛 𝑖=1 0
2000 4000 6000 8000 10000 12000
0 2000 4000 6000 8000 10000 12000
運算時間(單位:萬)
資料數量
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
11
對應歐幾里得距離的相似度公式如下:
sim(𝑋, 𝑌) = 1 1 + 𝑑(𝑋, 𝑌)
此公式可將距離數值轉換為介於 0 到 1 之間的數,兩點間距離越接近則相似 度越大;反之相似度則越小。此值為 1 表示兩點間距離為 0,相似度達到最大;
而當距離趨近無限大的時候,相似度值會趨近於 0。
(二) 餘弦相似度(cosine similarity)
餘弦定理在數學中表示了三角形中邊長與角度的關係。如下圖所示,根據餘 弦定理,三角形的夾角與其對應邊呈正相關,並且遵照以下公式:
𝑎2 = 𝑏2 + 𝑐2− 2𝑏𝑐 cos𝛼
圖 2-3 三角形的夾角與對應邊長
(來源:wikipedia)
而根據三角函數表可知,當夾角θ 介於 0 ゚~180 ゚之間時,cosθ 的數值會隨著 角度增大而由 1 遞減至-1。也就是說,在上述餘弦定理的公式中,隨著角度 α 增 加,cosα 值會逐漸變小,致使邊長 a 隨著角度 α 的增加而變長;同時,邊長 a 的 增加也同時表示 cosα 的值變小,表示其餘弦值會隨著二點間的距離的成長而減 小。
在向量空間中,三角形的邊長即為二頂點間的距離,如上述公式中的 a,即 表示頂點 B 與 C 之間的距離。餘弦相似度正是應用了二點間的距離與其餘弦值呈
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
12
負相關的特性,來計算二筆資料在向量空間中的相似度。
如圖 2-3 所示,以二維空間的座標為例,A 與 B 二資料點的相似度即為夾角 θ;而套用至 n 維空間,餘弦夾角公式如下:
cos 𝜃 = 𝐴⃗ ∙ 𝐵�⃗
�𝐴⃗� × �𝐵�⃗�= ∑𝑛𝑖=1𝐴𝑖𝐵𝑖
�∑𝑛𝑖=1𝐴𝑖2× �∑𝑛𝑖=1𝐵𝑖2
圖 2-4 二維空間中的餘弦相似度
(來源:本研究繪製)
餘弦相似度的值在 1 到-1 之間:當數值為正時,表示兩向量間的相似度,至 1 表示兩向量完全相同;當數值為副時,表示兩向量間的相異度,-1 表示兩向量 完全相反;而 0 則表示兩向量並無任何關係,為二獨立向量。
相較於歐幾里得距離,餘弦相似度被更廣泛應用於文件分類或分群。當餘弦 相似度應用於文件分類或分群時,由於在文章中詞彙出現的頻率不會為負值,因 此餘弦相似度的值會在 0 到 1 之間。
O (0 , 0)
θ
A (Ax , Ay)
B (Bx , By)
Y X
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
13