34
1 第第第第 第第第第第

第十二章 分群與應用

Embed Size (px)

DESCRIPTION

第十二章 分群與應用. 12.1 前言 12.2 K-means 分群法 12.3 植基於 K-D 樹的分群法 12.4 植基於對稱假設的分群法 12.5 變異數控制式的分群法 12.6 向量量化的應用 12.7 模糊分群法及其加速. 12.1 前言. 分群 (clustering) [1] 是將一組資料依據某種距離的量度將該組資料分割成若干群。圖 12.1.1 為簡略的示意圖。. 圖 12.1.1 分群示意圖. 12.2 K-means 分群法. K-means 的 K 指的是分群數 ; means 可視為質心。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第十二章 分群與應用

1

第十二章分群與應用

Page 2: 第十二章 分群與應用

2

12.1 前言 12.2 K-means 分群法 12.3 植基於 K-D 樹的分群法 12.4 植基於對稱假設的分群法 12.5 變異數控制式的分群法 12.6 向量量化的應用 12.7 模糊分群法及其加速

Page 3: 第十二章 分群與應用

3

12.1 前言分群 (clustering) [1] 是將一組資料依據某種距離的量度將該組資料分割成若干群。圖 12.1.1 為簡略的示意圖。

圖 12.1.1 分群示意圖

Page 4: 第十二章 分群與應用

4

12.2 K-means 分群法K-means 的 K 指的是分群數 ; means 可視為質心。Q1 :給 10 筆資料,點 和點 為起始的兩個群心。

1v 2v

10v9v8v7v

6v

5v4v

3v

1v 8v

圖 12.2.1 起始的兩個群心選定

Page 5: 第十二章 分群與應用

5

圖 12.2.2 各點的歸類

1v 2v

10v9v8v7v

6v

5v4v

3v

在下一次的疊代中,群心 和 是不會再改變的。也就是說,我們已經完成 K=2 的分群工作了。

1v 2v

Page 6: 第十二章 分群與應用

6

Q3 :在前面介紹的 K-means 分群法中,碰到較極端的例子,例如: Outlier 的例子,是否會產生不理想的分群結果?ANS :在 [9] 中,學者針對 Outlier 的例子,發現這例子的確會產生不理想的分群結果。我們先來看圖 12.2.3 的簡單例子:

1C

2C1c

2c

p

圖 12.2.3 簡單的一個例子

Page 7: 第十二章 分群與應用

7

在上圖中, 和 為目前的兩群,而 和 為這兩群的群心。點 p 可視為 Outlier 的點。假設三個距離 、

和 已被算出且滿足下列二個不等式

1C 2C

1c

1c 2c),( 1cpd ),( 2cpd

),( 21 ccd

1 2

1 2 1 2

( , ) ( , )

min( ( , ), ( , )) ( , )

d p c d p c

d p c d p c d c c

<

>

然而,我們仍很自然的將點 p 歸類為 ,因為 , 畢竟 K-means 分群法只注重距離。視覺告訴我們:將點 p 重新自己歸為一類,而將群 和 群合併為一類倒不失為好方法。在 [9] 中,學者就是利用 的條件,據以將點 p 這個 Outlier 另外歸為一類;否則就遵循 K-means 分群法。

1C ),(),( 21 cpdcpd

1C 2C),()),(),,(min( 2121 ccdcpdcpd

Page 8: 第十二章 分群與應用

8

12.3 植基於 K-D 樹的分群法假設在二維空間上有 n 筆資料,利用 K-D 樹,我們可將其儲存如下:首先在 x 軸上找出一切線將該 n 筆資料一分為二且使得在切線左邊的資料量約莫等於切線右邊的資料量。接下來,我們考慮 y 軸且盡可能將左邊和右邊的資料量再一分為二。如此,不斷的分割下去,直到每個葉子的資料量達到所訂的要求為止。

1v2v

3v

4v

5v 6v

7v 8v

9v

10v

11v

圖 12.3.1 十一筆資料的分佈圖

Page 9: 第十二章 分群與應用

9

1v2v

3v

4v

5v 6v

7v 8v

9v

10v

11v

1v2v

3v

4v

5v 6v

7v 8v

9v

10v

11v

圖 12.3.2 第一次分割 圖 12.3.3 最後分割的結果

61 ,, vv

111 ,, vv

1110,vv

117 ,, vv

321 ,, vvv 654 ,, vvv 987 ,, vvv

圖 12.3.4 K-D 樹

Page 10: 第十二章 分群與應用

10

在圖中,原有 32 個點,但其中的 12 個點被選為起始的群心。這 12 個群心分別被標示為 和 。,, 21 CC 12C

1C2C

3C

4C

5C

6C 7C

8C

9C

10C

11C12C

圖 12.3.5 起始時的狀態

Page 11: 第十二章 分群與應用

11

根據 K-D 樹的分割原理,經過第一次分割後,我們得到圖 12.3.6的分割圖。在分割線的左邊,共有十六筆資料。圖中左邊內的點 代表左邊十六筆資料的質心。這質心可幫助我們加快每一筆資料的群心歸屬的速度。

1C2C

3C

4C

5C

6C7C

8C

9C

10C

11C12C

1Z

圖 12.3.6 第一次分割圖

*1Z

Page 12: 第十二章 分群與應用

12

從圖 12.3.6 中切線的右邊任意挑一群心出來且令該被挑出的群心為 ( 參見圖 12.3.7) 。接下來,我們在 和 兩點間拉一條直線且在這條直線上作出一條中分線 L 。根據幾何學的特性,在中分線 L 左側的點 ( 表示成黑色三角形 ) 和 的距離是會小於 的距離。例如:只需將點 A 的座標值代入中分線後得到負值就可知道 A 點距離 較近,這時對點而言,群心 是不必被納入考慮的。

iZ

A

B

C

D

E

iZ*Z

F

不動

L

*Z iZ

*Z iZ

*Z iZ

圖 12.3.7 加快群心歸屬示意圖

Page 13: 第十二章 分群與應用

13

當每一點的群心歸屬被確定後,我們就在 K-D 樹的葉子上,將這些歸屬於同一群心的點集合收集起來並求出其新的群心。當這 12 個新群心被確定後,它們就取代圖 12.3.6 中原先的 12 個群心。接下來,我們重覆上述的分割與過濾的動作直到最終的 12 個群心不再改變為止。

Page 14: 第十二章 分群與應用

14

12.4 植基於對稱假設的分群法

在上圖中,點 A 為資料集呈橢圓 分佈的群心,而點 B 為資料集呈橢圓 分佈的群心。根據 K-means 的作法,資料點 O 因為距離群心 A 較近,它會被歸屬於群心 A 。事實上,從資料集 的分佈來看,資料點 O 應該被歸屬於群心 B 的。就造成了誤判的情形。

A

B

O

1E

2E

P

圖 12.4.1 一個對稱圖的例子

1E2E

2E

Page 15: 第十二章 分群與應用

15

假設共有 N 個點,針對質心 C 而言,點和質心 C 的距離被定義如下:

)(

)()(min),(

,,1 CXCX

CXCXCXd

ij

ij

jiNi

j

(12.4.1)

利用式 (12.4.1) ,圖 12.4.1 中的點 O之對稱點為點 P ,如此一來,點 O 就不會被歸屬為群心 A 了。

Page 16: 第十二章 分群與應用

16

為方便起見,上述方法就稱做 SC 方法吧! SC 方法適合的資料點集稱做 SIC(Symmetrical Intra-Cluster)集。給 N 個資料點 ,假設利用 K-means演算法,我們找到了 K

個群心。對資料點而言,點對稱距離量度可表示為

}1|{ Nipi

}1|{ Kkck

( ) ( )( , ) min

j k i k

s j k

j k i k

p c p cd p c

p c p c

- + -=

- + -

圖 12.4.3 (a) 為一 K-means 方法所得的分群結果,而圖 12.4.3 (b)為 SC 方法所得的分群結果。很明顯的可看出 SC 方法對 SIC集的分群優勢,在 SC 方法中由於反應了對稱的考量,故得到較佳的分群結果。

Page 17: 第十二章 分群與應用

17

1 2 3 4 5 6 7 8 9 10 11 12 13

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

14

1C 2C

1p

2p3p

1c 2c

1 2 3 4 5 6 7 8 9 10 11 12 13

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

14

1C 2C

1c 2c1p

2p

圖 12.4.2 二個 SIC 圖 12.4.3 (a) K-means 方法所得的分群結果

Page 18: 第十二章 分群與應用

18

1 2 3 4 5 6 7 8 9 10 11 12 13

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

14

1C 2C

圖 12.4.3 (b) SC 方法所得的分群結果

Page 19: 第十二章 分群與應用

19

SC 方法的第一個小弱點為缺乏對稱的強健性。給一圖如圖 12.4.4 所示:

ldi

ld i ip jp 1jp

kcid

圖 12.4.4 SC 第一個小弱點的例子

對資料點 而言,相對於群心 ,最對稱的點為 ,這說明了 SC 方法會較偏愛較遠的點。這也多少減低了 SC 方法在對稱上的強健性。

ip kc 1jp

Page 20: 第十二章 分群與應用

20

SC 方法的第二個小弱點為碰到資料集為 SIIC(Symmetrical Intra/Inter Clusters) 時,分群的效果不是很理想。給一圖如12.4.5 所示:

1c2p

5p

4p2c

3c

-2-4-6-8-10-12-14 2 4 6 8 10 12 14

2

-2

4

-4

6

-6

8

10

12

-8

-10

-12

1p1C

2C

3C

3p

圖 12.4.5 SIIC 的一個例子

Page 21: 第十二章 分群與應用

21

SC 方法將 指派給 。這樣的指派違反了我們視覺上的觀察,視覺上的觀察會建議將 指派給 。之所以會發生這樣的問題在於 事先已指派給 ,這造成了 和 分別屬於不同群,也破壞了封閉性 (Closure Property) 。

1p 2C

1p 1C),( 214 cpdArgp s 3C 1p

4p

為了克服 SC 方法中的缺乏對稱強健性,我們提出一種稱為 DSL(Distance Similarity Level) 的算子。為了能納入方向近似程度,我們定義一種稱為 OSL(Orientation Similarity Level) 的算子。

DSL 算子 1 , 0 1

( , , )

0,

i j j

i k j i i

d d dn

DSL p c p n d d

other

ìï -ïï - £ £ +ï=í ´ïïïïî

OSL 算子 ( , , ) 0.52

i ji k j

i j

v vOSL p c p

v v

×= +

Page 22: 第十二章 分群與應用

22

將這兩個算子整合成

這裏 SSL 代表 Symmetry Similarity Level 的縮寫。為了保有封閉性,上式改寫為

2 2( , , ) ( , , )( , , )

2j k j j k j

i k j

DSL p c p OSL p c pSSL p c p

+¢ =

2 2( , , ) ( , , )( , , ) max

2j k

j k j j k ji k j

p C

DSL p c p OSL p c pSSL p c p

Î

+=

SSL 算子可說是對 SIIC 資料集分群的核心算子。

Page 23: 第十二章 分群與應用

23

給一組 SIIC 資料集如圖 12.4.6 所示。利用 K-means 方法得到的分群結果如圖 12.4.7 (a) 所示。利用 SC 方法得到的分群結果如圖 12.4.7 (b) 所示。利用我們所介紹的 SSL 算子所得到的分群結果如圖 12.4.7 (c) 所示。很明顯可看出,對 SIIC 資料集而言, SSL 算子有最佳分群效果。

圖 12.4.6 SIIC 資料集 (a) K-means 方法所得分群結果

Page 24: 第十二章 分群與應用

24

(b) SC 方法所得分群結果 (c) SSL 方法所得分群結果

Page 25: 第十二章 分群與應用

25

12.5 變異數控制式的分群法假設我們有一個資料集 ,給定一個變異數 ,我們的目標是設計一個演算法將集合 X 分割成許多子集 [1] ,使得每個子集內的資料之變異數皆 。假使最終我們得到 這些分群組,則對 而言,必滿足

這裏

i

Cxi

i C

Cx

CVar i

2)(

)(

2max)( iCVar

},,,{ 21 nxxxX 2max

2max

MCCC ,,, 21 Mi 1

Page 26: 第十二章 分群與應用

26

一開始,我們任意將 X 分割成許多子集,例如,分割成 I份群組,這 I份群組表示成 。接下來,我們計算出它們的變異數, , 。如果 ,則 進行隔離 (Isolation) 的動作。

這裏 表示 y 和 x 有最遠距離。接下來,我們將 個內部邊點予以分離出去。如果 ,則對 算出

iCx

i CyyxFDyCIBi

),,(|)(

ICCC ,,, 21 )( iCVar Ii 1 2

max)( iCVariC

),( yxFD )( iCIB

2max)( iCVar iCx

2min| xyyiCXy

Page 27: 第十二章 分群與應用

27

這時點 y被視為點 x的外部邊緣 (Outer Border) 點,我們針對外部邊緣集

( 這裏 表示 y和 x有最近距離 )隨機選取 個外部邊緣點並將它們和 合併 (Union) 起來。

在 [1] 中,學者們提出利用干擾法 (Perturbation) 來改善最後的分群效果。對群 來說,我們在 中挑一 點 ,如果下式成立,則將 x從 中移除,而將 x納入 中:

iCx

i CXyyxNDyCOBi

),,(|)(

),( yxND )( iCOB

iC

)( iCOB jCxjC

iC

0}){()(}){()( xCSCSxCSCSG jjiiab

iCx

ii CxCS2

)()(

iC

Page 28: 第十二章 分群與應用

28

12.6 向量量化的應用

(see pp. 479-483)

Page 29: 第十二章 分群與應用

29

12.7 模糊分群法及其加速

假設資料點集表示為 X={x1,x2,…,xn} , FCM 分群法將資料點集 X 分成 C 群。令這 C 群的群心集為V={v1,v2,…,vc} 。令資料點 xj 對群心 vi 的隸屬函數值為 uij ,則隸屬矩陣 U 可表示為

cnc2c1

2n2221

1n1211

uuu

uuu

uuu

U

Page 30: 第十二章 分群與應用

30

我們可定義群心集 V 和資料點集 X 的誤差為:

(12.7.1)

c

i

n

jij

mij vxuXVUE

1 1

2)():,(

在式 (12.7.1) 中 , 代表資料點 和群心 的距離,而 代表賦予到 的加權,式 (12.7.1) 中的 充分反應了模糊集的精神。

2

ij vx ivjxm

iju )(2

ij vx m

iju )(

從隸屬矩陣 U 中,對資料點 而言,可得知下式需被滿足:

11

c

iiju

jx

jx

j

Page 31: 第十二章 分群與應用

31

n

j

c

iijj

n

j

c

iij

mij uvxuUL

1 11 1

21)(),(

對 微分後令為零,可得到 ),( UL j

c

iij

j

uUL

1

010),(

對 微分後令為零,可得到 ),( UL iju

0)(0),( 21

jijm

ijij

vxumu

UL (12.7.3)

由式 (12.7.3) 可解得

1

1

2

m

ij

jij

vxmu

(12.7.4)

(12.7.2)

Page 32: 第十二章 分群與應用

32

由式 (12.7.2) 和式 (12.7.4) 可得到

1

1

1

1

21

c

i

m

ij

jc

iij

vxmu

(12.7.5)

從式 (12.7.5) 可得

c

i

m

ij

mj

vxmm 1

1

1

2

1

1

11

(12.7.6)

將式 (12.7.6) 代入式 (12.7.4) ,得

Page 33: 第十二章 分群與應用

33

c

k

m

kj

ij

ijvx

vxu

1

1

2

1 (12.7.7)

至此,我們已推得資料點 到群心 的模糊加權 。jx iv iju

群心 可調整為 iv

ci,1

1

1

n

j

mij

n

jj

mij

i

u

xu

v (12.7.8)

Page 34: 第十二章 分群與應用

34

模糊 C-means 共分下列五個步驟:步驟一:選定群數 C 、次方 m 、誤差容忍度 和起始隸屬矩陣 U0 。 步驟二:根據資料點集和 U0 算出起始的群心集。步驟三:重新計算 Uij , 和 。修正各個群心值。

步驟四:計算出誤差 ,這裏 和 代表群心 連續兩個疊代回合的值。

步驟五:若則停止;否則回到步驟三。

ci 1 nj 1

c

iii vvE

1

後前 前iv

後iv iv