giải thuật gom cụm clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingr/clustering.pdf ·...

43
Khoa Công Nghệ Thông Tin Trường Đại Học Cần Thơ Đỗ Thanh Nghị [email protected] Cần Thơ 02-12-2008 Giải thuật gom cụm Clustering algorithms

Upload: others

Post on 25-Jun-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Khoa Công Nghệ Thông TinTrường Đại Học Cần Thơ

Đỗ Thanh Nghị[email protected]

Cần Thơ02-12-2008

Giải thuật gom cụm Clustering algorithms

Page 2: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Nội dung

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

2

Page 3: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Nội dung

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

3

Page 4: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Clustering

gom nhóm

nature của dữ liệu thường không có nhiều thông tin sẵn có như lớp (nhãn)

gom nhóm : mô hình gom cụm dữ liệu (không có nhãn) sao cho các dữ liệu cùng nhóm có các tính chất tương tự nhau vàdữ liệu của 2 nhóm khác nhau sẽ có các tính chất khác nhau

có nhiều nhóm giải thuật khác nhau : hierarchical clustering, partitioning, density-based, model-based, etc.

được sử dụng nhiều : K-Means, Dendrogram, SOM, EM

được ứng dụng thành công trong hầu hết các lãnh vực tìm kiếm thông tin, phân tích dữ liệu, etc.

4

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 5: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Clustering

5

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 6: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Clustering

gom nhóm

thường dựa trên cơ sở khoảng cách

nên chuẩn hóa dữ liệu

khoảng cách được tính theo từng kiểu của dữ liệu : số, nhịphân, loại, kiểu symbol (interval, histogram, taxonomy

6

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 7: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Kiểu số

7

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

khoảng cách Minkowski

i = (xi1, xi2, …, xip) và j = (xj1, xj2, …, xjp) là 2 phần tử dữ liệu

trong p-dimensional, q là số nguyên dương

nếu q = 1, d là khoảng cách Manhattan

nếu q = 2, d là khoảng cách Euclid

khoảng cách cosine : dcos(i, j) = iTj/(||i|| ||j||)

qq

pp

qq

jx

ix

jx

ix

jx

ixjid )||...|||(|),(

2211

Page 8: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Kiểu nhị phân

8

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

khoảng cách đối xứng :

khoảng cách bất đối xứng :

hệ số Jaccard bất đối xứng :

dcbacb jid

),(

cbacb jid

),(

pdbcasum

dcdc

baba

sum

0

1

01

Object i

Object j

cbaa jisim

Jaccard ),(

Page 9: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Kiểu loại (nominal type)

9

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

ví dụ : thuộc tính color có giá trị là red, green, blue, etc.

phương pháp matching đơn giản, m là số lượng matches và p là tổng số biến (thuộc tính), khoảng cách được định nghĩa :

pmpjid ),(

Page 10: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Kiểu symbol

10

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

xem trang publications của Edwin DIDAY và các cộng sự

Page 11: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Nội dung

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

11

Page 12: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering

12

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

bottom up

bắt đầu với những clusters chỉ là 1 phần tử

ở mỗi bước, merge 2 clusters gần nhau thành 1

khoảng cách giữa 2 clusters : 2 điểm gần nhất từ 2 clusters, hoặc khoảng cách trung bình, etc.

top down

bắt đầu với 1 cluster là tất cả dữ liệu

tìm 2 clusters con

tiếp tục đệ quy trên 2 clusters con

kết quả sinh ra dendrogram

Page 13: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering

13

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Step 0 Step 1 Step 2 Step 3 Step 4

b

d

c

e

a a b

d e

c d e

a b c d e

Step 4 Step 3 Step 2 Step 1 Step 0

agglomerative(AGNES)

divisive(DIANA)

Page 14: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

14

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 15: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

15

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 16: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

16

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 17: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

17

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 18: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

18

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 19: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

19

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 20: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

20

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 21: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

21

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 22: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

22

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 23: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

23

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 24: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

24

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 25: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering (Single link)

25

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

cắt => xác định clusters

cluster 1 cluster 2 cluster 3

Page 26: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hierarchical clustering

26

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

nhận xét

1. giải thuật đơn giản

2. cho kết quả dễ hiểu

3. không cần tham số

4. chạy chậm

5. BIRCH (Zhang et al., 1996) sử dụng cấu trúc index để xử lý dữ liệu lớn

Page 27: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Nội dung

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

27

Page 28: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

28

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

giải thuật

1. khởi động ngẫu nhiên K tâm (center) của K clusters

2. mỗi phần tử được gán cho tâm gần nhất với phần tử dựa vào khoảng cách (e.g. khoảng cách Euclid)

3. cập nhật lại các tâm của K clusters, mỗi tâm là giá trị trung bình (mean) của các phần tử trong cluster của nó

4. lặp lại bước 2,3 cho đến khi hội tụ

Page 29: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

29

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

khởi động ngẫu nhiên 3tâm của 3 clusters

k1

k2

k3

k1k1

k2k2

k3k3

X

Y

X

Y

Page 30: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

30

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

k1k1

k2k2

k3k3

X

Y

X

Y

mỗi phần tử được gán cho tâm cluster gần nhất của nó

Page 31: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

31

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

cập nhật lại tâm của các cluster (giá trịtrung bình của các phần tửtrong cluster)

X

Y

X

Y

k1k1

k2k2

k2k2

k1k1

k3k3

k3k3

Page 32: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

32

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

X

Y

k1

k2

k3

cấu hình mới của lần lặp tiếp theo

Page 33: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

33

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

có 2 phần tử thay đổi nhóm

X

Y

k1

k3k2

mỗi phần tử được gán lại cho tâm cluster gần nhất của nó

Page 34: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

34

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

X

Y

k1

k3k2

cập nhật lại tâm của các cluster (giá trịtrung bình của các phần tửtrong cluster)

Page 35: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

35

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

X

Y

k1

k3k2

cập nhật lại tâm của các cluster (giá trịtrung bình của các phần tửtrong cluster)

Page 36: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

36

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

X

Y

k2

k1

k3

Page 37: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật K-Means

37

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

nhận xét

1. giải thuật đơn giản

2. cho kết quả dễ hiểu

3. cần cho tham số K (số lượng clusters)

4. kết quả phụ thuộc vào việc khởi động ngẫu nhiên K tâm (center) của K clusters : có thể khắc phục bằng cách khởi động lại nhiều lần.

5. khả năng chịu đựng nhiễu không tốt (ảnh hưởng bởi các phần tử outliers) : có thể khắc phục bằng K-Medoids, không sử dụng giá trị trung bình, nhưng sử dụng phần tử ngay giữa

Page 38: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Nội dung

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

38

Page 39: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Giải thuật clustering

39

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

còn nhiều phương pháp khác

density-based : DBSCAN (Ester et al., 1996), OPTICS (Ankerst et al., 1999), DENCLUE (Hinneburg & Keim, 1998)

model-based : EM (Expected maximization), SOM (Kohonen, 1995)

Page 40: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Clustering với OPTICS

40

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 41: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Clustering 12088 web articles với SOM

41

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 42: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering

Hướng phát triển

42

các kiểu dữ liệu phức tạp

tăng tốc độ xử lý

các tham số đầu vào của giải thuật

diễn dịch kết quả sinh ra

phương pháp kiểm chứng chất lượng mô hình

Giới thiệu về clustering

Hierarchical clustering

K-Means

Kết luận và hướng phát triển

Page 43: Giải thuật gom cụm Clustering algorithmscit.ctu.edu.vn/~dtnghi/dataminingR/clustering.pdf · Giải thuật K-Means 28 Giới thiệu vềclustering Hierarchical clustering