KhoaKhoa KhoaKhoa HọcHọc & & KỹKỹ Thuật Thuật MáyMáy TínhTính

TrTrưườngờng ĐĐạiại HọcHọc BáchBách KhoaKhoa TpTp. . HồHồ ChíChí MinhMinh

ChChươươngng 5: 5: GomGom cụmcụm dữdữ liệuliệu

CaoCao HọcHọc Ngành

Ngành KhoaKhoa HọcHọc MáyMáy TínhTính

GiáoGiáo trình

trình đđiệniện tửtử

BiênBiên soạnsoạn bởibởi: TS.

: TS. VõVõ ThịThị NgọcNgọc ChâuChâu

chauvtn@cse.hcmut.edu.vn)) ((chauvtn@cse.hcmut.edu.vn

1

Học kỳ 1 – 2011-2012

1

Tài liệu tham khảo

(cid:135) [1] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and

Techniques”, Second Edition, Morgan Kaufmann Publishers, 2006. (cid:135) [2] David Hand, Heikki Mannila, Padhraic Smyth, “Principles of Data

(cid:135) [3] David L. Olson, Dursun Delen, “Advanced Data Mining

Mining”, MIT Press, 2001.

(cid:135) [4] Graham J. Williams, Simeon J. Simoff, “Data Mining: Theory,

Techniques”, Springer-Verlag, 2008.

(cid:135) [5] Hillol Kargupta, Jiawei Han, Philip S. Yu, Rajeev Motwani, and Vipin Kumar, “Next Generation of Data Mining”, Taylor & Francis Group, LLC, 2009.

(cid:135) [6] Daniel T. Larose, “Data mining methods and models”, John Wiley

Methodology, Techniques, and Applications”, Springer-Verlag, 2006.

(cid:135) [7] Ian H.Witten, Eibe Frank, “Data mining : practical machine

& Sons, Inc, 2006.

(cid:135) [8] Florent Messeglia, Pascal Poncelet & Maguelonne Teisseire,

learning tools and techniques”, Second Edition, Elsevier Inc, 2005.

(cid:135) [9] Oded Maimon, Lior Rokach, “Data Mining and Knowledge

2

“Successes and new directions in data mining”, IGI Global, 2008.

2

Discovery Handbook”, Second Edition, Springer Science + Business Media, LLC 2005, 2010.

Nội dung

(cid:135) Chương 1: Tổng quan về khai phá dữ liệu

(cid:135) Chương 2: Các vấn đề tiền xử lý dữ liệu

(cid:135) Chương 3: Hồi qui dữ liệu (cid:135) Chương 4: Phân loại dữ liệu

(cid:135) Chương 5: Gom cụm dữ liệu

(cid:135) Chương 6: Luật kết hợp

(cid:135) Chương 7: Khai phá dữ liệu và công nghệ cơ sở

dữ liệu

(cid:135) Chương 8: Ứng dụng khai phá dữ liệu

(cid:135) Chương 9: Các đề tài nghiên cứu trong khai phá

dữ liệu

3

3

(cid:135) Chương 10: Ôn tập

Chương 5: Gom cụm dữ liệu

(cid:135) 5.1. Tổng quan về gom cụm dữ liệu

(cid:135) 5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) 5.3. Gom cụm dữ liệu bằng phân cấp

(cid:135) 5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) 5.5. Gom cụm dữ liệu dựa trên mô hình

(cid:135) 5.6. Các phương pháp gom cụm dữ liệu khác

(cid:135) 5.7. Tóm tắt

4

4

ChChươươngng 5: 5: GomGom cụmcụm dữdữ liệuliệu

Phần 1

5

5

5.0. Tình huống 1 – Outlier detection

Người đang sử dụng thẻ ID = 1234 thật sự là chủ nhân của thẻ hay là một tên trộm?

6

6

5.0. Tình huống 2 - Làm sạch dữ liệu

(cid:135) Nhận diện phần tử biên (outliers) và giảm

thiểu nhiễu (noisy data)

(cid:135) Phân tích cụm (cluster analysis)

7

7

(cid:132) Giải pháp giảm thiểu nhiễu

5.0. Tình huống 3

8

8

5.0. Tình huống 3

9

9

5.0. Tình huống 3

10

10

5.0. Tình huống 3

11

11

5.0. Tình huống 3

12

12

5.0. Tình huống 3

13

13

5.0. Tình huống 3

14

14

5.0. Tình huống 4

http://kdd.ics.uci.edu/databases/CorelFeatures/CorelFeatures.data.html

Gom cụm ảnh

15

15

5.0. Tình huống …

16

16

Gom cụm

5.0. Tình huống …

preprocessing)

(cid:135) Hỗ trợ giai đoạn tiền xử lý dữ liệu (data

distribution)

(cid:135) Mô tả sự phân bố dữ liệu/đối tượng (data

(cid:135) Nhận dạng mẫu (pattern recognition)

(cid:135) Phân tích dữ liệu không gian (spatial data analysis)

(cid:135) Xử lý ảnh (image processing)

(cid:135) Phân mảnh thị trường (market segmentation)

(cid:135) Gom cụm tài liệu ((WWW) document clustering)

17

17

(cid:135) …

5.1. Tổng quan về gom cụm dữ liệu

(cid:132) Quá trình gom nhóm/cụm dữ liệu/đối tượng vào các

lớp/cụm

(cid:132) Các đối tượng trong cùng một cụm tương tự với nhau hơn

so với đối tượng ở các cụm khác.

(cid:135) Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 (cid:198)Obj1 tương tự Obj2

(cid:135) Gom cụm

hơn so với tương tự Obj3.

18

18

Gom cụm

5.1. Tổng quan về gom cụm dữ liệu

(cid:132) Quá trình gom nhóm/cụm dữ liệu/đối tượng vào các

lớp/cụm

(cid:132) Các đối tượng trong cùng một cụm tương tự với nhau hơn

so với đối tượng ở các cụm khác.

(cid:135) Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 (cid:198)Obj1 tương tự Obj2

(cid:135) Gom cụm

Intra-cluster distances are minimized.

Inter-cluster distances are maximized.

19

19

hơn so với tương tự Obj3.

5.1. Tổng quan về gom cụm dữ liệu

(cid:132) Quá trình gom nhóm/cụm dữ liệu/đối tượng vào các

lớp/cụm

(cid:132) Các đối tượng trong cùng một cụm tương tự với nhau hơn

so với đối tượng ở các cụm khác.

(cid:135) Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 (cid:198)Obj1 tương tự Obj2

(cid:135) Gom cụm

hơn so với tương tự Obj3.

Intra-cluster distances are minimized.

Inter-cluster distances are maximized.

Low inter-- Low inter cluster/class cluster/class similarity similarity

20

20

High intra-- High intra cluster/class cluster/class similarity similarity

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Vấn đề kiểu dữ liệu/đối tượng được gom cụm

(cid:132) Ma trận dữ liệu (data matrix)

...

...

... ...

... ...

...

...

...

...

11x ... i1x ... n1x

1fx ... ifx ... nfx

1px ... ipx ... npx

        

        

-n đối tượng (objects)

21

21

-p biến/thuộc tính (variables/attributes)

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Vấn đề kiểu dữ liệu/đối tượng được gom cụm

(cid:132) Ma trận sai biệt (dissimilarity matrix)

0 d(2,1) d(3,1 )

0 )2,3(

d

0

: nd )1,(

: nd )2,(

: ...

...

0

       

       

d(i, j) là khoảng cách giữa đối tượng i và j; thể hiện sự khác biệt giữa

22

22

đối tượng i và j; được tính tuỳ thuộc vào kiểu của các biến/thuộc tính.

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Vấn đề kiểu dữ liệu/đối tượng được gom cụm

d(i, j) là khoảng cách giữa đối tượng i và j; thể hiện sự khác biệt giữa

đối tượng i và j; được tính tuỳ thuộc vào kiểu của các biến/thuộc tính.

d(i,j) ≥ 0

d(i,i) = 0

d(i,j) = d(j,i)

23

23

d(i,j) ≤ d(i,k) + d(k,j)

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Vấn đề kiểu dữ liệu/đối tượng được gom cụm

(cid:135) Đối tượng i và j được biểu diễn tương ứng bởi vector x và y.

(cid:135) Độ tương tự (similarity) giữa i và j được tính bởi độ đo

cosine:

(cid:132) Đối tượng vector (vector objects)

x = (x1, …, xp)

y = (y1, …, yp)

24

24

s(x, y) = (x1*y1 + … + xp*yp)/((x12 + … + xp2)1/2*(y12+ … + yp2)1/2)

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Vấn đề kiểu dữ liệu/đối tượng được gom cụm

(cid:132) Interval-scaled variables/attributes

(cid:132) Binary variables/attributes

(cid:132) Categorical variables/attributes

(cid:132) Ordinal variables/attributes

(cid:132) Ratio-scaled variables/attributes

25

25

(cid:132) Variables/attributes of mixed types

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Interval-scaled variables/attributes

Mean absolute deviation

s

|

|

m

|

|

|)

=

+

... ++

f

1

f

f

x 2

f

f

mx − nf

f

(|1 mxn

1

.)

... ++

+

Mean

1

x 2

f

f

f

x nf

(xn m =

f

Z-score measurement

=

z if

mx − if s

f

26

26

5.1. Tổng quan về gom cụm dữ liệu

q

q

q

),( jid

(|

x

|

|

x

|

|

x

q )|

=

+

... ++

2

2

p

p

x i 1

j 1

x i

j

x i

j

(cid:135) Độ đo khoảng cách Minkowski

|

|

|

|

|

jid

x

x

x

|),( =

+

... ++

2

2

p

p

x i 1

j 1

x i

j

x i

j

(cid:135) Độ đo khoảng cách Manhattan

2

2

(|

|

|

|

|

2 )|

),( jid

x

x

x

=

+

... ++

2

2

p

p

x i 1

j 1

x i

j

x i

j

27

27

(cid:135) Độ đo khoảng cách Euclidean

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Binary variables/attributes

1

Object j 0 b

1 a

0

d

c

Object i

sum ba + dc + p

sum

dbca

+

+

(= a + b + c + d)

j

id ,(

=)

b b

c c

a

d

+ +++

Hệ số so trùng đơn giản (nếu symmetric):

j

id ,(

=)

c

a

b c + b ++

28

28

Hệ số so trùng Jaccard (nếu asymmetric):

5.1. Tổng quan về gom cụm dữ liệu

(cid:132) Ví dụ

N P N

Y Y Y

N N N

N N P

N N N

Name Gender Fever Cough Test-1 Test-2 Test-3 Test-4 P Jack M P Mary F N Jim M

(cid:135) gender: symmetric (cid:135) Binary attributes còn lại: asymmetric (cid:135) Y, P (cid:198) 1, N (cid:198) 0

(cid:135) Binary variables/attributes

d

jack

mary

(

,

)

33.0

=

=

1

1 +

d

jack

jim

(

,

)

67.0

=

=

1

1

d

jim

mary

75.0

(

,

)

=

=

0 + + 1 + 1

2

1

+ 0 1 + 2 +

2 1 + 1 +

29

29

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Variables/attributes of mixed types

f

)

f

)

Σ

),( jid

=

( ij )

p ( d δ f 1 ij = p ( f Σ δ f 1 ij

=

(cid:135) Nếu xif hoặc xjf bị thiếu (missing) thì (cid:135) f (variable/attribute): binary (nominal)

(f) = 1 otherwise

dij

(f) = 0 if xif = xjf , or dij

(cid:135) f : interval-scaled (Minkowski, Manhattan, Euclidean)

1

if

=

zif

1

(cid:135) f : ordinal or ratio-scaled r M

f

30

(cid:131) tính ranks rif và (cid:131) zif trở thành interval-scaled

30

(cid:132) Tổng quát

5.1. Tổng quan về gom cụm dữ liệu

31

31

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Quá trình gom cụm dữ liệu

R. Xu, D. Wunsch II. Survey of Clustering Algorithms. IEEE Transactions on Neural Networks, 16(3), May 2005, pp. 645-678.

32

32

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Mỗi cụm nên có bao nhiêu phần tử?

(cid:135) Các phân tử nên được gom vào bao nhiêu cụm?

(cid:135) Bao nhiêu cụm nên được tạo ra?

33

Bao nhiêu cụm? 6 cụm?

33

2 cụm? 4 cụm?

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Các yêu cầu tiêu biểu về việc gom cụm dữ

liệu

(cid:132) Khả năng co giãn về tập dữ liệu (scalability)

(different types of attributes)

(cid:132) Khả năng xử lý nhiều kiểu thuộc tính khác nhau

ý (clusters with arbitrary shape)

(cid:132) Khả năng khám phá các cụm với hình dạng tùy

(cid:132) Tối thiểu hóa yêu cầu về tri thức miền trong việc xác định các thông số nhập (domain knowledge for input parameters)

34

34

(cid:132) Khả năng xử lý dữ liệu có nhiễu (noisy data)

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Các yêu cầu tiêu biểu về việc gom cụm dữ

liệu

(cid:132) Khả năng gom cụm tăng dần và độc lập với thứ tự của dữ liệu nhập (incremental clustering and insensitivity to the order of input records)

dimensionality)

(cid:132) Khả năng xử lý dữ liệu đa chiều (high

(constraint-based clustering)

(cid:132) Khả năng gom cụm dựa trên ràng buộc

usability)

35

35

(cid:132) Khả diễn và khả dụng (interpretability and

5.1. Tổng quan về gom cụm dữ liệu

(cid:132) Phân hoạch (partitioning): các phân hoạch được tạo ra và

đánh giá theo một tiêu chí nào đó.

(cid:132) Phân cấp (hierarchical): phân rã tập dữ liệu/đối tượng có thứ

tự phân cấp theo một tiêu chí nào đó.

(cid:132) Dựa trên mật độ (density-based): dựa trên connectivity and

density functions.

(cid:132) Dựa trên lưới (grid-based): dựa trên a multiple-level

granularity structure.

(cid:132) Dựa trên mô hình (model-based): một mô hình giả thuyết

được đưa ra cho mỗi cụm; sau đó hiệu chỉnh các thông số để mô hình phù hợp với cụm dữ liệu/đối tượng nhất.

(cid:132) …

36

36

(cid:135) Phân loại các phương pháp gom cụm dữ liệu tiêu biểu

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Phân loại các phương pháp gom cụm dữ

liệu tiêu biểu

37

37

Original Points Partitioning

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Phân loại các phương pháp gom cụm dữ

liệu tiêu biểu

p1

p1

p3

p4

p3

p4

p2

p2

p1 p2

p3

p4

38

38

Hierarchical Original Points

5.1. Tổng quan về gom cụm dữ liệu

(cid:132) Đánh giá ngoại (external validation)

(cid:135) Đánh giá kết quả gom cụm dựa vào cấu trúc được chỉ định trước

(cid:135) Các phương pháp đánh giá việc gom cụm dữ liệu

(cid:132) Đánh giá nội (internal validation)

(cid:135) Đánh giá kết quả gom cụm theo số lượng các vector của chính

cho tập dữ liệu

(cid:132) Đánh giá tương đối (relative validation)

(cid:135) Đánh giá kết quả gom cụm bằng việc so sánh các kết quả gom

tập dữ liệu (ma trận gần – proximity matrix)

(cid:198) Tiêu chí cho việc đánh giá và chọn kết quả gom cụm tối ưu

- Độ nén (compactness): các đối tượng trong cụm nên gần nhau.

- Độ phân tách (separation): các cụm nên xa nhau.

39

39

cụm khác ứng với các bộ trị thông số khác nhau

5.1. Tổng quan về gom cụm dữ liệu

(cid:135) Các phương pháp đánh giá việc gom cụm dữ

liệu

(cid:135) Độ đo: Rand statistic, Jaccard coefficient, Folkes and

Mallows index, …

(cid:132) Đánh giá ngoại (external validation)

(cid:135) Độ đo: Hubert’s Γ statistic, Silhouette index, Dunn’s

index, …

(cid:132) Đánh giá nội (internal validation)

40

40

(cid:132) Đánh giá tương đối (relative validation)

5.1. Tổng quan về gom cụm dữ liệu

(cid:132) Các độ đo đánh giá ngoại (external validation measures – contingency matrix)

41

J. Wu and et al. Adapting the Right Measures for K-means Clustering. KDD’09, Paris, France, July 2009.

41

(cid:135) Các phương pháp đánh giá việc gom cụm dữ liệu

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đánh giá kết quả gom cụm

Contingency matrix

-Partition P: kết quả gom cụm trên n đối tượng

42

42

-Partition C: các cụm thật sự của n đối tượng -nij = |Pi∩Cj|: số đối tượng trong Pi từ Cj

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đánh giá kết quả gom cụm

Kết quả gom cụm theo phương án I và II

-Partition P: kết quả gom cụm trên n (=66) đối tượng

43

43

-Partition C: các cụm thật sự của n (=66) đối tượng -nij = |Pi∩Cj|: số đối tượng trong Pi từ Cj

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:132) Entropy (trị nhỏ khi chất lượng gom cụm tốt)

log

)

Entropy

)( I

−=

i

j

∑ ∑ ( p i

(

)

log

)

Entropy

II

−=

i

j

∑ ∑ ( p i

p ij p i

p ij p i

p ij p i

p ij p i

)

log

−=

i

j

)

log

−=

i

j

n ∑ ∑ i ( n

n ij n i

n ∑ ∑ i ( n

n ij n i

(

log

log

log

)

+

−=

+

(

log

log

log

)

−=

+

+

19 66

19 66

0 19

n ij n i 0 19

(

log

log

log

)

+

+

(

log

log

log

)

+

+

(

log

log

log

)

+

+

(

log

log

log

)

+

+

3 19 8 23 12 24

n ij n i 3 19 8 23 12 24

4 19 3 23 12 24

4 19 3 23 12 24

12 19 12 23 0 24

12 19 12 23 0 24

11 23 12 24

11 23 12 24

7 19 0 23 12 24

7 19 0 23 12 24

12 19 12 23 0 24

12 19 12 23 0 24

23 66 24 66 ???

=

23 66 24 66 ???

=

(cid:135) Đánh giá kết quả gom cụm

44

44

(cid:198) Gom cụm theo phương án I hay phương án II tốt???

5.2. Gom cụm dữ liệu bằng phân hoạch

45

45

(cid:135) Giải thuật k-means

5.2. Gom cụm dữ liệu bằng phân hoạch

46

46

5.2. Gom cụm dữ liệu bằng phân hoạch

3

2.5

2

1.5

y

1

0.5

0

-2

-1.5

-1

-0.5

0.5

1

1.5

2

0 x

3

3

2.5

2.5

2

2

1.5

1.5

y

y

1

1

0.5

0.5

0

0

-2

-1.5

-1

-0.5

0.5

1

1.5

2

-2

-1.5

-1

-0.5

0.5

1

1.5

2

0 x

0 x

Original Points

47

47

Optimal Clustering Sub-optimal Clustering

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đặc điểm của giải thuật k-means?

48

48

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đặc điểm của giải thuật k-means

(cid:135) Cực trị cục bộ

(cid:132) Bài toán tối ưu hóa

cụm (i.e. đối tượng trung bình (mean)).

(cid:135) Không thể xác định được đối tượng trung bình???

(cid:135) Số cụm k nên là bao nhiêu?

(cid:132) Mỗi cụm được đặc trưng hóa bởi trung tâm của

(cid:135) n là số đối tượng, k là số cụm, t là số lần lặp

(cid:132) Độ phức tạp: O(nkt)

49

49

(cid:131) k << n, t << n

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đặc điểm của giải thuật k-means

(cid:132) Ảnh hưởng bởi nhiễu (các phần tử kì dị/biên)

dạng không lồi (nonconvex) hay các cụm có kích thước rất khác nhau

(cid:135) Kết quả gom cụm có dạng siêu cầu (hyperspherial)

(cid:135) Kích thước các cụm kết quả thường đồng đều (relatively

uniform sizes)

50

50

(cid:132) Không phù hợp cho việc khai phá ra các cụm có

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đặc điểm của giải thuật k-means

(cid:135) Entropy (trị nhỏ khi chất lượng gom cụm tốt)

(cid:132) Đánh giá kết quả gom cụm của giải thuật k- means với hai trị k1 (phương án I) và k2 (phương án II) khác nhau trên cùng tập dữ liệu mẫu cho trước

(cid:131) Entropy (I) = ???

(cid:131) Entropy (II) = ???

51

51

(cid:198) Gom cụm theo phương án I hay phương án II tốt?

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đặc điểm của giải thuật k-means

(cid:135) F-measure (trị lớn khi chất lượng gom cụm tốt)

(cid:132) Đánh giá kết quả gom cụm của giải thuật k-means với hai trị k1 (phương án I) và k2 (phương án II) khác nhau trên cùng tập dữ liệu mẫu cho trước

(cid:131) F-measure (I) = ???

(cid:131) F-measure (II) = ???

(cid:198) Gom cụm theo phương án I hay phương án II tốt?

(cid:198) Kết quả đánh giá trùng với kết quả đánh giá dựa trên độ đo

52

52

Entropy?

5.2. Gom cụm dữ liệu bằng phân hoạch

53

53

5.2. Gom cụm dữ liệu bằng phân hoạch

ΣpCp/OiOrandom

54

54

(cid:135) Tính “total cost S of swapping Oj và Orandom” =

5.2. Gom cụm dữ liệu bằng phân hoạch

ΣpCp/OiOrandom

= 0

Cp/OiOrandom

Cp/OiOrandom = d(p,Orandom) – d(p,Oi)

Cp/OiOrandom = d(p,Orandom) – d(p,Oj)

Cp/OiOrandom = d(p,Oi) – d(p,Oj)

55

55

(cid:135) Tính “total cost S of swapping Oj và Orandom” =

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đặc điểm của giải thuật PAM (k-medoids)

56

56

(cid:132) ???

5.2. Gom cụm dữ liệu bằng phân hoạch

(cid:135) Đặc điểm của giải thuật PAM (k-medoids)

(centroid).

(cid:135) Giảm thiểu sự ảnh hưởng của nhiễu (phần tử biên/kì

dị/cực trị).

(cid:135) Số cụm k cần được xác định trước.

(cid:132) Mỗi cụm được đại diện bởi phần tử chính giữa cụm

(cid:135) Giải thuật bị ảnh hưởng bởi kích thước tập dữ liệu.

57

57

(cid:132) Độ phức tạp cho mỗi vòng lặp O(k(n-k)2)

5.3. Gom cụm dữ liệu bằng phân cấp

(cid:135) Gom cụm dữ liệu bằng phân cấp

(hierarchical clustering): nhóm các đối tượng vào cây phân cấp của các cụm

(cid:132) Agglomerative: bottom-up (trộn các cụm)

(cid:198) Không yêu cầu thông số nhập k (số cụm)

(cid:198) Yêu cầu điều kiện dừng

(cid:198) Không thể quay lui ở mỗi bước trộn/phân

tách

58

58

(cid:132) Divisive: top-down (phân tách các cụm)

5.3. Gom cụm dữ liệu bằng phân cấp

(cid:135) An agglomerative hierarchical clustering method: AGNES

(Agglomerative NESting) (cid:198) bottom-up

(cid:135) A divisive hierarchical clustering method: DIANA (Divisive

ANAlysis) (cid:198) top-down

59

59

5.3. Gom cụm dữ liệu bằng phân cấp

(cid:135) An agglomerative hierarchical clustering method: AGNES

(Agglomerative NESting)

(cid:132) Khởi đầu, mỗi đối tượng tạo thành một cụm.

(cid:132) Các cụm sau đó được trộn lại theo một tiêu chí nào đó.

(cid:135) Cách tiếp cận single-linkage: cụm C1 và C2 được trộn lại nếu

(cid:132) Quá trình trộn các cụm được lặp lại đến khi tất cả các đối

tượng tạo thành một cụm duy nhất.

(cid:135) A divisive hierarchical clustering method: DIANA (Divisive

ANAlysis)

(cid:132) Khởi đầu, tất cả các đối tượng tạo thành một cụm duy nhất.

(cid:132) Một cụm được phân tách theo một tiêu chí nào đó đến khi

mỗi cụm chỉ có một đối tượng.

(cid:135) Khoảng cách lớn nhất giữa các đối tượng cận nhau nhất.

60

60

khoảng cách giữa 2 đối tượng từ C1 và C2 là ngắn nhất.

5.3. Gom cụm dữ liệu bằng phân cấp

4

4

3

3

2

2

1

1

1

2

3

4

1

2

3

4

Single-linkage Complete-linkage

61

61

Tiêu chí trộn các cụm: single-linkage và complete-linkage

5.3. Gom cụm dữ liệu bằng phân cấp

bởi cấu trúc cây (dendrogram).

62

62

(cid:135) Quá trình gom cụm bằng phân cấp được biểu diễn

5.3. Gom cụm dữ liệu bằng phân cấp

bởi cấu trúc cây (dendrogram).

3 cụm có độ tương tự kết hợp nhỏ nhất 0.5

(cid:135) Quá trình gom cụm bằng phân cấp được biểu diễn

63

63

0.5

5.3. Gom cụm dữ liệu bằng phân cấp

p, p’: các đối tượng

|p-p’|: khoảng cách giữa p và p’

64

mi, mj: đối tượng trung bình của Ci, Cj, tương ứng ni, nj: số lượng đối tượng của Ci, Cj, tương ứng

64

(cid:135) Các độ đo dùng đo khoảng cách giữa các cụm Ci và Cj

5.3. Gom cụm dữ liệu bằng phân cấp

(cid:135) Một số giải thuật gom cụm dữ liệu bằng

phân cấp

Clustering using Hierarchies): phân hoạch các đối tượng dùng cấu trúc cây theo độ co giãn của phân giải (scale of resolution)

(cid:132) BIRCH (Balanced Iterative Reducing and

dành cho các thuộc tính rời rạc (categorical/discrete attributes), trộn các cụm dựa vào sự kết nối lẫn nhau giữa các cụm

(cid:132) ROCK (Robust Clustering using linKs): gom cụm

tự giữa các cặp cụm

65

65

(cid:132) Chameleon: mô hình động để xác định sự tương

5.3. Gom cụm dữ liệu bằng phân cấp

(cid:135) Một số vấn đề với gom cụm dữ liệu bằng

phân cấp

(cid:132) Chọn điểm trộn/phân tách phù hợp

(cid:135) Mỗi quyết định trộn/phân tách yêu cầu kiểm tra/đánh

giá nhiều đối tượng/cụm.

(cid:198) Tích hợp gom cụm dữ liệu bằng phân cấp với

các kỹ thuật gom cụm khác

(cid:198) Gom cụm nhiều giai đoạn (multiple-phase clustering)

66

66

(cid:132) Khả năng co giãn (scalability)

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) Gom cụm dữ liệu dựa trên mật độ

gồm các đối tượng.

(cid:135) Các đối tượng trong vùng thưa hơn được xem là nhiễu.

(cid:132) Mỗi cụm là một vùng dày đặc (dense region)

(cid:135) Giải thuật

(cid:132) Mỗi cụm có dạng tùy ý.

Applications with Noise)

(cid:132) DBSCAN (Density-Based Spatial Clustering of

Clustering Structure)

(cid:132) OPTICS (Ordering Points To Identify the

67

67

(cid:132) DENCLUE (DENsity-based CLUstEring)

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) DBSCAN (Density-Based Spatial Clustering

of Applications with Noise)

(cid:135) OPTICS (Ordering Points To Identify the

Clustering Structure)

(cid:132) Phân tích các điểm kết nối nhau dựa vào mật độ

gom cụm dựa vào mật độ của tập dữ liệu

(cid:135) DENCLUE (DENsity-based CLUstEring)

(cid:132) Tạo ra thứ tự các điểm dữ liệu tùy vào cấu trúc

68

68

(cid:132) Gom cụm dựa vào các hàm phân bố mật độ

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) Các khái niệm dùng trong gom cụm dữ liệu

dựa trên mật độ

tượng, gọi là ε-neighborhood.

(cid:132) ε: bán kính của vùng láng giềng của một đối

trong ε-neighborhood của một đối tượng.

(cid:135) Nếu đối tượng có ε-neighborhood với MinPts thì đối tượng này được gọi là đối tượng lõi (core object).

(cid:132) MinPts: số lượng đối tượng ít nhất được yêu cầu

εε

εε

p: core object (MinPts = 3) q: không là core object

p

q

69

69

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) Các khái niệm dùng trong gom cụm dữ liệu

dựa trên mật độ

(cid:132) Directly density-reachable (khả năng đạt được trực tiếp): q có thể đạt được trực tiếp từ p nếu q trong vùng láng giềng ε-neighborhood của p và p phải là core object.

εε

εε

p: directly density-reachable đối với q? q: directly density-reachable đối với p?

p

q

p: directly density-reachable đối với q? X q: directly density-reachable đối với p? √

70

70

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) Các khái niệm dùng trong gom cụm dữ liệu

dựa trên mật độ

(cid:135) Cho trước tập đối tượng D, ε và MinPts

(cid:132) Density-reachable (khả năng đạt được):

(cid:135) q density-reachable từ p nếu ∃ chuỗi các đối tượng p1, ..., pn ∈ D với p1 = p và pn = q sao cho pi+1 directly density-reachable từ pi theo các thông số ε và MinPts, 1 ≤ i ≤ n.

(cid:135) Bao đóng truyền (transitive closure) của directly density-

reachable

(cid:135) Quan hệ bất đối xứng (asymmetric relation)

q

p2

p

MinPts = 5

71

71

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) Các khái niệm dùng trong gom cụm dữ liệu

dựa trên mật độ

(cid:135) Cho trước tập các đối tượng D, ε và MinPts

(cid:135) p, q ∈ D

(cid:132) Density-connected (nối kết dựa trên mật độ):

(cid:135) q density-connected với p nếu ∃ o ∈ D sao cho cả q và p đều density-reachable từ o theo các thông số ε và MinPts.

(cid:135) Quan hệ đối xứng

p

p

q

o

q

o

72

72

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) Các khái niệm dùng trong gom cụm dữ liệu

dựa trên mật độ

MinPts = 3

73

73

5.4. Gom cụm dữ liệu dựa trên mật độ

Border Outlier

gom cụm dữ liệu dựa trên mật độ

(cid:132) Cụm dựa trên mật độ (density

based cluster): tập tất cả các đối tượng được nối kết với nhau dựa trên mật độ.

(cid:135) Đối tượng thuộc về cụm có thể là

(cid:135) Các khái niệm dùng trong

core object.

(cid:131) Nếu đối tượng đó không là core object thì gọi là đối tượng ranh giới (border object).

ε= 1cm

(cid:135) Đối tượng không thuộc về cụm

Core

MinPts = 5

74

74

nào được xem là nhiễu (noise/outlier).

5.4. Gom cụm dữ liệu dựa trên mật độ

(cid:135) DBSCAN (Density-Based Spatial Clustering of

Applications with Noise)

(cid:132) Input: tập đối tượng D, ε, MinPts

(cid:132) Output: density-based clusters (và noise/outliers)

(cid:135) 1. Xác định ε–neighborhood của mỗi đối tượng p ∈ D.

(cid:135) 2. If p là core object, tạo được một cluster.

(cid:135) 3. Từ bất kì core object p, tìm tất cả các đối tượng

(cid:132) Giải thuật

density-reachable và đưa các đối tượng này (hoặc các cluster) vào cùng cluster ứng với p.

(cid:131) 3.1. Các cluster đạt được (density-reachable cluster) có thể

được trộn lại với nhau.

75

75

(cid:131) 3.2. Dừng khi không có đối tượng mới nào được thêm vào.

5.4. Gom cụm dữ liệu dựa trên mật độ

ε

ε

ε

C1

76

C1

MinPts = 4

76

5.4. Gom cụm dữ liệu dựa trên mật độ

Applications with Noise)

(cid:132) Đặc điểm ???

(cid:135) Các cụm có dạng và kích thước khác nhau.

(cid:131) Không có giả định về phân bố của các đối tượng dữ liệu

(cid:131) Không yêu cầu về số cụm

(cid:131) Không phụ thuộc vào cách khởi động (initialization)

(cid:135) Xử lý nhiễu (noise) và các phần tử biên (outliers)

(cid:135) Yêu cầu trị cho thông số nhập

(cid:131) Yêu cầu định nghĩa của mật độ (density)

(cid:131) ε và MinPts

(cid:135) Độ phức tạp

(cid:131) O(nlogn) (cid:198) O(n2)

77

77

(cid:135) DBSCAN (Density-Based Spatial Clustering of

5.5. Gom cụm dữ liệu dựa trên mô hình

nào đó

(cid:132) Giả định về quá trình tạo dữ liệu

(cid:135) Dữ liệu được tạo ra với nhiều sự phân bố xác suất khác nhau.

(cid:135) Tối ưu hóa sự phù hợp giữa dữ liệu và mô hình toán

(cid:132) Tiếp cận thống kê

(cid:135) Mở rộng của giải thuật gom cụm dựa trên phân hoạch k-means:

(cid:135) Các phương pháp

(cid:132) Tiếp cận học máy: gom cụm ý niệm (conceptual clustering)

(cid:132) Tiếp cận mạng neural: Self-Organizing Feature Map (SOM)

78

78

Expectation-Maximization (EM)

5.5. Gom cụm dữ liệu dựa trên mô hình

(cid:132) Giải thuật tinh chỉnh lặp để gán các đối tượng vào các cụm

(bước kỳ vọng) và ước lượng trị thông số (bước cực đại hoá).

(cid:135) Gom cụm Expectation-Maximization (EM)

(cid:132) Tạo ra cách phân lớp các đối tượng chưa được gán nhãn dựa

vào các mô tả đặc trưng cho mỗi nhóm đối tượng ứng với mỗi khái niệm (concept).

(cid:135) Gom cụm ý niệm (conceptual clustering)

(cid:132) Biểu diễn mỗi cụm là một ví dụ tiêu biểu (exemplar).

(cid:132) Exemplar đóng vai trò của một prototype của cụm.

(cid:132) Các đối tượng mới được phân bố vào một cụm nếu tương tự với exemplar của cụm đó nhất dựa trên độ đo khoảng cách.

79

79

(cid:135) Gom cụm với mạng neural

5.5. Gom cụm dữ liệu dựa trên mô hình

80

80

5.5. Gom cụm dữ liệu dựa trên mô hình

(cid:135) Giải thuật Expectation-Maximization (EM)

trung tâm (mean) của cụm đó nhất

(cid:135) Dựa vào trọng số (weight) của đối tượng đối với mỗi cụm

(cid:132) Gán một đối tượng vào một cụm nếu tương tự

(cid:135) Không có ranh giới giữa các cụm

(cid:135) Trung tâm của mỗi cụm được tính dựa vào các độ đo có

trọng số (weighted measures).

(cid:131) Xác suất thành viên (probability of membership)

81

81

(cid:132) Hội tụ nhanh nhưng có thể tối ưu cục bộ

5.5. Gom cụm dữ liệu dựa trên mô hình

(cid:135) Giải thuật Expectation-Maximization (EM)

(cid:132) Input: tập n đối tượng, K (số cụm)

(cid:132) Output: trị tối ưu cho các thông số của mô hình

(cid:135) 1. Khởi trị

(cid:132) Giải thuật:

(cid:131) 1.1. Chọn ngẫu nhiên K đối tượng làm trung tâm của K cụm

(cid:135) 2. Lặp tinh chỉnh các thông số (cụm):

(cid:131) 1.2. Ước lượng trị ban đầu cho các thông số (nếu cần)

(cid:131) 2.1. Bước kỳ vọng (expectation step): gán mỗi đối tượng xi

đến cụm Ck với xác suất P(xi ∈ Ck) với k=1..K

(cid:131) 2.2. Bước cực đại hóa (maximization step): ước lượng trị các

82

thông số

82

(cid:131) 2.3. Dừng khi thỏa điều kiện định trước.

5.5. Gom cụm dữ liệu dựa trên mô hình

(cid:132) Giải thuật:

(cid:135) 1. Khởi trị

(cid:135) 2. Lặp tinh chỉnh các thông số (cụm):

(cid:131) 2.1. Bước kỳ vọng (expectation step): gán mỗi đối tượng xi đến

cụm Ck với xác suất P(xi ∈ Ck)

(cid:131) 2.2. Bước cực đại hóa (maximization step): ước lượng trị các

thông số

83

(mk là trung tâm của cụm Ck, j = 1..K, k = 1..K)

83

(cid:135) Giải thuật Expectation-Maximization (EM)

5.6. Các phương pháp gom cụm dữ liệu khác

3500

(cid:135) Gom cụm cứng (hard clustering)

Lorries

3000

2500

(cid:132) Mỗi đối tượng chỉ thuộc về một

Sports cars

i

2000

] g k [ t h g e W

1500

Medium market cars

(cid:132) Mức thành viên (degree of

1000

cụm.

500

100

150

250

300

200 Top speed [km/h]

(cid:132) Ranh giới (boundary) giữa các

membership) của mỗi đối tượng với một cụm hoặc là 0 hoặc là 1.

(cid:135) Gom cụm mờ (fuzzy clustering)

(cid:132) Mỗi đối tượng thuộc về nhiều hơn một cụm với mức thành viên nào đó từ 0 đến 1.

(cid:132) Ranh giới giữa các cụm không rõ

cụm rõ ràng.

84

84

ràng (mờ - vague/fuzzy).

5.7. Tóm tắt

(cid:135) Gom cụm nhóm các đối tượng vào các cụm dựa

trên sự tương tự giữa các đối tượng.

(cid:135) Độ đo đo sự tương tự tùy thuộc vào kiểu dữ

liệu/đối tượng cụ thể.

(cid:135) Các giải thuật gom cụm được phân loại thành: nhóm phân hoạch, nhóm phân cấp, nhóm dựa trên mật độ, nhóm dựa trên lưới, nhóm dựa trên mô hình, …

85

85

5.7. Tóm tắt

R. Xu, D. Wunsch II. Survey of Clustering Algorithms. IEEE Transactions on Neural Networks, 16(3), May 2005, pp. 645-678.

86

86

HỏiHỏi & & ĐĐápáp ……

87

87

ChChươươngng 5: 5: GomGom cụmcụm dữdữ liệuliệu

Phần 2

88

88

Nội dung

(cid:135) 5.6. Các phương pháp gom cụm dữ liệu

khác

(cid:135) [9], part 24.4, pp. 514-516

(cid:132) 5.6.1. Fuzzy c-Means Clustering

(cid:135) [9], part 21.3.3, pp. 433-436

(cid:198) Tóm tắt phần 2

89

89

(cid:132) 5.6.2. Self-Organizing Map (SOM)

Fuzzy c-means clustering

(cid:135) The most popular fuzzy clustering algorithm

avoiding local minima

(cid:135) But still converge to local minima of the squared error

criterion

(cid:132) Better than the hard K-means algorithm at

(cid:135) An iterative algorithm

(cid:132) Problem with the design of membership functions

2

c

n

m xu ij

j

c i

(cid:132) find cluster centers (centroids) that minimize a dissimilarity (or distance) (objective) function

∑∑

i

j

1 =

1 =

90

90

Fuzzy c-means clustering

(cid:132) n (columns): the number of clustered objects where n > 1

(cid:132) c (rows): the number of resulting clusters where 2 ≤ c < n

(cid:132) uij: degree of membership of the jth object xj belonging to

the ith cluster ci where i ∈ {1, …, c} and j ∈ {1, …, n}

(cid:135) Membership matrix = a real c x n matrix

(cid:135) Hard c-means clustering: uij ∈ {0, 1}

c

n

(cid:132) Probability:

u

1

j

,...,1{

n };

0

i

,...,1{

c }

u

∈∀=

∈∀>

ij

ij

i

j

1 =

1 =

c

c

u

u

0

or

0

c

j

,...,1{

n }

>

<

∈∀≤

(cid:132) Possibility:

ij

ij

i

i

1 =

1 =

91

91

(cid:135) Fuzzy c-means clustering: uij ∈ [0, 1]

Fuzzy c-means clustering

2

2

c

c

n

=

cp − i

m xu ij

j

c i

∑∑

∑ ∑

(cid:135) Hard c-means clustering: objective function

i

i

j

1 =

1 =

1 =

Cp ∈

i

minimize minimize

2

c

n

m xu ij

j

c i

(cid:135) Fuzzy c-means clustering: objective function

minimize minimize

∑∑

i

j

1 =

1 =

(cid:132) ||.||2: squared (Euclidean) distance (dissimilarity)

(cid:132) m: weighting exponent where 1 ≤ m < +∞

(cid:135) Control the relative weights placed on each of the distances

(cid:135) Popular chosen value: m=2 || range: 1.5 ≤ m ≤ 3.0 ([1, 30])

(cid:135) m (cid:198) 1 : increasingly hard || m (cid:198) +∞ : fuzziest

92

92

Fuzzy c-means clustering

2

n

c

(24.16)

m xu ij

j

c i

(cid:135) Fuzzy c-means clustering: objective function

minimize minimize

∑∑

i

j

1 =

1 =

2

(cid:132)

x − j

c i

2

(cid:132)

m xu ij

j

c i

c

2

(cid:132)

m xu ij

j

c i

: squared (Euclidean) distance from object xj to the center ci of cluster i : squared error incurred by representing xj by the center ci weighted by (a power of) the membership of xj in cluster i : sum of squared errors due to xj’s partial replacement by all centers of c clusters

2

i 1 = c

n

(cid:132)

m xu ij

j

c i

∑∑

i

j

1 =

1 =

: overall weighted sum of generalized errors due to replacing all objects x by all centers of c clusters

93

93

Fuzzy c-means clustering

(cid:135) Each degree of membership uuijij of object xj belonging to cluster i is

c

n

(24.15)

u

u

1

j

,...,1{

n };

0

i

,...,1{

c }

∈∀=

∈∀>

ij

ij

i

j

1 =

1 =

randomly initialized in [0, 1] randomly initialized constraints: [0, 1] with the following constraints

(cid:135) Each degree of membership uuijij of object xj belonging to cluster i is 1

(24.18)

u

=

ij

/(2

m

)1 −

c

x

j

c i

c

x

k

1 =

k

j

   

    updated as follows:

(cid:135) Each center ccii of cluster i is updated

n

m xu ij

j

(24.17)

j

c i

1 n

u

m ij

∑ == ∑

94

j

1 =

94

updated as follows: then updated

Fuzzy c-means clustering

Fuzzy c-means algorithm (Bezdek, 1973)

95

[9], pp. 516

95

Fuzzy c-means clustering

(cid:135) Several widely-used termination criteria

number of iterations (cid:132) The number of iterations

objective function and its previous value is small enough.

Objective function (cid:135)(cid:135) Objective function

(cid:132) The difference between the updated value of

membership uuijij and their previous values is small enough.

Membership matrix (cid:135)(cid:135) Membership matrix

(cid:132) The difference between all updated degrees of

their previous values is small enough.

Centers (cid:135)(cid:135) Centers

96

96

(cid:132) The difference between all updated centers ccii and

Fuzzy c-means clustering

(cid:132) By iteratively updating the cluster centers and the

membership grades for each data point, FCM iteratively moves the cluster centers to the ”right” location within a data set.

(cid:135) The nearer the cluster centers, the higher the membership

(cid:135) Notes on fuzzy c-means clustering

(cid:135) Possible with local minima

(cid:132) Parameter values determined in advance (experimental)

(cid:135) c: the number of clusters

(cid:135) m: weighting exponent

(cid:132) Dissimilarity/Similarity measures for particular applications

(cid:132) Cluster shape

(cid:132) Data type

(cid:132) Noise

97

97

grades

Fuzzy c-means clustering

clustering

(cid:132) The number of training

objects: 16

(cid:132) The number of clusters: 2

(cid:132) Weighting exponent: 2

(cid:132) Threshold t: 0.01

Data Set

Two resulting clusters

98

J. C. Bezdek, R. Ehrlich, W. Full, "FCM: the fuzzy c-means clustering algorithm", Computers & Geosciences 10 (2-3) (1984) 191-203.

98

(cid:135) Example on fuzzy c-means

Self-Organizing Map (SOM)

(cid:135) Unsupervised neural network model

(cid:135) Proposed by T. Kohonen in the early 1980s

(cid:132) Data clustering

Organizing Map,” Proceedings of the IEEE, vol. 78, no. 9, pp. 1464-1480, September 1990.

(cid:132) Further reading: Teuvo Kohonen, “The Self-

(cid:132) Visualize the clusters or similarities between patterns

(cid:132) Dimensionality reduction

99

99

(cid:135) Specially good at providing visualization of high- dimensional data in a fewer dimensional space (typically 1D, 2D, 3D)

Self-Organizing Map (SOM)

100

100

Self-Organizing Map (SOM)

neural network (cid:135) Kohonen (1982) developed a neural network organization whose key idea is

(low) twotwo--

based on selfself--organization to represent sensory signals as (low) images or maps. dimensional images or maps dimensional

(cid:135) Kohonen’s networks, often called Kohonen’s

feature maps or selforganizing maps, organized neighborhoods of neurons such the model are similar inputs into the model are that similar inputs into topologically close. topologically close

(cid:135) The SOM processes the input patterns and

learns to cluster or segment through adjustment of

the data cluster or segment the data weights. adjustment of weights

101

101

Self-Organizing Map (SOM)

(cid:135) SOM architecture

(cid:132) A typical SOM network has two layers of nodes, an input layer input layer and output layer (sometimes called the output layer Kohonen layer).

(cid:132) Each node in the input layer is

fully connected to nodes in the low fully connected (one, two, three-) dimensional output layer.

Weights w Weights w

Input x Input x

(cid:132) The number of nodes in the number nn of nodes in the input layer is corresponding to the input layer number of input variables (i.e. the length/dimensionality of an input vector xx).

(cid:132) The number

output nodes number mm ofof output nodes

(cid:135) This number of neurons in the

[9], part 21.3.3, pp. 434.

rectangular array should be large enough to allow a sufficient number of clusters to form.

102

102

depends on the specific problem and is determined by the user.

Self-Organizing Map (SOM)

(cid:135) SOM architecture

(cid:132) A winning neuron kk: the neuron corresponding to weight wwkk (an nnx1 vector) that has the minimum distance to the input xx randomly selected in a training step

Fig. 21.5. A 5x5 Kohonen Layer with two neighborhood sizes at radius of 1 and 2

[9], part 21.3.3, pp. 435.

around a winning neuron kk: the collection of all nodes with the same radial distance

103

103

(cid:132) The neighborhood NNkk

Self-Organizing Map (SOM)

(cid:135) Self-organizing (competitive, unsupervised)

learning

their activities by means of mutual lateral interactions, and develop adaptively into specific detectors of different signal patterns.

(cid:132) Neighboring cells in a neural network compete in

(cid:132) The cells become specifically tuned to various input signal patterns or classes of patterns through the learning process.

gives the active response to the current input.

(cid:135)(cid:135) winner

winner--take

all strategy take--all strategy

104

104

(cid:132) Only one cell or local group of cells at a time

Self-Organizing Map (SOM)

1. initialize the weights ww to small random values and the neighborhood size large enough to cover half the nodes

2. select an input pattern xx randomly from the training set

and present it to the network

3. find the best matching or “winning” node kk whose weight vector wwkk is closest to the current input vector xx using the vector distance

4. update the weights of nodes in the neighborhood of kk

using the Kohonen learning rule

5. decrease the learning rate slightly

6. repeat steps 1-5 with a number of cycles and then decrease the size of the neighborhood. Repeat until weights are stabilized.

105

105

(cid:135) SOM learning procedure

Self-Organizing Map (SOM)

(cid:135) The vector distance where ||.|| represents the Euclidean

distance

Nin

is

if

)

(

i

+

=

k

Nin

)10(

not

i

=

(cid:135) The Kohonen learning rule new w α i new w i

old w i old w i

k

wxh ik i if is where α is the learning rate between 0 and 1 and hik is a

neighborhood kernel centered on the winning node and can take Gaussian form as

where ri and rk are positions of neurons i and k on the SOM

106

grid and σ is the neighborhood radius.

106

Self-Organizing Map (SOM)

(cid:135) As the number of cycles of training (epochs)

increases, better formation of the clusters can be found.

(cid:135) Eventually, the topological map is fine-tuned

with finer distinctions of clusters within areas of the map.

(cid:135) After the network has been trained, it can be used as a visualization tool to examine the data structure.

(cid:135) Once clusters are identified, neurons in the

map can be labeled to indicate their meaning. (cid:132) Assignment of meaning usually requires knowledge

107

on the data and specific application area.

107

Self-Organizing Map (SOM)

(cid:135) Notes on SOM

(cid:132) Dimensionality (1D, 2D, 3D, ?) of the output layer

the output layer)

(cid:135) The number of clusters

(cid:132) The size of the map (the number of neurons of

preprocessing

(cid:132) Not restricted to any particular form of

(cid:132) Capable of noise handling

(cid:135) Extended versions for categorical data

108

108

(cid:132) Originally proposed for numeric data

Self-Organizing Map (SOM)

(cid:135) SOM’s Applications

(cid:132) market segmentation,

(cid:132) customer targeting,

(cid:132) business failure categorization,

(cid:132) credit evaluation,

(cid:132) document retrieval,

(cid:132) group technology

(cid:132) …

109

109

Self-Organizing Map (SOM)

Source: Teuvo Kohonen, “The

Self-Organizing Map,” Proceedings

of the IEEE, vol. 78, no. 9, pp.

1464-1480, September 1990.

110

110

Self-Organizing Map (SOM)

111

111

Self-Organizing Map (SOM)

Source: Teuvo Kohonen, “The

Self-Organizing Map,” Proceedings

of the IEEE, vol. 78, no. 9, pp.

112

1464-1480, September 1990.

112

Self-Organizing Map (SOM)

(cid:135) Example on SOM

(cid:132) The number of training vectors: 4

(cid:132) The length of each training vector/weight: 3

(cid:132) The number of clusters (output neurons): 2

(cid:132) Neighborhood size: 0

(cid:135) η(t) = 0.6; 1 <= t <= 4

(cid:135) η(t) = 0.5; 5 <= t <= 8

(cid:135) η(t) = 0.5; 9 <= t <= 12, etc.

Where t is iteration

113

113

(cid:132) Learning rate:

Self-Organizing Map (SOM)

Dissimilar

ity

Matrix

X

X

X

X

1

2

3

4

(cid:132) X1 = (1, 1, 0)

(cid:132) X2 = (0, 0, 0)

X X

1 2

0

0 2

(cid:132) X3 = (1, 0, 0)

(cid:132) X4 = (0, 0, 1)

X X

3 4

1 1

1 3

0 2

0

(cid:135) Training vectors:

(cid:135) Initial weights:

??

(cid:132) Neuron #1: w1 = (0.2, 0.6, 0.5)

(cid:132) Neuron #2: w2 = (0.8, 0.4, 0.7)

Network Architecture Network Architecture

??

Do X1 and X3 belong to one cluster?

114

Input units:

Do X2 and X4 belong to the other?

114

1 2 Output units:

Tóm tắt phần 2

(cid:135) Fuzzy c-means clustering

(cid:132) A fuzzy version of k-means clustering

(cid:135) Self-Organizing Map (SOM)

(cid:132) A neural network-based clustering and

dimensionality reduction technique

(cid:132) Support for visualization

115

115

HỏiHỏi & & ĐĐápáp ……

116

116