第十二章 分群與應用
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 PresentationTRANSCRIPT
1
第十二章分群與應用
2
12.1 前言 12.2 K-means 分群法 12.3 植基於 K-D 樹的分群法 12.4 植基於對稱假設的分群法 12.5 變異數控制式的分群法 12.6 向量量化的應用 12.7 模糊分群法及其加速
3
12.1 前言分群 (clustering) [1] 是將一組資料依據某種距離的量度將該組資料分割成若干群。圖 12.1.1 為簡略的示意圖。
圖 12.1.1 分群示意圖
4
12.2 K-means 分群法K-means 的 K 指的是分群數 ; means 可視為質心。Q1 :給 10 筆資料,點 和點 為起始的兩個群心。
1v 2v
10v9v8v7v
6v
5v4v
3v
1v 8v
圖 12.2.1 起始的兩個群心選定
5
圖 12.2.2 各點的歸類
1v 2v
10v9v8v7v
6v
5v4v
3v
在下一次的疊代中,群心 和 是不會再改變的。也就是說,我們已經完成 K=2 的分群工作了。
1v 2v
6
Q3 :在前面介紹的 K-means 分群法中,碰到較極端的例子,例如: Outlier 的例子,是否會產生不理想的分群結果?ANS :在 [9] 中,學者針對 Outlier 的例子,發現這例子的確會產生不理想的分群結果。我們先來看圖 12.2.3 的簡單例子:
1C
2C1c
2c
p
圖 12.2.3 簡單的一個例子
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
8
12.3 植基於 K-D 樹的分群法假設在二維空間上有 n 筆資料,利用 K-D 樹,我們可將其儲存如下:首先在 x 軸上找出一切線將該 n 筆資料一分為二且使得在切線左邊的資料量約莫等於切線右邊的資料量。接下來,我們考慮 y 軸且盡可能將左邊和右邊的資料量再一分為二。如此,不斷的分割下去,直到每個葉子的資料量達到所訂的要求為止。
1v2v
3v
4v
5v 6v
7v 8v
9v
10v
11v
圖 12.3.1 十一筆資料的分佈圖
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 樹
10
在圖中,原有 32 個點,但其中的 12 個點被選為起始的群心。這 12 個群心分別被標示為 和 。,, 21 CC 12C
1C2C
3C
4C
5C
6C 7C
8C
9C
10C
11C12C
圖 12.3.5 起始時的狀態
11
根據 K-D 樹的分割原理,經過第一次分割後,我們得到圖 12.3.6的分割圖。在分割線的左邊,共有十六筆資料。圖中左邊內的點 代表左邊十六筆資料的質心。這質心可幫助我們加快每一筆資料的群心歸屬的速度。
1C2C
3C
4C
5C
6C7C
8C
9C
10C
11C12C
1Z
圖 12.3.6 第一次分割圖
*1Z
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 加快群心歸屬示意圖
13
當每一點的群心歸屬被確定後,我們就在 K-D 樹的葉子上,將這些歸屬於同一群心的點集合收集起來並求出其新的群心。當這 12 個新群心被確定後,它們就取代圖 12.3.6 中原先的 12 個群心。接下來,我們重覆上述的分割與過濾的動作直到最終的 12 個群心不再改變為止。
14
12.4 植基於對稱假設的分群法
在上圖中,點 A 為資料集呈橢圓 分佈的群心,而點 B 為資料集呈橢圓 分佈的群心。根據 K-means 的作法,資料點 O 因為距離群心 A 較近,它會被歸屬於群心 A 。事實上,從資料集 的分佈來看,資料點 O 應該被歸屬於群心 B 的。就造成了誤判的情形。
A
B
O
1E
2E
P
圖 12.4.1 一個對稱圖的例子
1E2E
2E
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 了。
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 方法中由於反應了對稱的考量,故得到較佳的分群結果。
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 方法所得的分群結果
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 方法所得的分群結果
19
SC 方法的第一個小弱點為缺乏對稱的強健性。給一圖如圖 12.4.4 所示:
ldi
ld i ip jp 1jp
kcid
圖 12.4.4 SC 第一個小弱點的例子
對資料點 而言,相對於群心 ,最對稱的點為 ,這說明了 SC 方法會較偏愛較遠的點。這也多少減低了 SC 方法在對稱上的強健性。
ip kc 1jp
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 的一個例子
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
×= +
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 資料集分群的核心算子。
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 方法所得分群結果
24
(b) SC 方法所得分群結果 (c) SSL 方法所得分群結果
25
12.5 變異數控制式的分群法假設我們有一個資料集 ,給定一個變異數 ,我們的目標是設計一個演算法將集合 X 分割成許多子集 [1] ,使得每個子集內的資料之變異數皆 。假使最終我們得到 這些分群組,則對 而言,必滿足
這裏
i
Cxi
i C
Cx
CVar i
2)(
)(
2max)( iCVar
},,,{ 21 nxxxX 2max
2max
MCCC ,,, 21 Mi 1
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
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
28
12.6 向量量化的應用
(see pp. 479-483)
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
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
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)
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) ,得
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)
34
模糊 C-means 共分下列五個步驟:步驟一:選定群數 C 、次方 m 、誤差容忍度 和起始隸屬矩陣 U0 。 步驟二:根據資料點集和 U0 算出起始的群心集。步驟三:重新計算 Uij , 和 。修正各個群心值。
步驟四:計算出誤差 ,這裏 和 代表群心 連續兩個疊代回合的值。
步驟五:若則停止;否則回到步驟三。
ci 1 nj 1
c
iii vvE
1
後前 前iv
後iv iv