考慮聚類問題時,如何度量元素之間以及簇之間的相似性是一個核心問題。在不同類型的任務中,需要選擇合適的度量方式。一個直觀的想法是通過某種距離來度量相似性,距離越近,相似性越高,之所以說“某種”距離是因為距離可以用很多種方式來定義。下麵列出幾種常用的距離的定義。
設C是一個集合,C1,C2,…,Ck是它的一些子集。度量集合C中兩個元素p1=(x11,x12,…,x1n)和p2=(x21,x22,…,x2n)之間的距離時,最常用的是歐式距離
這種距離直觀易懂且可解釋性強。除了歐式距離,還有兩種常用的度量方式,一種叫作曼哈頓(Manhattan)距離
一種叫作閔科夫斯基(Minkowski)距離
其中q是大於0的常數。從定義可以看出,前兩種距離其實是閔科夫斯基距離的特殊情形。進一步,當元素的坐標在各個方向的重要性不同時,可以采用如下加權距離
來進行度量,其中ωk是介於0和1之間的常數,它表明了不同方向的坐標在元素屬性中的重要程度。
還有一種距離叫作餘弦距離,或者稱為餘弦相似性。這種距離在圖像識別、文本相似性等任務中很常用。計算餘弦距離時,把元素看成空間中的向量,使用餘弦定理計算兩個向量夾角的餘弦,餘弦值越大說明角度越小,則兩個向量的相似性越高。計算p1和p2餘弦距離的公式是
其中表示內積,即
|p1|和|p2|表示它們的長度,例如
除了兩點間的距離,還需要用到集合間的距離。用|p1-p2|表示兩個點間的距離,距離的具體計算方式可根據問題特性從上述幾種距離的定義中選取。對於兩個不同的子集Ci和Cj,它們之間的距離dist(Ci,Cj)也有不同的選擇。可以采用最小距離
最大距離
平均距離
以及中心距離
|mi-mj|