第四章 混合性叢集演算法的分析
4.3 叢集個數與偵測效率
(f) (g)
(h) (i)
圖4-5:重複偵測實驗示意圖 (a)初始叢集位置 (b)(c)為FCM執行途中和結果 (d)(e)為 PCM執行途中和結果 (f)(g)為PFCM執行途中和結果 (h)(i)為IPCM執行途中和結果
4.3 叢集個數與偵測效率
本章節的實驗目的,在於探討初始的叢集個數對偵測效率的影響力。這裡採用同心 圓圖形(圖4-6(a))為實驗的資料。我們知道在偵測同心圓圖形時,很容易偵測到錯誤的 資料(圖4-6(b)),希望能藉由同心圓偵測,了解不同演算法在叢集個數的提升下,是否 能擁有更好的效率。實驗所採取的參數,a和b皆為0.5,m為2,n為1.5,rη值為0.9,而 初始的叢集位置以及大小皆為隨機選取,每次實驗初始分別給予2、3、4、5個叢集,將 FCM、PCM、PFCM和IPCM演算法各做100次做比較。表4-3即為此次的實驗數,每個
(a) (b)
圖4-6:叢集個數與效率實驗 (a)同心圓影像 (b)同心圓偵測容易產生的結果
表4-3:叢集個數與效率實驗數據
初始叢集個數 FCM PCM PFCM IPCM
2 0.54 0.92 0.75 0.34
3 0.48 1 1.67 0.32
4 0.38 1 1.64 0.28
5 0.43 1 1.6 0.36
由實驗結果我們可以看到當初始給予兩個叢集時,FCM、PFCM和IPCM的效率很 差,幾乎都會產生圖4-6(b)的錯誤偵測,而PCM的偵測效率趨近於1,原因是在於η值的 收斂速率rη較慢,因此演算法偵測的範圍不容易變小,比較容易留意並且偵測到外圓,
但因為叢集會產生重複,幾乎都是偵測到外圓而非內圓。
如果慢慢增加初始給予的叢集個數,我們可以發現,FCM和IPCM效果仍然很差,
多餘的叢集只會徒增辨識上的困難,叢集會分散資料點的membership使他們的偵測更為 混亂,如圖4-7(a)(b)(c)。3張圖分別將不同叢集的偵測情形顯示出來,叢集為同時給予。
而PCM的偵測效率稍為提升,原因在於PCM容易受初始的叢集位置所影響,因此如果
給予的叢集個數愈多,所能正確偵測到的機率也會愈高。但因此時並未更改rη值,因此 所能偵測到的仍然為外圓,如圖4-7(d)(e)(f),所以效率仍趨近於1。
重點在於PFCM,只是增加了一個叢集個數卻使得偵測效率大大提升,主要的原因 在於,PFCM不會完全採用FCM或PCM的membership或typicality來做偵測,就算叢集偵 測錯誤,所被取走的membership也只僅限於FCM的,所以這些資料點仍有機會被下一個 叢集偵測到。就此次實驗來說前兩個叢集可能會產生圖4-6(b)的錯誤,然而內圓資料點 因為錯誤的偵測FCM的membership值已經消失,雖然仍含有PCM的typicality,但其影響 力已經不比外圓來的大,所以第三個叢集才比較有機會偵測到外圓,如圖4-7(g)(h)(i)。
因此,如果前兩個叢集偵測錯誤,第三個叢集便有很大的機率能偵測到正確的資料,使 得每次執行基本上都會偵測到一個正確叢集,但也可能同時偵測到兩個叢集,所以由表 4-3偵測效率會大於1。
(a) (b) (c)
(d) (e) (f)
(g) (h) (i)
圖4-7:同心圓偵測解析 (a)-(c)依序為FCM和IPCM三個叢集的分群結果 (d)-(f)依序為 PCM三個叢集的分群結果 (g)-(i)依序為PFCM三個叢集的分群結果
舉個圖例來解釋,假設圖4-8(a)為兩個交錯圖形容易產生的偵測錯誤。以FCM來說,
當某一叢集已經視某資料點為同一叢集,則其他叢集是不可能將此資料點也視為同一叢 集。這樣的問題在於,如果其中有一叢集偵測錯誤,則後面的叢集要能偵測出正確的資 料會變得非常不容易,如圖4-8(b),當有一個叢集偵測到錯誤的圖形後,會使得這些被
偵測錯誤的資料點所屬的membership值都趨近於1,其他的叢集對於這些資料點便不會 注意(membership趨近於0),有如這些資料點不存在一般,這樣剩下的叢集要找到正確 的正方形就很困難。
就PCM而言,可能1個資料點對於兩個叢集的typicality值都會等於1,這樣的特色在 於,某一叢集偵測到資料點,並且將此歸納為同一叢集,其他叢集也可能視此資料點為 同一叢集,因此會產生重複的情形發生,所以,如果資料集容易產生某一錯誤偵測,則 PCM所做出來的結果可能會全部都偵測錯誤,這樣不管初始給予再多的叢集也無法完 成。如圖4-8(c),不管叢集數量給得再多,也會偵測到錯誤的圖形。
而 PFCM 不會完全採用 membership 或 typicality 來做偵測,就算叢集偵測錯誤,所 被取走的 membership 也只僅限於 FCM 的 membership,所以這些資料點仍有機會被下 一個叢集偵測到,然而對於容易偵測錯誤的資料來說,整體的 membership 少了 FCM 的 membership 這一部分,之後也很難有機會再偵測到相同的錯誤。如圖 4-9,由於外圍的 membership 已經被取走一半,所以不容易偵測到相同的錯誤,剩下的叢集比較有機會 往裡面走。
(a)
(b) (c)
圖4-8:FCM和PCM會產生問題的示意圖 (a)叢集偵測可能出現的錯誤 (b)FCM偵測過後 因為資料點membership趨近於1,對其他叢集來說被偵測的資料點有如不存在一般 (c)PCM可能會一再偵測到重複的錯誤
圖 4-9:PFCM 的偵測示意圖,上圖數字代表整體的 membership 只被取走 FCM 的 membership 這一部份,下圖數字代表仍剩下的 membership
圖4-10為一些實際操作的例子。圖4-10中分別顯示當FCM、PCM和PFCM的第一個 叢集偵測錯誤後,第二個叢集的偵測情形,我們可以注意到FCM和PCM都沒有辦法找 到正確的叢集,而PFCM則可以找到一個正確的叢集。
(a) (b)
(c) (d)
(e) (f)
圖4-10:偵測實際操作 (a)FCM第一個叢集偵測錯誤 (b)FCM第二個也偵測錯誤 (c)PCM 第一個叢集偵測錯誤 (d)PCM第二個也偵測到同一個錯誤點上 (e)PFCM第一個叢集偵 測錯誤(f)PFCM第二個叢集偵測正確
由前面的理論我們知道FCM所出現的問題,當有一個叢集偵測到錯誤的資料後,
會使得這些被偵測錯誤的資料點所屬的membership值都趨近於1,其他的叢集對於這些 資料點的membership會趨近於0,使得資料點有如消失一般。PFCM就是由此下手,雖 然取走了FCM的membership,但還是可以藉由PCM的typicality來做偵測,重點在於 PFCM的membership值是兩者的相加,FCM不會影響到PCM的數值。但是IPCM並不像 PFCM一樣是相加制,它是將兩個值相乘,所以如果FCM的membership趨近於0,則相 乘後整個membership也會趨近於0,這樣會使得IPCM產生跟FCM一樣的問題,因此IPCM 沒有PFCM這樣的特性,這也是為什麼在以上的實驗數據中,IPCM的效率會那麼的差。
再來我們便針對幾個複雜的圖形做測試,如圖4-11(a)-(d),來看看混合性叢集演算 法的偵測效率,所採用的各類參數跟之前一樣,針對FCM、PCM、PFCM和IPCM做實 驗分析,而實驗數據分別為表4-4。由實驗結果可以看到PFCM和IPCM大多都比FCM和 PCM來的更好。
(a) (b)
(c) (d)
圖4-11:幾個複雜的圖形 (a)(b)三圓交叉 (c)三個正方形交錯 (d)三個箭頭
表4-4:複雜圖形的偵測數據
圖形編號 FCM PCM PFCM IPCM
(a) 1.84 1.92 2.47 2.42
(b) 2.5 2.08 2.8 2.16
(c) 1.56 1.71 2.62 2.35
(d) 1.16 0.96 1.21 1.12