Chương 5: Gom cụm dữ liệuscholar.vimaru.edu.vn/sites/default/files/thinhnv/files/... ·...

116
1 Ch Ch ươ ươ ng ng 5: 5: Gom Gom cm cm ddliu liu Hck1 – 2011-2012 Khoa Khoa Khoa Khoa Hc Hc & & KKThut Thut Máy Máy Tính Tính Tr Tr ư ư ng ng Đ Đ i i Hc Hc Bách Bách Khoa Khoa Tp Tp . . HHChí Chí Minh Minh Cao Cao Hc Hc Ngành Ngành Khoa Khoa Hc Hc Máy Máy Tính Tính Giáo Giáo trình trình đ đ in in ttBiên Biên son son bi bi : TS. : TS. ThThNgc Ngc Châu Châu ( ( [email protected] [email protected] ) )

Transcript of Chương 5: Gom cụm dữ liệuscholar.vimaru.edu.vn/sites/default/files/thinhnv/files/... ·...

1

1

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

Học kỳ 1 – 2011-2012

KhoaKhoa KhoaKhoa HọcHọc & & KỹKỹ ThuậtThuật MáyMáy TínhTínhTrTrưườngờng ĐĐạiại HọcHọc BáchBách KhoaKhoa TpTp. . HồHồ ChíChí MinhMinh

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

GiáoGiáo trìnhtrì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

(([email protected]@cse.hcmut.edu.vn))

2

2

Tài liệu tham khảo[1] Jiawei Han, Micheline Kamber, “Data Mining: Concepts and Techniques”, Second Edition, Morgan Kaufmann Publishers, 2006.[2] David Hand, Heikki Mannila, Padhraic Smyth, “Principles of Data Mining”, MIT Press, 2001.[3] David L. Olson, Dursun Delen, “Advanced Data Mining Techniques”, Springer-Verlag, 2008.[4] Graham J. Williams, Simeon J. Simoff, “Data Mining: Theory, Methodology, Techniques, and Applications”, Springer-Verlag, 2006.[5] Hillol Kargupta, Jiawei Han, Philip S. Yu, Rajeev Motwani, and Vipin Kumar, “Next Generation of Data Mining”, Taylor & Francis Group, LLC, 2009.[6] Daniel T. Larose, “Data mining methods and models”, John Wiley & Sons, Inc, 2006.[7] Ian H.Witten, Eibe Frank, “Data mining : practical machine learning tools and techniques”, Second Edition, Elsevier Inc, 2005. [8] Florent Messeglia, Pascal Poncelet & Maguelonne Teisseire, “Successes and new directions in data mining”, IGI Global, 2008.[9] Oded Maimon, Lior Rokach, “Data Mining and Knowledge Discovery Handbook”, Second Edition, Springer Science + BusinessMedia, LLC 2005, 2010.

3

3

Nội dungChương 1: Tổng quan về khai phá dữ liệuChương 2: Các vấn đề tiền xử lý dữ liệuChương 3: Hồi qui dữ liệuChương 4: Phân loại dữ liệuChương 5: Gom cụm dữ liệuChương 6: Luật kết hợpChương 7: Khai phá dữ liệu và công nghệ cơ sởdữ liệuChương 8: Ứng dụng khai phá dữ liệuChương 9: Các đề tài nghiên cứu trong khai phádữ liệuChương 10: Ôn tập

4

4

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

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

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

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

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

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

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

5.7. Tóm tắt

5

5

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

Phần 1

6

6

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?

7

7

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

Nhận diện phần tử biên (outliers) và giảmthiểu nhiễu (noisy data)

Giải pháp giảm thiểu nhiễuPhân tích cụm (cluster analysis)

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 3

15

15

5.0. Tình huống 4

Gom cụm ảnh

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

16

16

5.0. Tình huống …

Gom cụm

17

17

5.0. Tình huống …

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

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

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

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

Xử lý ảnh (image processing)

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

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

18

18

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

Gom cụmQuá trình gom nhóm/cụm dữ liệu/đối tượng vào cáclớp/cụm

Các đối tượng trong cùng một cụm tương tự với nhau hơnso với đối tượng ở các cụm khác.

Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 Obj1 tương tự Obj2 hơn so với tương tự Obj3.

Gom cụm

19

19

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

Gom cụmQuá trình gom nhóm/cụm dữ liệu/đối tượng vào cáclớp/cụm

Các đối tượng trong cùng một cụm tương tự với nhau hơnso với đối tượng ở các cụm khác.

Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 Obj1 tương tự Obj2 hơn so với tương tự Obj3.

Inter-cluster distances are maximized.

Intra-cluster distances are minimized.

20

20

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

Gom cụmQuá trình gom nhóm/cụm dữ liệu/đối tượng vào cáclớp/cụm

Các đối tượng trong cùng một cụm tương tự với nhau hơnso với đối tượng ở các cụm khác.

Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 Obj1 tương tự Obj2 hơn so với tương tự Obj3.

Inter-cluster distances are maximized.

Intra-cluster distances are minimized.

High intraHigh intra--cluster/class cluster/class similaritysimilarity

Low interLow inter--cluster/class cluster/class similaritysimilarity

21

21

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

Vấn đề kiểu dữ liệu/đối tượng được gom cụmMa trận dữ liệu (data matrix)

npx...nfx...n1x...............ipx...ifx...i1x...............1px...1fx...11x

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

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

22

22

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

Vấn đề kiểu dữ liệu/đối tượng được gom cụmMa trận sai biệt (dissimilarity matrix)

0...)2,()1,(:::

)2,3()

...ndnd

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

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

đố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.

23

23

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

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)

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

24

24

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

Vấn đề kiểu dữ liệu/đối tượng được gom cụmĐối tượng vector (vector objects)Đối tượng i và j được biểu diễn tương ứng bởi vector x và y.

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

x = (x1, …, xp)

y = (y1, …, yp)

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

25

25

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

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

Interval-scaled variables/attributes

Binary variables/attributes

Categorical variables/attributes

Ordinal variables/attributes

Ratio-scaled variables/attributes

Variables/attributes of mixed types

26

26

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

Interval-scaled variables/attributes

.)...211

nffff xx(xn m +++=

|)|...|||(|121 fnffffff mxmxmxns −++−+−=

f

fifif s

mx z

−=

Mean absolute deviation

Mean

Z-score measurement

27

27

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

Độ đo khoảng cách Minkowski

Độ đo khoảng cách Manhattan

Độ đo khoảng cách Euclidean

q q

pp

qq

jxixjxixjxixjid )||...|||(|),(2211

−++−+−=

||...||||),(2211 pp jxixjxixjxixjid −++−+−=

)||...|||(|),( 22

22

2

11 pp jxixjxixjxixjid −++−+−=

28

28

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

Binary variables/attributes

dcbacb jid+++

+=),(

pdbcasumdcdcbaba

sum

++++

01

01

cbacb jid++

+=),(

Object i

Object j

(= a + b + c + d)

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

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

29

29

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

Binary variables/attributesVí dụ

gender: symmetric Binary attributes còn lại: asymmetricY, P 1, N 0

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

75.0211

21),(

67.0111

11),(

33.0102

10),(

=++

+=

=++

+=

=++

+=

maryjimd

jimjackd

maryjackd

30

30

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

Variables/attributes of mixed typesTổng quát

Nếu xif hoặc xjf bị thiếu (missing) thì

f (variable/attribute): binary (nominal)

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

(f) = 1 otherwise

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

f : ordinal or ratio-scaled

tính ranks rif và

zif trở thành interval-scaled

)(1

)()(1),(

fij

pf

fij

fij

pf d

jidδ

δ

=

=

ΣΣ

=

1

1

−=

f

if

Mrzif

31

31

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

32

32

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

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.

33

33

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

Mỗi cụm nên có bao nhiêu phần tử?

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

Bao nhiêu cụm nên được tạo ra?

Bao nhiêu cụm?

4 cụm?2 cụm?

6 cụm?

34

34

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

Các yêu cầu tiêu biểu về việc gom cụm dữliệu

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

Khả năng xử lý nhiều kiểu thuộc tính khác nhau(different types of attributes)

Khả năng khám phá các cụm với hình dạng tùyý (clusters with arbitrary shape)

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

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

35

35

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

Các yêu cầu tiêu biểu về việc gom cụm dữliệu

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)

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

Khả năng gom cụm dựa trên ràng buộc(constraint-based clustering)

Khả diễn và khả dụng (interpretability and usability)

36

36

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

Phân loại các phương pháp gom cụm dữ liệu tiêu biểuPhâ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 đó.

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 đó.

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

Dựa trên lưới (grid-based): dựa trên a multiple-level granularity structure.

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.

37

37

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

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

Original Points Partitioning

38

38

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

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

p4p1

p3

p2

p4p1 p2 p3

HierarchicalOriginal Points

p4p1

p3

p2

39

39

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

Các phương pháp đánh giá việc gom cụm dữ liệuĐánh giá ngoại (external validation)

Đánh giá kết quả gom cụm dựa vào cấu trúc được chỉ định trướccho tập dữ liệu

Đánh giá nội (internal validation)

Đánh giá kết quả gom cụm theo số lượng các vector của chínhtập dữ liệu (ma trận gần – proximity matrix)

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

Đánh giá kết quả gom cụm bằng việc so sánh các kết quả gomcụm khác ứng với các bộ trị thông số khác nhau

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.

40

40

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

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

Đánh giá ngoại (external validation)

Độ đo: Rand statistic, Jaccard coefficient, Folkes and Mallows index, …

Đánh giá nội (internal validation)

Độ đo: Hubert’s Γ statistic, Silhouette index, Dunn’s index, …

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

41

41

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

Các phương pháp đánh giá việc gom cụm dữ liệuCác độ đo đánh giá ngoại (external validation measures – contingency matrix)

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

42

42

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

Đánh giá kết quả gom cụm

Contingency matrix

-Partition P: kết quả gom cụm trên n đối tượng-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

43

43

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

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-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

Đánh giá kết quả gom cụm

44

44

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

Đánh giá kết quả gom cụmEntropy (trị nhỏ khi chất lượng gom cụm tốt)

???

)240log

240

2412log

2412

2412log

2412(

6624

)2312log

2312

233log

233

238log

238(

6623

)1912log

1912

194log

194

193log

193(

6619

)log(

)log()(

=

++−

++−

++−=

−=

−=

∑ ∑

∑ ∑

ii

ijj

i

iji

ii

ijj

i

iji

nn

nn

nn

pp

pp

pIEntropy

???

)240log

240

2412log

2412

2412log

2412(

6624

)2312log

2312

230log

230

2311log

2311(

6623

)1912log

1912

197log

197

190log

190(

6619

)log(

)log()(

=

++−

++−

++−=

−=

−=

∑ ∑

∑ ∑

ii

ijj

i

iji

ii

ijj

i

iji

nn

nn

nn

pp

pp

pIIEntropy

Gom cụm theo phương án I hay phương án II tốt???

45

45

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

Giải thuật k-means

46

46

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

47

47

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

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

xy

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Sub-optimal Clustering-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Optimal Clustering

Original Points

48

48

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

Đặc điểm của giải thuật k-means?

49

49

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

Đặc điểm của giải thuật k-meansBài toán tối ưu hóa

Cực trị cục bộ

Mỗi cụm được đặc trưng hóa bởi trung tâm củacụm (i.e. đối tượng trung bình (mean)).

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

Số cụm k nên là bao nhiêu?

Độ phức tạp: O(nkt) n là số đối tượng, k là số cụm, t là số lần lặp

k << n, t << n

50

50

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

Đặc điểm của giải thuật k-means

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

Không phù hợp cho việc khai phá ra các cụm códạng không lồi (nonconvex) hay các cụm có kíchthước rất khác nhau

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

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

51

51

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

Đặc điểm của giải thuật k-meansĐá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ệumẫu cho trước

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

Entropy (I) = ???

Entropy (II) = ???

Gom cụm theo phương án I hay phương án II tốt?

52

52

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

Đặc điểm của giải thuật k-means

Đá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

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

F-measure (I) = ???

F-measure (II) = ???

Gom cụm theo phương án I hay phương án II tốt?

Kết quả đánh giá trùng với kết quả đánh giá dựa trên độ đoEntropy?

53

53

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

54

54

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

Tính “total cost S of swapping Oj và Orandom” = ΣpCp/OiOrandom

55

55

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

Tính “total cost S of swapping Oj và Orandom” = ΣpCp/OiOrandom

Cp/OiOrandom= 0 Cp/OiOrandom

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

= d(p,Orandom) – d(p,Oj)

Cp/OiOrandom

= d(p,Oi) – d(p,Oj)

56

56

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

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

???

57

57

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

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

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

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

Số cụm k cần được xác định trước.

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

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

58

58

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

Gom cụm dữ liệu bằng phân cấp(hierarchical clustering): nhóm các đốitượng vào cây phân cấp của các cụm

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

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

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

Yêu cầu điều kiện dừng

Không thể quay lui ở mỗi bước trộn/phântách

59

59

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

An agglomerative hierarchical clustering method: AGNES (Agglomerative NESting) bottom-up

A divisive hierarchical clustering method: DIANA (Divisive ANAlysis) top-down

60

60

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

An agglomerative hierarchical clustering method: AGNES (Agglomerative NESting)

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

Các cụm sau đó được trộn lại theo một tiêu chí nào đó.Cách tiếp cận single-linkage: cụm C1 và C2 được trộn lại nếukhoảng cách giữa 2 đối tượng từ C1 và C2 là ngắn nhất.

Quá trình trộn các cụm được lặp lại đến khi tất cả các đốitượng tạo thành một cụm duy nhất.

A divisive hierarchical clustering method: DIANA (Divisive ANAlysis)

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

Một cụm được phân tách theo một tiêu chí nào đó đến khimỗi cụm chỉ có một đối tượng.

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

61

61

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

1 2 3 4

1

2

3

4

1 2 3 4

1

2

3

4

Single-linkage Complete-linkage

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

62

62

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

Quá trình gom cụm bằng phân cấp được biểu diễnbởi cấu trúc cây (dendrogram).

63

63

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

Quá trình gom cụm bằng phân cấp được biểu diễnbởi cấu trúc cây (dendrogram).

0.5

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

64

64

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

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

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

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

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

65

65

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

Một số giải thuật gom cụm dữ liệu bằngphân cấp

BIRCH (Balanced Iterative Reducing and 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ủaphân giải (scale of resolution)

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

Chameleon: mô hình động để xác định sự tươngtự giữa các cặp cụm

66

66

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

Một số vấn đề với gom cụm dữ liệu bằngphân cấp

Chọn điểm trộn/phân tách phù hợp

Khả năng co giãn (scalability)

Mỗi quyết định trộn/phân tách yêu cầu kiểm tra/đánhgiá nhiều đối tượng/cụm.

Tích hợp gom cụm dữ liệu bằng phân cấp vớicác kỹ thuật gom cụm khác

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

67

67

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

Gom cụm dữ liệu dựa trên mật độMỗi cụm là một vùng dày đặc (dense region) gồm các đối tượng.

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

Mỗi cụm có dạng tùy ý.

Giải thuậtDBSCAN (Density-Based Spatial Clustering of Applications with Noise)

OPTICS (Ordering Points To Identify the Clustering Structure)

DENCLUE (DENsity-based CLUstEring)

68

68

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

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

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

OPTICS (Ordering Points To Identify the Clustering Structure)

Tạo ra thứ tự các điểm dữ liệu tùy vào cấu trúcgom cụm dựa vào mật độ của tập dữ liệu

DENCLUE (DENsity-based CLUstEring)

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

69

69

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

Các khái niệm dùng trong gom cụm dữ liệudựa trên mật độε: bán kính của vùng láng giềng của một đối tượng, gọi là ε-neighborhood.

MinPts: số lượng đối tượng ít nhất được yêu cầu trong ε-neighborhood của một đối tượng.

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).

q pεεεε p: core object (MinPts = 3)

q: không là core object

70

70

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

Các khái niệm dùng trong gom cụm dữ liệudựa trên mật độ

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

q pεεεε

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

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

71

71

5.4. Gom cụm dữ liệu dựa trên mật độCác khái niệm dùng trong gom cụm dữ liệudựa trên mật độ

Density-reachable (khả năng đạt được): Cho trước tập đối tượng D, ε và MinPts

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.

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

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

pp2

MinPts = 5

72

72

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

Các khái niệm dùng trong gom cụm dữ liệudựa trên mật độ

Density-connected (nối kết dựa trên mật độ):Cho trước tập các đối tượng D, ε và MinPts

p, q ∈ D

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.

Quan hệ đối xứngp

qo

p q

o

73

73

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

Các khái niệm dùng trong gom cụm dữ liệudựa trên mật độ

MinPts = 3

74

74

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

Các khái niệm dùng tronggom cụm dữ liệu dựa trên mậtđộ

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

Đối tượng thuộc về cụm có thể làcore object.

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

Đối tượng không thuộc về cụmnào được xem là nhiễu(noise/outlier).

Core

Border Outlier

ε = 1cm

MinPts = 5

75

75

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

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

Input: tập đối tượng D, ε, MinPts

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

Giải thuật1. Xác định ε–neighborhood của mỗi đối tượng p ∈ D.

2. If p là core object, tạo được một cluster.

3. Từ bất kì core object p, tìm tất cả các đối tượngdensity-reachable và đưa các đối tượng này (hoặc cáccluster) vào cùng cluster ứng với p.

3.1. Các cluster đạt được (density-reachable cluster) có thểđược trộn lại với nhau.

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

76

76

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

MinPts = 4

εC1

ε

ε

C1

77

77

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

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)Đặc điểm ???

Các cụm có dạng và kích thước khác nhau.Không có giả định về phân bố của các đối tượng dữ liệu

Không yêu cầu về số cụm

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

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

Yêu cầu trị cho thông số nhậpYêu cầu định nghĩa của mật độ (density)

ε và MinPts

Độ phức tạpO(nlogn) O(n2)

78

78

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

Tối ưu hóa sự phù hợp giữa dữ liệu và mô hình toánnào đó

Giả định về quá trình tạo dữ liệu

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

Các phương pháp

Tiếp cận thống kê

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

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

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

79

79

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

Gom cụm Expectation-Maximization (EM)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á).

Gom cụm ý niệm (conceptual clustering)Tạo ra cách phân lớp các đối tượng chưa được gán nhãn dựavào các mô tả đặc trưng cho mỗi nhóm đối tượng ứng với mỗikhái niệm (concept).

Gom cụm với mạng neuralBiểu diễn mỗi cụm là một ví dụ tiêu biểu (exemplar).

Exemplar đóng vai trò của một prototype của cụm.

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.

80

80

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

81

81

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

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

Gán một đối tượng vào một cụm nếu tương tựtrung tâm (mean) của cụm đó nhất

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

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

Không có ranh giới giữa các cụm

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).

Hội tụ nhanh nhưng có thể tối ưu cục bộ

82

82

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

Giải thuật Expectation-Maximization (EM)Input: tập n đối tượng, K (số cụm)

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

Giải thuật:1. Khởi trị

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

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

2. Lặp tinh chỉnh các thông số (cụm):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

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

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

83

83

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

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

1. Khởi trị

2. Lặp tinh chỉnh các thông số (cụm):2.1. Bước kỳ vọng (expectation step): gán mỗi đối tượng xi đếncụm Ck với xác suất P(xi ∈ Ck)

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

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

84

84

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

Gom cụm cứng (hard clustering)

Mỗi đối tượng chỉ thuộc về mộtcụm.

Mức thành viên (degree of membership) của mỗi đối tượngvới một cụm hoặc là 0 hoặc là 1.

Ranh giới (boundary) giữa cáccụm rõ ràng.

Gom cụm mờ (fuzzy clustering)

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

Ranh giới giữa các cụm không rõràng (mờ - vague/fuzzy).

100 150 200 250 300500

1000

1500

2000

2500

3000

3500

Top speed [km/h]

Wei

ght [

kg]

Sports cars

Medium market cars

Lorries

85

85

5.7. Tóm tắt

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.

Độ đo đo sự tương tự tùy thuộc vào kiểu dữliệu/đối tượng cụ thể.

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, …

86

86

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.

87

87

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

88

88

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

Phần 2

89

89

Nội dung

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

5.6.1. Fuzzy c-Means Clustering

[9], part 24.4, pp. 514-516

5.6.2. Self-Organizing Map (SOM)

[9], part 21.3.3, pp. 433-436

Tóm tắt phần 2

90

90

Fuzzy c-means clusteringThe most popular fuzzy clustering algorithm

Better than the hard K-means algorithm at avoiding local minima

But still converge to local minima of the squared error criterion

Problem with the design of membership functions

An iterative algorithmfind cluster centers (centroids) that minimize a dissimilarity (or distance) (objective) function

2

1 1∑∑= =

−c

i

n

jij

mij cxu

91

91

Fuzzy c-means clusteringMembership matrix = a real c x n matrix

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

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

uij: degree of membership of the jth object xj belonging to the ith cluster ci where i ∈ {1, …, c} and j ∈ {1, …, n}

Hard c-means clustering: uij ∈ {0, 1}

Fuzzy c-means clustering: uij ∈ [0, 1]

Probability:

Possibility:

},...,1{0};,...,1{111

ciunjun

jij

c

iij ∈∀>∈∀= ∑∑

==

},...,1{0011

njcuoruc

iij

c

iij ∈∀≤<> ∑∑

==

92

92

Fuzzy c-means clusteringHard c-means clustering: objective function

Fuzzy c-means clustering: objective function

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

m: weighting exponent where 1 ≤ m < +∞

Control the relative weights placed on each of the distances

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

m 1 : increasingly hard || m +∞ : fuzziest

2

1

2

1 1∑∑∑∑= ∈= =

−=−c

i Cpi

c

i

n

jij

mij

i

cpcxu

2

1 1∑∑= =

−c

i

n

jij

mij cxu

minimizeminimize

minimizeminimize

93

93

Fuzzy c-means clusteringFuzzy c-means clustering: objective function

: 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

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

2

1 1∑∑= =

−c

i

n

jij

mij cxuminimizeminimize

2

ij cx −

2

1 1∑∑= =

−c

i

n

jij

mij cxu

2

ijmij cxu −

∑=

−c

iij

mij cxu

1

2

(24.16)

94

94

Fuzzy c-means clusteringEach degree of membership uuijij of object xj belonging to cluster i is randomly initializedrandomly initialized in [0, 1][0, 1] with the following constraintsconstraints:

Each degree of membership uuijij of object xj belonging to cluster i is then updatedupdated as follows:

Each center ccii of cluster i is updatedupdated as follows:

},...,1{0};,...,1{111

ciunjun

jij

c

iij ∈∀>∈∀= ∑∑

==

=

== n

j

mij

j

n

j

mij

i

u

xuc

1

1

∑=

−=

c

k

m

kj

ij

ij

cxcx

u

1

)1/(21

(24.15)

(24.18)

(24.17)

95

95

Fuzzy c-means clustering

Fuzzy c-means algorithm (Bezdek, 1973)[9], pp. 516

96

96

Fuzzy c-means clusteringSeveral widely-used termination criteria

The number of iterationsnumber of iterationsThe difference between the updated value of objective function and its previous value is small enough.

Objective functionObjective function

The difference between all updated degrees of membership uuijij and their previous values is small enough.

Membership matrixMembership matrix

The difference between all updated centers ccii and their previous values is small enough.

Centers Centers

97

97

Fuzzy c-means clusteringNotes on fuzzy c-means clustering

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.

The nearer the cluster centers, the higher the membership gradesPossible with local minima

Parameter values determined in advance (experimental)c: the number of clusters

m: weighting exponent

Dissimilarity/Similarity measures for particular applicationsCluster shapeData typeNoise

98

98

Fuzzy c-means clustering

Example on fuzzy c-means clustering

The number of training objects: 16

The number of clusters: 2

Weighting exponent: 2

Threshold t: 0.01

Two resulting clusters Data Set

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

99

99

Self-Organizing Map (SOM)

Unsupervised neural network modelData clustering

Proposed by T. Kohonen in the early 1980sFurther reading: Teuvo Kohonen, “The Self-Organizing Map,” Proceedings of the IEEE, vol. 78, no. 9, pp. 1464-1480, September 1990.

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

Visualize the clusters or similarities between patterns

Dimensionality reduction

100

100

Self-Organizing Map (SOM)

101

101

Self-Organizing Map (SOM)

Kohonen (1982) developed a neural networkneural networkbased on selfself--organizationorganization whose key idea is to represent sensory signals as (low) (low) twotwo--dimensionaldimensional images or mapsimages or maps.Kohonen’s networks, often called Kohonen’s feature maps or selforganizing maps,organized neighborhoods of neurons such that similar inputs intosimilar inputs into the model are the model are topologically closetopologically close.

The SOM processes the input patterns and learns to cluster or segmentcluster or segment the datathe datathrough adjustment of adjustment of weightsweights.

102

102

Self-Organizing Map (SOM)SOM architecture

A typical SOM network has two layers of nodes, an input layerinput layer and output layeroutput layer (sometimes called the Kohonen layer).Each node in the input layer is fully connectedfully connected to nodes in the low (one, two, three-) dimensional output layer.The number number nn of nodes in theof nodes in theinput layerinput layer is corresponding to the number of input variables (i.e. the length/dimensionality of an input vector xx).

The number number mm ofof output nodesoutput nodesdepends on the specific problem and is determined by the user.

This number of neurons in the rectangular array should be large enough to allow a sufficient number of clusters to form.

[9], part 21.3.3, pp. 434.

Input xInput x

Weights wWeights w

103

103

Self-Organizing Map (SOM)

SOM architectureA winning neuron kk: the neuron corresponding to weight wwkk (an nnx1 vector) that has the minimum distance to the input xxrandomly selected in a training step

The neighborhood NNkkaround a winning neuron kk: the collection of all nodes with the same radial distance

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

[9], part 21.3.3, pp. 435.

104

104

Self-Organizing Map (SOM)

Self-organizing (competitive, unsupervised) learning

Neighboring cells in a neural network compete in their activities by means of mutual lateral interactions, and develop adaptively into specific detectors of different signal patterns.

The cells become specifically tuned to various input signal patterns or classes of patterns through the learning process.

Only one cell or local group of cells at a time gives the active response to the current input.

winnerwinner--taketake--all strategyall strategy

105

105

Self-Organizing Map (SOM)SOM learning procedure1. 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 kkusing 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.

106

106

Self-Organizing Map (SOM)The vector distance where ||.|| represents the Euclidean distance

The Kohonen learning rule

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 grid and σ is the neighborhood radius.

)10(

)(

koldi

newi

kiikoldi

newi

NinnotisiifwwNinisiifwxhww

=

−+= α

107

107

Self-Organizing Map (SOM)As the number of cycles of training (epochs)increases, better formation of the clusters can be found.Eventually, the topological map is fine-tuned with finer distinctions of clusters within areas of the map.After the network has been trained, it can be used as a visualization tool to examine the data structure.Once clusters are identified, neurons in the map can be labeled to indicate their meaning.

Assignment of meaning usually requires knowledge on the data and specific application area.

108

108

Self-Organizing Map (SOM)

Notes on SOMDimensionality (1D, 2D, 3D, ?) of the output layer

The size of the map (the number of neurons of the output layer)

The number of clusters

Not restricted to any particular form of preprocessing

Capable of noise handling

Originally proposed for numeric dataExtended versions for categorical data

109

109

Self-Organizing Map (SOM)

SOM’s Applicationsmarket segmentation,

customer targeting,

business failure categorization,

credit evaluation,

document retrieval,

group technology

110

110

Self-Organizing Map (SOM)

Source: Teuvo Kohonen, “The

Self-Organizing Map,” Proceedings

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

1464-1480, September 1990.

111

111

Self-Organizing Map (SOM)

112

112

Self-Organizing Map (SOM)

Source: Teuvo Kohonen, “The

Self-Organizing Map,” Proceedings

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

1464-1480, September 1990.

113

113

Self-Organizing Map (SOM)

Example on SOMThe number of training vectors: 4

The length of each training vector/weight: 3

The number of clusters (output neurons): 2

Neighborhood size: 0

Learning rate:

η(t) = 0.6; 1 <= t <= 4

η(t) = 0.5; 5 <= t <= 8

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

Where t is iteration

114

114

Self-Organizing Map (SOM)Training vectors:

X1 = (1, 1, 0)

X2 = (0, 0, 0)

X3 = (1, 0, 0)

X4 = (0, 0, 1)

Initial weights:Neuron #1: w1 = (0.2, 0.6, 0.5)

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

021340113

02201

4321

XXXX

XXXX

MatrixityDissimilar

Input units:

Output units: 1 2

Network ArchitectureNetwork ArchitectureDo X1 and X3 belong to one

cluster?

Do X2 and X4 belong to the

other?

??

??

115

115

Tóm tắt phần 2

Fuzzy c-means clusteringA fuzzy version of k-means clustering

Self-Organizing Map (SOM)A neural network-based clustering and dimensionality reduction technique

Support for visualization

116

116

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