• 沒有找到結果。

Self-Organizing Feature Map Neural Networks(SOFM)分類法

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

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

2.4 Self-Organizing Feature Map Neural Networks(SOFM)分類法

/

=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 C4 突尼西亞Ⓓ、塞爾維亞Ⓓ、日本Ⓓ、多哥Ⓓ、美國Ⓓ、波蘭Ⓓ、克羅地亞Ⓓ、沙特阿拉伯Ⓓ、安 哥拉Ⓓ、伊朗Ⓓ、千里達Ⓓ、哥斯大黎加Ⓓ

表4-10. K-Means 演算法分類結果比對表.

賽後類別 比賽結果

兩者符合

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

正確隊數 正確率(%)

Class C1 3 2 2 0

Class C2 1 2 0 1

Class C3 0 0 6 3 分類類別

Class C4 0 0 0 12

23 71.875

5. 實驗結果

本論文的分類演算法實驗採用 MATLAB 7.0 版中的 Toolbox 提供的函數及實作而 來,而實驗處理的過程,如:資料的擷取、資料的轉換、各種非監督式分類正確率的計 算、分類的實驗結果、及分類個數的有效性驗證,皆利用MATLAB 實作程式完成。各 種非監督式分類的實驗過程及實驗結果,以及有效性驗證的實驗過程及實驗結果,分別 如後小節所述。

5.1 非監督式分類法的實驗結果

(1) K-Means 分類結果

由於K-Means 分類法不同的初始中心點及樣本出現順序會造成分類結果的不同,因 此我們隨機選取初始中心點並將樣本隨機輸入重複實驗10,000 次,將 10,000 次的每次 正確隊數記下後,再求 10,000 次的平均值即為「平均的正確隊數」,同時把它換算成 百分比即為「平均的正確率 (%)」,此外實驗過程中會同時紀錄下 10,000 次中曾經出 現過的「最高正確隊數」,並把它換算成百分比即為「最高正確率 (%)」,另外同時會 紀錄下最高正確隊數中其中一次的分類結果。

圖5-1 為 10,000 次 K-Means 分類的正確隊數統計柱狀圖,其中最低的正確隊數為 11 隊,出現過7 次,而最高正確隊數為 23 隊,出現過 48 次,而出現過最多次數的正確隊 數為14 隊,有 2,288 次。

最高正確隊數23 隊 48 次中,其中 1 次的分類結果列於表 5-1,該次分類結果的各類 中心列於表5-2,此外,K-Means 分類的正確隊數及正確率列於表 5-3。

圖5-1. 10,000 次 K-Means 分類的正確隊數統計柱狀圖.

圖5-1. 10,000 次 K-Means 分類的正確隊數統計柱狀圖.

相關文件