Khai phá dữ liệu - Chương 5: Gom cụm dữ liệu
Bạn đang xem 20 trang mẫu của tài liệu "Khai phá dữ liệu - Chương 5: Gom cụm dữ liệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- khai_pha_du_lieu_chuong_5_gom_cum_du_lieu.ppt
Nội dung text: Khai phá dữ liệu - Chương 5: Gom cụm dữ liệu
- Chương 5: Gom cụm dữ liệu Khai phá dữ liệu (Data mining) 1
- Nội dung 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 2
- 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? 3
- 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ảm thiểu nhiễu (noisy data) ◼ Giải pháp giảm thiểu nhiễu Phân tích cụm (cluster analysis) 4
- 5.0. Tình huống 3 5
- 5.0. Tình huống 3 6
- 5.0. Tình huống 3 7
- 5.0. Tình huống 3 8
- 5.0. Tình huống 3 9
- 5.0. Tình huống 3 10
- 5.0. Tình huống 3 11
- 5.0. Tình huống 4 Gom cụm ảnh 12
- 5.0. Tình huống Gom cụm 13
- 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) 14
- 5.1. Tổng quan về gom cụm dữ liệu Gom cụm ◼ Quá trình gom nhóm/cụm dữ liệu/đối tượng vào các lớp/cụm ◼ 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. 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 15
- 5.1. Tổng quan về gom cụm dữ liệu Gom cụm ◼ Quá trình gom nhóm/cụm dữ liệu/đối tượng vào các lớp/cụm ◼ 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. Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 → Obj1 tương tự Obj2 hơn so với tương tự Obj3. Intra-cluster distances are minimized. Inter-cluster distances are maximized. 16
- 5.1. Tổng quan về gom cụm dữ liệu Gom cụm ◼ Quá trình gom nhóm/cụm dữ liệu/đối tượng vào các lớp/cụm ◼ 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. Obj1, Obj2 ở cụm C1; Obj3 ở cụm C2 → Obj1 tương tự Obj2 hơn so với tương tự Obj3. Low inter- Intra-cluster cluster/class distances are similarity minimized. Inter-cluster High intra- distances are cluster/class maximized. similarity 17
- 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 ◼ Ma trận dữ liệu (data matrix) x11 x1f x1p x x x i1 if ip x x x n1 nf np -n đối tượng (objects) -p biến/thuộc tính (variables/attributes) 18
- 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 ◼ Ma trận sai biệt (dissimilarity matrix) 0 d(2,1) 0 d(3,1) d(3,2) 0 : : : d(n,1) d(n,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 đố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. 19
- 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) 20
- 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 độ đo cosine: x = (x1, , xp) y = (y1, , yp) s(x, y) = (x1*y1 + + xp*yp)/((x12 + + xp2)1/2*(y12+ + yp2)1/2) 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ụm ◼ Interval-scaled variables/attributes ◼ Binary variables/attributes ◼ Categorical variables/attributes ◼ Ordinal variables/attributes ◼ Ratio-scaled variables/attributes ◼ Variables/attributes of mixed types 22
- 5.1. Tổng quan về gom cụm dữ liệu Interval-scaled variables/attributes Mean absolute deviation s = 1(|x −m |+| x −m |+ +|x −m |) f n 1f f 2 f f nf f 1 m = (x + x + + x ). Mean f n 1f 2 f nf x −m Z-score measurement z = if f if s f 23
- 5.1. Tổng quan về gom cụm dữ liệu Độ đo khoảng cách Minkowski q q q d(i, j)= q (| x −x | +| x − x | + +| x − x | ) i1 j1 i2 j2 ip jp Độ đo khoảng cách Manhattan d(i, j) =| x − x |+| x − x |+ +| x − x | i1 j1 i2 j2 ip jp Độ đo khoảng cách Euclidean d(i, j) = (|x − x |2 +| x − x |2 + +| x − x |2 ) i1 j1 i2 j2 ip jp 24
- 5.1. Tổng quan về gom cụm dữ liệu Binary variables/attributes Object j 1 0 sum 1 a b a+b Object i 0 c d c+d sum a+c b+d p (= a + b + c + d) Hệ số so trùng đơn giản (nếu symmetric): d(i, j)= b+c a+b+c+d Hệ số so trùng Jaccard (nếu asymmetric): d(i, j)= b+c a+b+c 25
- 5.1. Tổng quan về gom cụm dữ liệu Binary variables/attributes ◼ Ví dụ 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 gender: symmetric Binary attributes còn lại: asymmetric Y, P → 1, N → 0 0 + 1 d( jack,mary ) = = 0.33 2 + 0 + 1 1+ 1 d( jack, jim) = = 0.67 1+ 1+ 1 1+ 2 d( jim,mary ) = = 0.75 1+ 1+ 2 26
- 5.1. Tổng quan về gom cụm dữ liệu Variables/attributes of mixed types ◼ Tổng quát p ( f )d ( f ) d(i, j) = f = 1 ij ij p ( f ) f = 1ij Nếu xif hoặc xjf bị thiếu (missing) thì f (variable/attribute): binary (nominal) (f) (f) dij = 0 if xif = xjf , or dij = 1 otherwise f : interval-scaled (Minkowski, Manhattan, Euclidean) f : ordinal or ratio-scaled r −1 z = if ▪ tính ranks rif và if M f −1 ▪ zif trở thành interval-scaled 27
- 5.1. Tổng quan về gom cụm dữ liệu 28
- 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. 29
- 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? 6 cụm? 2 cụm? 4 cụm? 30
- 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ệc xá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) 31
- 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) 32
- 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 ◼ 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 đó. ◼ 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. ◼ 33
- 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 34
- 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 p1 p1 p3 p4 p3 p4 p2 p2 p1 p2 p3 p4 Original Points Hierarchical 35
- 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ước cho 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ính tậ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ả gom cụ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. 36
- 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) 37
- 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 ◼ Các độ đo đánh giá ngoại (external validation measures – contingency matrix) 38 J. Wu and et al. Adapting the Right Measures for K-means Clustering. KDD’09, Paris, France, July 2009.
- 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 = |PiCj|: số đối tượng trong Pi từ Cj 39
- 5.2. Gom cụm dữ liệu bằng phân hoạch Đá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 -Partition C: các cụm thật sự của n (=66) đối tượng -nij = |PiCj|: số đối tượng trong Pi từ Cj 40
- 5.2. Gom cụm dữ liệu bằng phân hoạch Đánh giá kết quả gom cụm ◼ Entropy (trị nhỏ khi chất lượng gom cụm tốt) pij pij pij pij Entropy(I) = − pi ( log ) i j Entropy(II ) = − pi ( log ) pi pi i j pi pi n n ni ij ij n n = − ( log ) ni ij ij i j = − ( log ) n ni ni i j n ni ni 19 3 3 4 4 12 12 19 0 0 7 7 12 12 = − ( log + log + log ) = − ( log + log + log ) 66 19 19 19 19 19 19 66 19 19 19 19 19 19 23 8 8 3 3 12 12 23 11 11 0 0 12 12 − ( log + log + log ) − ( log + log + log ) 66 23 23 23 23 23 23 66 23 23 23 23 23 23 24 12 12 12 12 0 0 24 12 12 12 12 0 0 − ( log + log + log ) − ( log + log + log ) 66 24 24 24 24 24 24 66 24 24 24 24 24 24 = ??? = ??? → Gom cụm theo phương án I hay phương án II tốt??? 41
- 5.2. Gom cụm dữ liệu bằng phân hoạch Giải thuật k-means 42
- 5.2. Gom cụm dữ liệu bằng phân hoạch 43
- 5.2. Gom cụm dữ liệu bằng phân hoạch 3 2.5 2 Original Points 1.5 y 1 0.5 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 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 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 x x Optimal Clustering Sub-optimal Clustering 44
- 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? 45
- 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 ◼ Bà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ủa cụ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 46
- 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ích thướ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) 47
- 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 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? 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 ◼ Đá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 độ đo Entropy? 49
- 5.2. Gom cụm dữ liệu bằng phân hoạch 50
- 5.2. Gom cụm dữ liệu bằng phân hoạch Tính “total cost S of swapping Oj và Orandom” = Σ C p p/OiOrandom 51
- 5.2. Gom cụm dữ liệu bằng phân hoạch Tính “total cost S of swapping Oj và Orandom” = Σ C p p/OiOrandom Cp/O O C C = 0 C i random p/OiOrandom p/OiOrandom p/OiOrandom = d(p,O ) – d(p,O ) = d(p,Oj) – d(p,Oi) = d(p,Oj) – d(p,Orandom) i random 52
- 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) ◼ ??? 53
- 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. 54
- 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 đối tượ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ân tách 55
- 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 56
- 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ếu khoả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 đối tượ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 khi mỗ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. 57
- 5.3. Gom cụm dữ liệu bằng phân cấp Single-linkage Complete-linkage 4 4 3 3 2 2 1 1 1 2 3 4 1 2 3 4 Tiêu chí trộn các cụm: single-linkage và complete-linkage 58
- 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ễn bởi cấu trúc cây (dendrogram). 59
- 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ễn 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 0.5 60
- 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 61
- 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ằng phâ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ủa phân giải (scale of resolution) ◼ ROCK (Robust Clustering using linKs): gom cụm 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 ◼ Chameleon: mô hình động để xác định sự tương tự giữa các cặp cụm 62
- 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ằng phâ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/đánh giá nhiều đối tượng/cụm. → 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 → Gom cụm nhiều giai đoạn (multiple-phase clustering) 63
- 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ật ◼ DBSCAN (Density-Based Spatial Clustering of Applications with Noise) ◼ OPTICS (Ordering Points To Identify the Clustering Structure) ◼ DENCLUE (DENsity-based CLUstEring) 64
- 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úc gom 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 độ 65
- 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ệu dự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). ε ε p: core object (MinPts = 3) q p q: không là core object 66
- 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ệu dựa trên mật độ ◼ 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? q p p: directly density-reachable đối với q? X q: directly density-reachable đối với p? 67
- 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ệu dự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 p p 2 MinPts = 5 68
- 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ệu dự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ứng p p q o q o 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ệu dựa trên mật độ MinPts = 3 70
- 5.4. Gom cụm dữ liệu dựa trên mật độ Border Outlier Các khái niệm dùng trong gom 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 đối tượng được nối kết với nhau dựa trê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 Core object thì gọi là đối tượng ranh giới (border object). Đối tượng không thuộc về cụm ε = 1cm nào được xem là nhiễu (noise/outlier). MinPts = 5 71
- 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ật 1. 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ượng 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. ▪ 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. 72
- 5.4. Gom cụm dữ liệu dựa trên mật độ C1 C1 MinPts = 4 73
- 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ập ▪ Yêu cầu định nghĩa của mật độ (density) ▪ ε và MinPts Độ phức tạp ▪ O(nlogn) → O(n2) 74
- 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án nà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) 75
- 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ự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). Gom cụm với mạng neural ◼ Biể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. 76
- 5.5. Gom cụm dữ liệu dựa trên mô hình 77
- 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ộ 78
- 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ác thông số ▪ 2.3. Dừng khi thỏa điều kiện định trước. 79
- 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 đến cụ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ác thông số 80 (mk là trung tâm của cụm Ck, j = 1 K, k = 1 K)
- 5.6. Các phương pháp gom cụm dữ liệu khác 3500 Gom cụm cứng (hard clustering) 3000 Lorries ◼ Mỗi đối tượng chỉ thuộc về một 2500 cụm. 2000 Sports cars Weight [kg] Weight ◼ Mức thành viên (degree of 1500 Medium market cars membership) của mỗi đối tượng 1000 với một cụm hoặc là 0 hoặc là 1. 500 100 150 200 250 300 ◼ Ranh giới (boundary) giữa các Top speed [km/h] cụm rõ ràng. Gom cụm mờ (fuzzy clustering) ◼ 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. ◼ Ranh giới giữa các cụm không rõ ràng (mờ - vague/fuzzy). 81
- 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, 82
- 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. 83
- Hỏi & Đáp 84