天天看點

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

1、概述

相似性和相異性都成為鄰近性(Proximity)。相似性和相異性是有關聯的。典型地,如果兩個對象i和j不相似,則他們的相似性度量将傳回0。

2、資料矩陣和相異性矩陣

假設我們有n個對象,每個對象由p個屬性進行刻畫。那麼得到對象集X = (x1, x2, x3, …. xn) ,對象xi的屬性集為 P = (pi1, pi2, pi3 … pip) , 1 < i < n。

資料矩陣(data matrix)

或稱對象-屬性結構。這種資料結構用關系表的形式或 n x p(n個對象 x p個屬性)矩陣存放n個資料對象:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性
相異性矩陣(dissimilarity matrix)

或稱對象-對象結構。存放n個對象兩兩之間的鄰近度,通常用一個n x n矩陣表示:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

其中d(i, j)是對象i和對象j之間的相異性值。一般而言,d(i, j)是一個非負的數值。相似性可以表示成相異性度量的函數:sim(i, j) = 1 – d(i, j)。

資料矩陣由兩種實體或者“事物”組成,即行(代表對象)和列(代表屬性)。因而,資料矩陣經常被稱之為二模(two mode)矩陣。相異性矩陣隻包含一類實體,是以被稱之為一模(one mode)矩陣。許多聚類和最鄰近算法都在相異性矩陣上運作。在使用這些算法之前,可以把資料矩陣轉換成相異性矩陣。

3、标稱屬性的鄰近性度量

标稱屬性可以去兩個或者多個狀态,類似于java語言中的枚舉類型。設一個标稱屬性的狀态的數目是M。這些狀态可以用字母、數字或者一組整數表示。注意這些整數隻是用于資料處理,并不代表任何特定的順序。兩個對象i和j之間的相異性可以根據不比對率來計算:

d(i, j) = (p - m)/p

其中,m是比對的數目(即i和j取值相同狀态的屬性值),而p是刻畫對象的屬性總數。我們可以通過賦予m較大的權重,或者賦給有多狀态的屬性的比對更大的權重來增加m的影響。

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

例如:因為表1中隻有Test-1的資料類型是标稱型的,于是我們得到相異矩陣:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

标稱屬性刻畫的對象之間的鄰近性也可以使用編碼方案計算。标稱屬性可以按以下方法用非對稱的二進制屬性編碼:對M種狀态的每個狀态建立一個新的二進制屬性。對于一個具有給定狀态值得對象,對應于該狀态的二進制屬性值為1,而其餘的二進制屬性值都設定為0。

4、 二進制屬性的鄰近性度量

我們考察用對稱和非對稱的二進制屬性刻畫對象間的相異性和相似性度量。二進制屬性的狀态隻有兩種:0和1,其中0表示該屬性不出現,1表示該屬性出現。像對待數值一樣來處理二進制屬性會誤導。是以,要采用特定的方法來計算二進制資料的相異性。

一種方法涉及由給定的二進制資料計算相異性矩陣。如果所有的二進制都被看作具有相同的權重,則我們得到一個二進制屬性的列聯表(表2),其中q是對象i和j都取1的屬性數,r是對象i取1、在對象j取0的屬性數,s是對象i取0、對象j取1的屬性數,t是對象i和對象j都取0的屬性數。屬性的總數是p。其中p = q + r + s + t 。

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性
對稱的二進制屬性

對于對稱的二進制屬性,每個狀态都同樣重要。基于對稱二進制屬性的相異性稱作對稱的二進制相異性。如果對象i和j都用對稱的二進制屬性刻畫,則對象i和j的相異性為:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性
非對稱的二進制屬性

非對稱的二進制屬性的兩種狀态不是同等重要的。給定兩個非對稱的二進制屬性,兩個都取1的情況(正比對)被認為比兩個都取0的情況(負比對)更有意義。是以,這樣的二進制屬性經常被認為是“一進制”的(隻有一種狀态)。基于這種屬性的相異性被稱之為非對稱的二進制相異性,其中負比對t被認為是不重要的,是以在計算中被忽略,如下所示:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

互補地,我們可以基于相似性而不是基于相異性來度量兩個二進制屬性的差别。例如,對象i和j之間的非對稱的二進制形似性可以用下式來計算:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

例:假設一個患者記錄表(表3—用二進制屬性描述的患者記錄的關系表)包含屬性name、gender、fever、cougn、test-1、test-2、test-3和test-4,其中name是對象辨別符,gender是對稱屬性,其他的是非對稱屬性。

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

對于非對稱屬性,值Y(yes)和P(position)被設定成1,值N(no或者negative)被設定成0。假設對象(患者)之間的距離隻是基于非對稱屬性來計算。那麼,三個患者倆倆之間的距離(相異性)如下:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

5、數值屬性的相異性:闵科夫斯基距離

歐幾裡得距離

即,直線或者“烏鴉飛行”距離。令i = (xi1, xi2, ….. , xip)和j = (xj1, xj2, ….. , xjp)是兩個被p個數值屬性描述的對象。對象i和j之間的歐幾裡得距離定義為:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

曼哈頓(或城市塊距離)距離,曼哈頓距離定義為:

d(i, j) = |xi1 – xj1| + |xi2 – xj2| + …. + |xip - xjp|

歐幾裡得距離和曼哈頓距離有如下數學性質:

非負性 : d(i, j) >= 0 距離是一個非負的數值;

同一性 : d(i, j) == 0 對象到自身的距離為0;

對稱性 : d(i, j) = d(j, i) 距離是一個對稱函數;

三角不等式 :d(i, j) <= d(i, k) + d(k, j) 從對象i到對象j的直接距離不會大于途徑任何其他對象k的距離。

滿足這些條件的測度(measure)稱作度量(metric)。

闵科夫斯基距離(Minkowski distance)是歐幾裡得距離和曼哈頓距離的推廣,定義為:
讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

在某些文獻中這種距離被稱之為Lp 範數(norm)。當p = 1時,它表示曼哈頓距離;當p = 2時,它表示歐幾裡得距離。

上确界距離

又稱之為Lmax ,L∞ 範數和切比雪夫(Chebyshev)距離。是h→∞時闵科夫斯基的推廣。定義為:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

L∞ 範數也稱之為一緻範數。

如果對每個變量根據其重要性賦予一個權重,則權重的歐幾裡得距離可以用下式計算:

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

6、混合類型屬性的相異性

在許多實際的資料庫中,對象被混合類型的屬性描述。一般來說,一個資料庫可能包含标稱的、對稱二進制的、非對稱二進制的、數值的和序數的資料類型。那麼,如何計算這些由混合資料類型刻畫的對象之間的相異性呢 ?一種可取的辦法是将所有的屬性一起處理,隻做一次分析。一種這樣的技術将不同的屬性組合在單個相異性矩陣中表,把所有有意義的屬性轉換到共同的區間[0.0, 1.0]。

讀書筆記 -- 005_資料挖掘_度量資料的相似性和相異性

繼續閱讀