第三章 叢集整合技術偵測主曲線
3.1 G USTAFSON - KESSEL 叢集化演算法
Gustafson-Kessel(GK)叢集化演算法可以視為 C 均值或模糊 C 均值叢集化演算法的 一個加強版本,它仍然可以分為硬性的以及軟性的 GK 叢集化演算法,而 GK 叢集化演 算法與模糊 C 均值叢集化演算法最大的不同點在於模糊 C 均值叢集化演算法的雛型 (cluster prototypes)為一個重心點位置。但 GK 叢集化演算法的雛型是一個具有體積 (volume)的雛型,對於一個由 GK 叢集演算法所得到每一個雛型來說,都包含了一個相 關變異矩陣(covariance matrix)以及重心位置。在 GK 叢集化演算法的每一個步驟的更新 將會同時去更新重心點位置以及相對應的相關變異矩陣,這樣使得每一個雛型對資料集
k
For 1≤k≤N, 使用(6)計算uik(l)
End
Until
U
(l)− U
(l− )1< ε
虛擬碼其中的ε為收斂的門檻值,而
U
(l)− U
(l−1) 為目前減掉前一次的模糊係數 的變化量,當此一變化量小於門檻值則停止迴圈表示已達收斂狀態。下圖 6(a)為所輸入 的資料集合,而(b)為利用 GK 叢集化演算法所得到的第一階段分群的結果,可看出每 一個雛型不僅包含了重心點位置也包含了體積。(a)
(b)
圖 6: 利用 GK 叢集化演算法求得資料集合代表點。(a)輸入的資料集合。(b)第一階段分 群的結果。每一個 GK 雛型都含有資料散佈的方向性。
當相關性變異矩陣為 singularity 時,則在上述所提到的演算法中的步驟 3,必須要 去求得相關性變異矩陣的行列式,將會造成計數上的錯誤,這是因為相關性變異矩陣是 singularity 矩陣時,並無法去求得此相關性變異矩陣的行列式。而造成相關性變異矩陣
為 singularity 矩陣有幾個可能的問題: 當所輸入的資料集合的資料點呈現線性的時候,
或者當重心點的初始條件給的太多時會造成過度對應,使得某些重心點只能分配到極少 的資料點,造成此一重心點的相關性變異矩陣變成為 singularity 的矩陣。
在此我們使用文獻 [15] 所提出的方法,當相關性變異矩陣為 singularity 矩陣時,
則它的最大的特徵根與最小的特徵根的差值會相當的大,所以將以此來判斷某一個相關 性變異矩陣是否為 singularity 矩陣,並且在計算相關性變異矩陣時,多加了整體性的相 關性變異矩陣。這樣是為了減少個別的相關性變矩陣太區域性造成某一個重心點只被分
3.2 階層聚合演算法獲得第二階段分群
算公式,在此採用的是 Bhattacharya distance [8]2 )
Bhattacharya distance 可以被視為兩個橢圓重心點之間的方向性的測量,當某兩橢圓重 心點之間的方向性越一致,則此兩橢圓之間的由(8)所計算出的值越小,反之如果某兩 橢圓重心點之間的方向性越不一致,則所計算出的值越大,因此由(8)所得到的B( ji, )是 一個非相似值矩陣。
下圖 7 是一個圖例,圖 7(a)中為三個利用高斯分佈所產生的資料集合、而在(b)中 為三個高斯分佈資料兩兩之間的 Bhattacharya distance 與歐基里德距離的距離數值。首 先我們以高斯分佈 A 為基礎點來觀察,觀察圖(b)可清楚得知高斯分佈 B 應該比高斯分 佈 C 更適合與高斯分佈 A 做連結。但如果我們是使用歐基里德距離的距離計算方式,
則高斯分佈 C 比高斯分佈 B 更適合與高斯分佈 A 做連結,造成錯誤的判斷。而利用 Bhattacharya distance 來當成距離的計算方式,由圖(b)中的距離數值來看,Bhattacharya distance 可正確的判斷出高斯分佈 A 與高斯分佈 B 做連結。
(complete-link) 。在此將採用單一連結的最大生命週期條件 (maximum-lifetime criterion) 來決定最穩定的分群,其階層聚合叢集化演算法參數與演算法定義如下:
若P為一非相似值矩陣,其Pij為雛型i與雛型 j 之間的相似值,則每一個步驟都需
上述演算法的k值是最後所形成的個別分群的個數,在此我們是採用最大生命週期 限制來決定最後個別分群的個數,而利用最大生命週期限制所得到的這些雛型,可以被 視為所輸入的資料集合其最穩定的分群。這個所求得的最穩定分群為我們第二階段的分 群結果,當然這裡所說的輸入資料集合是指由 GK 叢集化演算法所得到的雛型,當成 為階層聚合叢集化演算法的輸入資料。
所謂的最大生命週期限制為在階層聚合叢集化演算法的聚合過程中取出最穩定的 分割,例如: 在階層聚合的過程中某一個時間點因為聚合的動作存在著大大小小的分 群,假設目前的相似值為v ,而到下一次聚合動作發生的相似值為1 v ,當2 v2 −v1 =v中 的 v 為最大時,則此時便是一個最穩定的分割狀態。
下圖 8 中我們針對圖(a)的資料集合做 GK 叢集化演算法得到的第一階段的分群,
即圖(b)。再將第一階段分群的這些雛型利用階層聚合叢集化演算法使用最大生命週期 限制得到的最穩定的分割。其中圖(c)為階層聚合過程中的樹狀圖,而圖(c)中的黑線為 標示出在此時候的分割為聚合過程中最穩定的狀態。
(a) (b)
(c)
圖 8: 階層聚合演算法單一連結使用最大生命週期限制。(a)兩個半圓形的資料集合、(b) 第一階段分群結果、(c)層階聚合樹狀圖。
下圖 9 的(a)是(b)的輸入資料集合、(b)跟(c)是我們使用階層聚合叢集演算法中的單 一連結並使用最大生命週期限制所得到的分群結果,而我們所產生的是一個非相似值矩 陣,其圖中相同顏色的雛型是代表在最大生命週期的限制下所得到的同一群的聚合雛 型。由單一連結的聚合更新公式可以得知每次聚合的時候都去找到最小的非相似值的兩 個雛型來做聚合的動作,且更新的時候是以最小非相似值來當成對其它非同一群的雛型 的非相似值。所以單一連結非常適合用來偵測軸線形的資料集合。下圖 9(b)、9(c)中同 一顏色的雛型代表聚合後屬於同一群,所以(b)跟(c)在最大生命週期限制下都被分為兩 群。
(a) (b)
(c)
圖 9: 階層聚合叢集演算法使用最大生命週期限制。(a)兩個相交的橢圓、(b)為(a)的第二 階段分群結果、(c)兩個半圓形的第二階段分群結果。
3.3 使用叢集整合技術得到第三階段的分群
在 3.2 節中所得到的是一個第二階段的分群,並由 3.2 節可以得知對於含有交叉性 質物件的資料集合,我們並無法從第二階段的分群得到正確的分群結果。所以在此章節 中我們將利用叢集整合技術來獲得正確的分群結果,也就是我們所提出的第三階段的分 群。
叢集整合演算法包含了三個主要的部份: 產生分群的方法、將數個個別的分群結果 使用一個資料結構來表示、利用此一整合的資料結構來得到最終的分群。在此我們產生 分群的方法為先由上一小節所得到輸入資料集合的第二階段分群,但為了確保在叢集整 合的過程中能夠有最佳的整合效果,所以在使用第二階段分群來當叢集整合中產生分群 的方法之前,我們將對第二階段分群做連結最佳化的動作。
這些第二階段分群中的每一個單一分群可能是數個從 GK 叢集化演算法所得到的 代表資料集合的雛型所組成。我們將針對每一個單一分群做連結最佳化的動作,主要有 兩個步驟: 一、去除掉大於兩個連結的雛型其多餘的連結,直到每一個雛型都只保有最 多兩個連結。二、對於由步驟一所得只保有兩個連結的雛型的此兩連結作判斷,當如果 此兩連結其夾角小於所設定的門檻值的話,則去除掉這兩連結讓此一雛型保持沒有連結
的狀態。當去除掉某一個連結時則這個單一分群將被分裂為二。
圖 10 是一個去除過程的例子,首先從圖 10(a)中每一個同一顏色的連線包含了數個 個數不一的雛型。一個同一顏色的連結中所包含的所有雛型,我們將它視為一個分群,
即是我們所稱的單一分群。而在(a)中所包含的雛型最多的黑色連結線段的單一分群,
經過連結最佳化的動作在(b)中已經被分為數個單一分群。而圖 10(a)是第二階段分群的 結果以連結的方式來表示。
(a)
(b)
圖 10: 第二階段分群其連結最佳化。(a)第二階段分群結果、(b)第二階段分群其連結最 佳化。
由上述的兩個動作後所得到的連結最佳化第二階段分群,被當作為叢集整合演算法 的產生分群的方法,並且在這裡我們所說的一個分群指的是連結最佳化第二階段分群中 的一個單一分群。
下圖 11 為數次連結最佳化第二階段分群的結果,我們將以單一分群為單位來整合 數次分群的結果。
(a) (b)
(c) (d)
圖 11: 數次連結最佳化第二階段分群的結果。(a)雛型個數為 50 個的分群狀態、(b) 雛 型個數為 25 個的分群狀態、(c) 雛型個數為 75 個的分群狀態、(d) 雛型個數為 40 個的 分群狀態。
而在叢集整合演算法的步驟二: 將數個個別的分群結果使用一個資料結構來表 示,所提出的方法如下: 由於每一個單一分群是由數個從 GK 叢集化演算法所得到的代
表資料集合的雛型所組成,我們將某一個資料點與單一分群之間的模糊相關係數定義為
(a) (b)
圖 12: 叢集整合演算法所得到的最終分群。(a)整合 10 次個別分群後所得到的第三階段 分群結果,(b)整合 5 次個別分群後所得到的第三階段分群結果。(a)、(b)中相同顏色表 示為同一分群。
3.4 獲得單一分群的資料集合
輸入的資料集合可能是由數個多重的分離圖形物件、或是交叉的圖形物件所組成,
我們想從這樣的資料集合中自動的去找到正確的分群,進而能夠自動化的找到資料集合 中所包含的多重圖形物件、或是交叉的圖形物件。
我們將個別去取出屬於一個第三階段分群的資料集合,再以這資料集合去找到它的 主曲線。對於由 3.3 所得到的第三階段分群結果的一個分群而言,它是由數次的個別第 二階段分群所整合的結果。而每一次的個別分群是由數個從模糊 GK 叢集所組成,即 為第一階段分群所得到的雛型。因此我們對一個第三階段分群它所包含的所有由模糊 GK 叢集做去模糊化(defuzzification) ,將每一個輸入的資料集合中的資料點歸屬於最 大相關性值的 GK 叢集所屬的第三階段分群,由此來得到屬於每一個第三階段分群的資 料集合。
下面圖 13 的(a)跟(b)是利用圖 12(b)的第三階段分群所得到的兩個個別分群的資料
下面圖 13 的(a)跟(b)是利用圖 12(b)的第三階段分群所得到的兩個個別分群的資料