• 沒有找到結果。

第一章 圖形識別與類神經網路於 2006 年世界盃足球賽球隊實力之分類

2 採用的非監督式分類法簡介

2.1 K-Means 分類法

在分割式分類法 (Partition Clustering) 之中,最基本的方法就是所謂的 K-Means (KM) 分類法 [8],其主要目的是利用距離的計算,將已知維度為n的 N 個樣本集合

} ,..., {x1 xN

X= ,分成K 類的集合P1,P2,...,PKP Ii Pj =φ , for

ij

,且 Pi =X

Ui ,我們 採Euclidian 距離,K-Means 分類演算法的作法如下:

K-Means Clustering Algorithm [6]

Input: X={x1,...,xN}, where xRn, and clustering number K.

Output: K class centers C={c1,...,cK}, and input patterns in each class.

Method:

Step (1). 隨機選取 K 個資料點,並視之為 K 個類別的中心C={c1,...,cK}

Step (2). 計算每一樣本xj到每一類的中心ci的距離,然後尋找與其最接近的類的中心,

並將xj加入該類Pi。 Step (3). 重新計算每一類新的中心。

Step (4). 如果新的類中心等於舊的類中心,則停止。否則,取新的類中心成為目前的類 中心,再回到Step (2)。

2.2 Fuzzy C-Mean 分類法

Fuzzy C-Means (FCM) 也稱做Fuzzy K-Means [9],它是一種K-Means的改良式演算 法,其中加入了模糊邏輯觀念,希望能進一步提升分類的效果,FCM與KM最大的差異 在於,KM分類法中,每一個輸入向量僅歸於某一個特定的類別,但是FCM分類法中的 每一個輸入向量可隸屬於每一個類別,隸屬的程度稱為membership value u ,其值需滿ij 足式 (2-1) 及式 (2-2)。

為了求得最佳化的J ,可利用Lagrange multiplier method,在滿足式(2-1)及式(2-2) 的條件下,針對各傳入參數u 與ij mi分別進行偏微分(對mi則固定u ,對ij u 則固定ij mi),

Fuzzy C-Means Clustering Algorithm

2.3 凝聚階層式分類法(Agglomerative Hierarchical Clustering (AHC))

Hierarchical Clustering 是根據 Proximity Matrix 的計算把所有資料組織成為階層的 結構來表示類別與類別之間的關係,其中Proximity Matrix 可為 Similarity Matrix 或是 Dissimilarity Matrix,這種 Hierarchical Clustering 的結構一般以樹狀圖 (Dendrogram) 來 表示,在樹狀圖的樹根節點 (Root Node) 代表的是全部的資料集合,而樹葉節點 (Leaf Node) 代表的是每一個輸入資料,中間連接節點 (Intermediate Node) 代表的是兩個節 點(樹根或樹葉節點)之間的連接關係,而樹狀圖的高度通常代表的是類別與類別之間或

則根據不同的 aiajbc 的組合設定 [4],一般又可衍生出下列幾種連結法:

(2) 完全連結法(Complete Link Algorithm),也稱做 Furthest Neighbor,如果ai=1/2

2 /

=1

ajb=0c=1/2,則d(Cq,Cs)=min{d(Ci,Cs),d(Cj,Cs)}

(3) 平均連結法(Average Link Algorithm),也稱為 Unweighted Pair Group Method Average,是取Ci,Cs兩個群聚之間所有成員的平均距離與Cj,Cs兩個群聚之間所有成

2.4 Self-Organizing Feature Map Neural NetworksSOFM)分類法

Self-Organizing Feature Map (SOFM) [10]-[14] 網路架構由芬蘭的Kohonen1980 年提出,如圖2-1所示,它是一種兩層、順向連結的前饋式競爭學習類神經網路,主要 元件包括輸入層、輸出層、及連結單元。連結單元為輸出層神經元與輸入層神經元之間 相互連結的加權值所構成的向量,而輸出神經元會安排成前後左右有意義的空間關係稱 為拓樸結構 (topological structure),不同形式空間位置安排的拓撲結構及鄰近區域的觀 念組成的 SOFM 也稱為拓樸圖 (topology),如圖 2-2 所示,即為常用到的 3 種不同 Topology,其中圖 2-2(a) 所示,其輸出神經元在空間上排列成一直線,稱為 1D Topology,圖 2-2(b) 所示,其輸出神經元在空間排成 2D 的格子狀,稱為 2D GridTop Topology,圖2-2(c) 所示,其輸出神經元在空間排成2D的六角形稱為2D HexagonalTop Topology,關於SOFM的演算法說明可參閱 [6]

x1

(a) 1D topology. (b) 2D GridTop Topology. (c) 2D HexTop Topology.

圖2-2. 3 種常用的輸出神經元的 Topology.

2.5 順序性分類演算法(Sequential Clustering Algorithm)

Sequential Clustering Algorithm (SC) 由「Hall A.V.」在1967年提出 [15],它是一種 非常簡單且快速的非監督式分類法,這個演算法中的每一個樣本向量只會出現1次或是 Clustering Algorithm,因此以下小節將針對Basic Sequential Clustering (BSC) 及Modified Basic Sequential Clustering (MBSC) 作說明。

(1) Basic Sequential Clustering (BSC)

d x( P, )代表樣本x與類別P 的距離,P 的類中心點為M,所以d(x,P)=d(x,M)當有一個新樣本 x 加到離其最近的P 類後,該類的中心M 需用式 (2-5) 來更新,其中

newclosest

NM 為加入成員後的樣本個數。

new closest Mclosestnew

N

NM oldclosest

newclosest

M

x

M M +

=( 1)

(2-5) 初始條件需給一個 distance threshold, θ,及最大允許生成類別數 U。當一個樣本進來時,

先找到離其最近的類別之距離,當距離大於θ時就將樣本獨立成一個類別,當距離小於

θ時,就把它合併到距離其最近的那個類別,然後更新該類的中心 M,直到生成的類別 數達到最大生成數 U 時就結束。

Basic Sequential Clustering Algorithm (BSC) [4]

Input : GivenX={x1,x2,...,xN}, distance threshold =θ, and maximum allowed cluster number U.

Output : Output data in each of K classes.

Method :

Step (1). K=1, PK ={x1}

Step (2). For xi , i=2,...,N

(2.1) Find Pclosest, where d(xi,Pclosest)=min1jKd(xi,Mj)

(2.2) If (d x( i,Pclosest)>θ ) and (K<U), then K=K+1;

PK ={xi} else

Pclosest = {Pclosest } {xi}; Update mean vector Mclosest End

End

(2) Modified Basic Sequential Clustering (MBSC)

由於 BSC 演算法中,對輸入樣本的分配採先進來就先處理,所以對於原本屬於同 一類別內同性質的樣本來說,當 x1是第一個出現時,會先被獨立成一群稱P1,接著 x2

進來時若由於距離高於門檻值θ而被獨立成一群稱 P2,接著 x3及其之後的樣本陸續進 來而被合併到P2群,由於群中心需即時更新,若是P2類別的版圖明顯地向P1擴張到原 本應把 x1要包含進去,但礙於 x1已經先出現過且被獨立成一群P1,所以無法及時更正 這樣的錯誤,如圖2-3(a) 所示即為此狀況下經 BSC 分類的結果,另外一個例子如圖 2-3(b) 所示,其樣本 x1非第一次出現,然後經BSC 分類的結果。所以本節的 MSBC 就是採取 兩段式作法,第一階段是讓所有的樣本先出現過一次,大致上先決定欲分類的個數之 後,第二階段再把所有樣本中尚未被分類的樣本重新分配至第一階段所產生出來的類別 中。

(a) 樣本 x1為第一個出現之分類的結果. (b) 樣本 x1非第一個出現之分類的結果.

圖2-3. 同一個樣本,在不同時間出現,經 BSC 分類的結果.

Modified Basic Sequential Clustering Algorithm (MBSC) [4]

Input : GivenX={x1,x2,...,xN}, distance threshold =θ, and maximum allowed cluster number U.

Output : Output data in each of K classes.

Method :

Phase I. (決定分類數) Step (1). K=1, PK ={x1}

Step (2). For x , i i=2,...,N

(2.1) Find Pclosest, where d(xi,Pclosest)=min1jKd(xi,Mj)

(2.2) If (d x( i,Pclosest)>θ ) and (K<U), then K=K+1;

PK ={xi}

End End

(continue) Phase II. (樣本分類) Step (3). For x , i i=1,...,N

(3.1) Ifx has not been assigned to a cluster, then i

Find Pclosest , where d(xi,Pclosest)=min1jKd(xi,Mj) Pclosest ={Pclosest}{xi};

Update mean vector Mclosest End

End

3. 採用的分類有效性驗證法

對全部類別的within-cluster scatter matrix 定義為:

=

對全部類別的between-cluster scatter matrix 定義為:

i T

我們定義trSB為:

2 1

M M

S =

= i K i

i

B n

tr (3-5) 愈大的trSB值,代表不同類別與類別之間的距離愈遠,表示較好的分類效果。

本論文應用於2006 世界盃足球賽統計數據之分類個數有效性驗證法有三種,分別 為以 Sequential Clustering 為基礎的 Basic Sequential Clustering (BSC) 及 Modified Basic Sequential Clustering (MBSC) 兩種,以及以 K-Means 為基礎的 Pseudo F-Statistics (PFS) 一種,此三種有效性驗證方法分別詳述於下面各小節,而實驗程式則根據公式 及演算法利用MATLAB 7.0 實作而來。

3.1 以 BSC 及 MBSC 為基礎的有效性驗證法

(1) BSC Validity Criterion

若輸入資料為X={x1,...,xN},我們計算找出樣本間最小距離a=mini,j=1,...,N d(xi,xj),及 樣本間最大距離b=maxi,j=1,...,N d(xi,xj),然後門檻值θ由最小距離a開始測試,每一個門 檻值θ設定值共測試S次BSC 演算法,然後找出該門檻值在S次測試當中最常出現的K 值,並記錄下來,然後將門檻值θ加上增量C成為新的門檻值θ,重覆先前步驟直到門 檻值θ到達最大距離b就結束。由於θ的值將直接影響到樣本與類別中心計算後歸類的 決定,因此θ的精確度選擇相當重要,S代表每一個門檻測試值需要被測試的次數,愈 多次的疊代測試所得到的統計結果愈精確,此外每一次疊代測試時樣本輸入的順序皆需 改變。

經由上述的方法,我們可以得到一個門檻值θ 與K 相對應的二維空間分佈曲線圖,

由分佈圖中的曲線我們找出當隨著門檻值θ緩慢變化時,其相對應的K 值若有出現顯著 的變化轉折 (Knee),則這樣的轉折變化即代表輸入資料擁有類別的特性,而在此曲線 中,若隨著門檻值θ緩慢增加時,其所相應的K 值若維持不變 ( K 值維持平坦的區域),

則該K 值即可成為分類的個數 K [4]。

利用Basic Sequential Clustering Algorithm 找尋分類個數 K 值的演算法如下:

BSC Validity Criterion Algorithm

Input: X={x1,...,xN}, a=mini,j=1,...,Nd(xi,xj), b=maxi,j=1,...,N d(xi,xj), θ (distance threshold), C (step size of θ), S (the number of times for each θ).

Output: The most frequent K for each θ. Method:

Step (1). j=0

Step (2). For (θ=a; θ<b; θ=θ+C) { i=0;

While (i <S) { U[i] = BSC(X,θ) i = i+1;

} //end of While

K[j] = find the most frequent of K from U[i]

j = j+1;

} //end of For Step (3). Plot K versus θ.

(2) MBSC Validity Criterion

利用改良形順序性分類法(Modified Basic Sequential Clustering)的方法來找尋分類 個數K 值的演算法與上述方法相同,差別在本節所使用的演算法為 MBSC。

3.2 以 K-Means 為基礎的有效性驗證法:Pseudo F-Statistics Validity Criterion

Vogel and Wong 於 1979 年 [16] 提出 Pseudo F-Statistics (PFS),它是以 K-Means 為基礎的有效性驗證法,由最大 F-Statistics 的值來決定分類數。其中 PFS 公式定義如

4. 非監督式分類法用於 2006 年世界盃足球賽球隊實力的分類

4.1 原始資料的擷取及轉換

根據 2006 年世界盃足球賽的官方網頁 (http://fifaworldcup.yahoo.com) 我們可得到 每一場比賽的比賽報告,如附錄二所示為德國(GER)對哥斯大黎加(CRC)之比賽報告,

表4-1. 德國隊(GER)對哥斯大黎加隊(CRC) 17 項原始資料.

表4-3. 32 隊全部比賽的原始資料.

表4-4. 32 隊原始資料經轉換後的資料.

Match 41 0.000 0.440 0.571 0.444 0.000 0.500 0.480 0.484

ENG BRA

Match 43 0.200 0.300 0.176 0.214 0.500 0.500 0.400 0.357

ARG FRA

Match 45 0.000 0.320 0.182 0.100 1.000 0.500 0.440 0.364 Match 23 0.500 0.619 0.889 0.545 0.500 0.500 0.540 0.556 ESP

Match 47 0.000 0.269 0.235 0.286 1.000 0.500 0.410 0.512 GF:Goals For S:Shots SG:Shots On Goal CK:Corner Kicks DFKG:Direct Free Kicks to Goal IDFKG:Inderect Free Kicks to Goal BP: Ball Possession FS:Fouls Suffered

表4-5. 資料轉換後,把 32 隊各自資料加起來後的資料.

4.2 比賽結果的分類原則

為了比較各種分類法分類結果的正確率,我們根據賽制的晉級與淘汰的特性,將比 賽結果分成4 類,如圖 4-1,第 A 類為 1~4 名共 4 隊,第 B 類為 5~8 名共 4 隊,第 C 類為9~16 名共 8 隊,第 D 類為 17~32 名共 16 隊,因此由官方網站提供的比賽結果 [1]

轉換得到的2006 年世界盃足球賽「比賽結果」分類對照表,如表 4-7 所示。

圖4-1. 分類示意圖.

表4-7. 2006 年世界盃足球賽「比賽結果」分類對照表.

賽後類別 名次 隊伍

Class Ⓐ 1 ~ 4 義大利Ⓐ、法國Ⓐ、德國Ⓐ、葡萄牙Ⓐ

Class Ⓑ 5 ~ 8 阿根廷Ⓑ、英國Ⓑ、巴西Ⓑ、烏克蘭Ⓑ

Class Ⓒ 8 ~ 16 墨西哥Ⓒ、瑞典Ⓒ、瑞士Ⓒ、西班牙Ⓒ、澳大利亞Ⓒ、加納Ⓒ、荷蘭Ⓒ、厄瓜多爾Ⓒ

Class Ⓓ 17 ~ 32 波蘭Ⓓ、巴拉圭Ⓓ、哥斯大黎加Ⓓ、克羅地亞Ⓓ、捷克Ⓓ、安哥拉Ⓓ、沙特阿拉伯Ⓓ、象 牙海岸Ⓓ、伊朗Ⓓ、美國Ⓓ、塞爾維亞Ⓓ、突尼西亞Ⓓ、日本Ⓓ、韓國Ⓓ、多哥Ⓓ、千里 達Ⓓ

4.3 分類正確率計算

我們將非監督式分類法的「分類結果」與世界盃的「比賽結果」作成如表4-8 所示 的分類結果比對表,n1~n16 代表符合的隊數,例如實驗分類後的 Class C1 這類的成員 總共有n1+n2+n3+n4 隊,其中有 n1 隊在比賽結束後的賽後類別是屬於 Class Ⓐ,依此 類推。

表4-8. 分類結果比對表.

賽後類別 比賽結果

兩者符合

實驗結果 的隊數 Class Ⓐ Class Ⓑ Class Ⓒ Class

正確隊數 正確率(%)

Class C1 n1 n2 n3 n4

Class C2 n5 n6 n7 n8

Class C3 n9 n10 n11 n12 分類類別

Class C4 n13 n14 n15 n16

根據表4-8 的比對表,我們在 4 個「分類類別 (Class C1~ Class C4)」 對應的每一 行中各取一個數後,把4 個取出來的隊數相加成為正確隊數,選取過程中若已被選取過 隊數所對應的那一列的隊數即不能再被選取,因此列出下列24 種 (S1 ~ S24) 可能的選 取組合,來計算選出最高的值成為該分類法的正確隊數。

S1 = n1 + n6 + n11 + n16, S2 = n1 + n6 + n12 + n15, S3 = n1 + n7 + n10 + n16, S4 = n1 + n7 + n12 + n14, S5 = n1 + n8 + n10 + n15, S6 = n1 + n8 + n11 + n14, S7 = n2 + n5 + n11 + n16, S8 = n2 + n5 + n12 + n15, S9 = n2 + n7 + n9 + n16, S10 = n2 + n7 + n12 + n13, S11 = n2 + n8 + n9 + n15, S12 = n2 + n8 + n11 + n13, S13 = n3 + n5 + n10 + n16, S14 = n3 + n5 + n12 + n14, S15 = n3 + n6 + n9 + n16, S16 = n3 + n6 + n12 + n13, S17 = n3 + n8 + n9 + n14, S18 = n3 + n8 + n10 + n13, S19 = n4 + n5 + n10 + n15, S20 = n4 + n5 + n11 + n14, S21 = n4 + n6 + n9 + n15, S22 = n4 + n6 + n11 + n13, S23 = n4 + n7 + n9 + n14, S24 = n4 + n7 + n10 + n13 正確率計算公式為:

100%

x (%) 正確隊數 正確率

= 總隊 (4-1) 其中,總隊數=32隊。

例如:經由K-Means 演算法分類的「分類結果表 (表 4-9) 」 與「比賽結果表 (表 4-7) 」 比對後的「分類結果比對表」如 (表 4-10) 所示,經計算後可以得到 K-Means 演算法分類結果的正確隊數為23 隊,換算成正確率為 71.875 %。

表4-9. K-Means 演算法分類結果表.

分類類別 K-Means 分類結果

Class C1 德國Ⓐ、義大利Ⓐ、葡萄牙Ⓐ、英國Ⓑ、巴西Ⓑ、西班牙Ⓒ、瑞士Ⓒ

Class C2 法國Ⓐ、阿根廷Ⓑ、烏克蘭Ⓑ、象牙海岸Ⓓ

Class C3 加納Ⓒ、澳大利亞Ⓒ、荷蘭Ⓒ、厄瓜多爾Ⓒ、瑞典Ⓒ、墨西哥Ⓒ、巴拉圭Ⓓ、捷克Ⓓ、韓國Ⓓ

Class C3 加納Ⓒ、澳大利亞Ⓒ、荷蘭Ⓒ、厄瓜多爾Ⓒ、瑞典Ⓒ、墨西哥Ⓒ、巴拉圭Ⓓ、捷克Ⓓ、韓國Ⓓ

相關文件