Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
2,52 MB
Nội dung
i ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT VÀ TRUYỀN THÔNG Phan Thị Thu Nga NGHIÊN CỨU PHƢƠNG PHÁP PHÂN CỤM NỬA GIẢM SÁT VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Thái Nguyên, tháng năm 2015 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ ii LỜI CAM ĐOAN Tôi xin cam đoan đề tài với tiêu đề Nghiên cứu phương pháp phân cụm nửa giám sát ứng dụng công trình nghiên cứu đƣợc thực dƣới hƣớng dẫn giáo viên hƣớng dẫn khoa học Các kết nghiên cứu kết thử nghiệm nêu luận văn trung thực chƣa đƣợc công bố tài liệu khác Trong phần kiến thức chung, nghiên cứu giải thuật áp dụng số thực nghiệm kết tƣơng ứng có tham khảo số tài liệu có trích dẫn đầy đủ Học viên Phan Thị Thu Nga MỤC LỤC Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ iii LỜI CAM ĐOAN ii LỜI MỞ ĐẦU CHƢƠNG TỔNG QUAN VỀ HỌC MÁY VÀ BÀI TOÁN PHÂN CỤM, PHÂN CỤM NỬA GIÁM SÁT 1.1 Khái niệm trí tuệ nhân tạo học máy 1.2 Các nghiên cứu sử dụng học máy 1.3 Ứng dụng phƣơng pháp học máy 1.4 Khái niệm toán phân cụm 1.5 Các yêu cầu toán phân cụm 1.6 Các chiến lƣợc phƣơng pháp phân cụm liệu [2] 11 1.8 Đánh giá kết thuật toán phân cụm 17 1.9 Phƣơng pháp phân cụm nửa giám sát 17 CHƢƠNG MỘT SỐ THUẬT TOÁN PHÂN CỤM NỬA GIÁM SÁT 19 2.1 Giới thiệu toán phân cụm nửa giám sát 19 2.2 Thuật toán phân cụm nửa giám sát với K-Means 21 2.2.1 Thuật toán K-Means 21 2.2.2 Thuật toán Seed K-Means 26 2.3 Thuật toán phân cụm nửa giám sát SSDBSCAN 27 2.3.1 Thuật toán DBSCAN 27 2.3.2 Thuật toán SSDBSCAN 29 2.3.3 Thuật toán ActSSDBSCAN 32 2.4 Thuật toán phân cụm nửa giám sát Fuzzy C-Means 37 2.4.1 Thuật toán Fuzzy C-Means 37 2.4.2 Thuật toán Seed Fuzzy C-means 40 CHƢƠNG ỨNG DỤNG THUẬT TOÁN PHÂN CỤM TRONG LĨNH VỰC XỬ LÝ ẢNH 43 3.1 Giới thiệu tổng quan 43 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ iv 3.2 Phân vùng ảnh (Image segmentation) sử dụng Fuzzy C-Means 43 3.2.1 Tóm lược vấn đề xử lý ảnh số (Digital Image Processing) 43 3.2.2 Lập trình thử nghiệm 45 3.3 Phân cụm ảnh với thuật toán SSDBSCAN 53 3.3.1 Dữ liệu 53 3.3.2 Kết 55 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 58 Những kết đạt đƣợc 58 Hƣớng phát triển đề tài 58 PHỤ LỤC 60 TÀI LIỆU THAM KHẢO 63 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ v DANH MỤC CÁC HÌNH Số hiệu Tên hình Trang Các mô hình học máy hình Hình 1.1 Ví dụ liệu toán phân cụm: hình bên trái bao Hình 1.2 gồm cụm rời tuyến tính hình bên phải có cụm hình dạng không tuyến tính Hình 1.3 Hình 1.4 Một số ví dụ phân đoạn ảnh sử dụng clustering Ứng dụng clustering việc phát vùng bị hỏng trái 14 15 Hình 1.5 Bài toán phân cụm 17 Hình 1.6 Bài toán phân cụm nửa giám sát 17 Minh họa thuật toán K-Means: Sự phụ thuộc vào Hình 2.1 trọng tâm bƣớc khởi tạo dẫn đến kết khác 22 sau lần chạy Hình 2.2 Hình 2.3 Dữ liệu (với cụm) mà K-Means phát xác cụm Minh họa bƣớc thuật toán hierarchical clustering 22 24 Quá trình xây dựng cluster DBSCAN: Các hình Hình 2.4 cầu bán kính ɛ chứa MinPts điểm đƣợc kết 26 nối để tạo cluster Hình 2.5 Minh họa thuật toán Fuzzy C-Means với cụm Số hóa Trung tâm Học liệu - ĐHTN 30 http://www.lrc-tnu.edu.vn/ vi (a) Các điểm tƣơng ứng với tập liệu đầu vào, seed (các liệu đƣợc gán nhãn) tƣơng ứng điểm Hình 2.6 ký hiệu dấu cộng, dấu nhân, dấu (b) ràng buộc (constraint) must-link cannotlink đƣợc biểu diễn tƣơng ứng đoạn thẳng nét 31 liền nét đứt Hình 2.7 Bảng 2.1 Hình 2.8 Hình 2.9 Hình 3.1 Hình 3.2 Quá trình xây dựng cluster SSDBSCAN 33 Các tập liệu sử dụng (n: số phần tử cần clustering, m: số thuộc tính, k số cluster) Kết thực nghiệm thuật toán ActSSDBSCAN SSDBSCAN Kết thực nghiệm thuật toán SECM Tổng quan hệ thống xử lý ảnh máy tính [5] Ảnh gốc (a) vùng (màu sáng) đƣợc phân tách bới thuật toán Fuzzy C-means 38 40 43 46 48 Hình 3.3 Các cụm phân tách từ thuật toán Fuzzy C-means 50 Hình 3.4 Phân tách vùng với cụm khác 50 Hình 3.5 Ví dụ phân vùng ảnh cối 52 Hình 3.6 Ví dụ phân vùng ảnh động vật 55 Hình 3.7 Dữ liệu lấy từ trang UCI 56 Hình 3.8 Kết với tập liệu image210 57 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ vii Hình 3.9 Kết với tập liệu image300 58 Hình 3.10 Kết với tập liệu image420 58 Hình 3.11 Kết với tập liệu image560 59 Số hóa Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ LỜI MỞ ĐẦU Lí chọn đề tài Công nghệ thông tin lĩnh vực quan trọng phát triển xã hội toàn giới Những ứng dụng công nghệ thông tin (CNTT) gặp nơi đâu, lĩnh vực Từ năm 50 kỷ 20, Liên Xô phóng thành công tàu vũ trụ, để thực đƣợc điều rõ ràng cần đến chƣơng trình máy tính phần mềm Những năm 60 nƣớc Mỹ có hệ thống mạng máy tính phục vụ cho quốc phòng an ninh nhƣ lĩnh vực trọng yếu Mạng Internet đời kết nối toàn giới mạng lại hiệu vô lớn cho nhân loại Ngày phát triển CNTT toàn cầu hóa, tất quốc gia coi việc phát triển lĩnh vực mũi nhọn công cụ để thúc đẩy phát triển Tất hệ thống tinh vi đại nhƣ tàu vũ trụ, máy bay, tàu ngầm, ô tô, ngƣời máy có hạt nhân quan trọng CNTT Trí tuệ nhân tạo hƣớng nghiên cứu lĩnh vực CNTT Khoa học máy tính nhằm phát triển hệ thống thông minh giải toán thực tế giống nhƣ hoạt động não ngƣời Trí tuệ nhân tạo đƣợc bắt đầu nghiên cứu từ năm 50 kỷ 20 khoảng 30 năm trở lại đƣợc cộng đồng nhà khoa học quan tâm mạnh mẽ Rất nhiều hội thảo lớn đƣợc tổ chức hàng năm Mỹ nhƣ giới Các ứng dụng tiêu biểu trí tuệ nhân tạo vào đời sống xã hội bao gồm: ngƣời máy, robot, xử lý ngôn ngữ tự nhiên, nhận dạng, phát dị thƣờng, an ninh quốc phòng, tin sinh học, khoa học vũ trụ trái đất… Trong khuôn khổ luận văn Thạc sỹ mình, qua việc đƣợc trang bị môn học lý thuyết nhƣ thuật toán, xử lý ảnh, trí tuệ nhân tạo,… lựa chọn đề tài Nghiên cứu phương pháp phân cụm nửa giám sát ứng dụng Chủ đề phân cụm liệu nhánh nhỏ nằm lĩnh vực học máy (machine learning) trí tuệ nhân tạo nhằm nghiên cứu ứng dụng toán phân cụm thực tế Hơn phân cụm có giám sát hƣớng tốt khoảng 10 năm trở lại chứng minh tính ƣu việt Đối tƣợng phạm vi nghiên cứu 2.1 Đối tượng nghiên cứu Vấn đề phân cụm liệu (clustering), phân cụm nửa giám sát (semisupervised clustering) 2.2 Phạm vi nghiên cứu - Lý thuyết: Nghiên cứu thuật toán phân cụm liệu phân cụm nửa giám sát - Thực nghiệm: Lập trình ngôn ngữ C# cho ứng dụng phân vùng ảnh phân cụm ảnh Phƣơng pháp nghiên cứu - Phƣơng pháp nghiên cứu khoa học suy luận logic - Phƣơng pháp nghiên cứu mô tả, giải thích, giải pháp Ý nghĩa khoa học thực tiễn đề tài - Về khoa học Nghiên cứu thuật toán phân cụm phân cụm nửa giám sát, đánh giá ƣu, nhƣợc điểm giải thích kết đạt đƣợc phƣơng pháp - Về thực tiễn Ứng dụng thuật toán phân cụm vào toán phân vùng ảnh phân cụm ảnh từ rút nhận xét, đánh giá vào thực tiễn Cấu trúc luận văn Chương 1: Giới thiệu tổng quan học máy toán phân cụm liệu phân cụm liệu nửa giám sát Chương 2: Trình bày số thuật toán phân cụm liệu bản, thuật toán phân cụm nửa giám sát nhƣ đánh giá ƣu nhƣợc điểm thuật toán Chương 3: Cài đặt thử nghiệm hai ứng dụng toán phân cụm bao gồm toán phân vùng ảnh toán phân cụm ảnh Tóm lƣợc kết thực đƣợc đề hƣớng phát triển đề tài 49 50 Hình 3.5 Ví dụ phân vùng ảnh cối Ảnh gốc 51 Vùng Vùng 52 Vùng Vùng 53 Vùng Hình 3.6 Ví dụ phân vùng ảnh động vật Với hình 3.5 3.6 hình quang cảnh hay động vật, kết thuật toán Fuzzy C-Means làm bật vùng có điểm ảnh tƣơng tự Tóm lại từ kết phân vùng ảnh trên, thấy áp dụng vào toán phát dị thƣờng chẳng hạn nhƣ bề mặt trái cây, hay làm bật đối tƣợng ảnh (hình 3.6),… 3.3 Phân cụm ảnh với thuật toán SSDBSCAN 3.3.1 Dữ liệu Để thực việc so sánh kết hai thuật toán DBSCAN SSDBSCAN, sử dụng tập liệu từ trang UCI machine learning 54 repository, trang sở liệu dùng nhiều nghiên cứu học máy [4] (xem hình 3.7) Hình 3.7 Dữ liệu lấy từ trang UCI Các thuộc tính ảnh đƣợc trích rút 19 nhƣ hình 3.7 Số lƣợng liệu 2310 Từ liệu để kiểm nghiệm kết lấy ngẫu nhiên tạo 55 tập liệu gồm: 210, 300, 420, 560 phần tử Kết so sánh thuật toán DBSCAN SSDBSCAN đƣợc hình 3.8-3.11 Độ đo phân cụm xác sử dụng Rand Index nhƣ trình bày chƣơng 3.3.2 Kết Nhìn vào kết so sánh thuật toán DBSCAN SSDBSCAN thấy, với lƣợng nhỏ seed thuật toán SSDBSCAN cho kết tốt thuật toán DBSCAN Kết đƣợc giải thích chất thuật toán SSDBSCAN nhƣ vƣợt qua hạn chế thuật toán DBSCAN Hình 3.8 Kết với tập liệu image210 56 Hình 3.9 Kết với tập liệu image300 Hình 3.10 Kết với tập liệu umage420 57 Hình 3.11 Kết với tập liệu image560 58 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Những kế t đạ t Sau thực luận văn với chủ đề nghiên cứu phƣơng pháp phân cụm, phân cụm nửa giám sát ứng dụng, thực đƣợc công việc sau đây: - Đã tìm hiểu nắm bắt thuật toán phân cụm (K-means, Fuzzy Cmeans, DBSCAN,…) ứng dụng, - Đã nghiên cứu tìm hiểu toán phân cụm nửa giám sát, ƣu điểm toán phân cụm nửa giám sát đặc biệt phƣơng pháp dựa mật độ bao gồm DBSCAN, SSDBSCAN ASSDBSCAN, - Đã lập trình ngôn ngữ C# cho toán phân vùng ảnh phân cụm ảnh Các kết cho thấy tính ƣu việt thuật toán phân cụm từ có khả ứng dụng vào toán thực tiễn Hướng phát triể n đề tài Do thời gian kiến thức hạn chế, khuôn khổ luận văn nghiên cứu kỹ toàn diện toán phân cụm Trong tƣơng lai, số hƣớng nghiên cứu mà dự kiến tiếp tục nhƣ sau: - Trong thời gian tới mong muốn tìm hiểu kỹ phƣơng pháp phân cụm phân cụm nửa giám sát tiếp tục lập trình kiểm thử tìm ứng dụng cho toán thực tế lĩnh vực xử lý ảnh - So sánh phƣơng pháp phân cụm với tập liệu khác không gian nhiều chiều, liệu phức tạp liệu số 59 - Tôi mong muốn tìm hiểu sâu toán học máy khác nhƣ phân lớp có giám sát nhƣ so sánh phƣơng pháp phân lớp có giám sát phân cụm nửa giám sát - Cuối cùng, phát triển thuật toán phù hợp với điều kiện thực tế lĩnh vực phải làm việc với liệu lớn nhƣ, sinh học, y học, ngân hàng,… 60 PHỤ LỤC MỘT SỐ MODULES CHÍNH CỦA CHƢƠNG TRÌNH private void tinh_gia_tri_ham_thuoc() { for (int i = 0; i < this.Points.Count; i++) { double max = 0.0; double = 0.0; double sum = 0.0; double newmax = 0; var p = this.Points[i]; for (int j = 0; j < this.Clusters.Count; j++) { max = U[i, j] > max ? U[i, j] : max; = U[i, j] < ? U[i, j] : min; } for (int j = 0; j < this.Clusters.Count; j++) { U[i, j] = (U[i, j] - min) / (max - min); sum += U[i, j]; } for (int j = 0; j < this.Clusters.Count; j++) { U[i, j] = U[i, j] / sum; if (double.IsNaN(U[i, j])) { U[i, j] = 0.0; } newmax = U[i, j] > newmax ? U[i, j] : newmax; } p.ClusterIndex = newmax; }; } public void buoc_lap() { for (int c = 0; c < Clusters.Count; c++) 61 { for (int h = 0; h < Points.Count; h++) { double top; top = khoang_cach_ocolit (Points[h], Clusters[c]); if (top < 1.0) top = Eps; double sumTerms = 0.0; for (int ck = 0; ck < Clusters.Count; ck++) { sumTerms += top / khoang_cach_ocolit(Points[h], Clusters[ck]); } U[h, c] = (double)(1.0 / Math.Pow(sumTerms, (2 / (this.Fuzzyness - 1)))); } }; this.tinh_gia_tri_ham_thuoc(); } private double khoang_cach_ocolit(ClusterPoint p, ClusterCentroid c) { return Math.Sqrt(Math.Pow(p.PixelColor.R - c.PixelColor.R, 2.0) + Math.Pow(p.PixelColor.G - c.PixelColor.G, 2.0) + Math.Pow(p.PixelColor.B c.PixelColor.B, 2.0)); } public double tinh_ham_muc_tieu() { double Jk = 0.0; for (int i = 0; i < this.Points.Count;i++) { for (int j = 0; j < this.Clusters.Count; j++) 62 { Jk += Math.Pow(U[i, j], this.Fuzzyness) * Math.Pow(this khoang_cach_ocolit(Points[i], Clusters[j]), 2); } } return Jk; } public void tinh_trong_tam() { for (int j = 0; j < this.Clusters.Count; j++) { ClusterCentroid c = this.Clusters[j]; double l = 0.0; c.PixelCount = 1; c.RSum = 0; c.GSum = 0; c.BSum = 0; c.MembershipSum = 0; for (int i = 0; i < this.Points.Count; i++) { ClusterPoint p = this.Points[i]; l = Math.Pow(U[i, j], this.Fuzzyness); c.RSum += l * p.PixelColor.R; c.GSum += l * p.PixelColor.G; c.BSum += l * p.PixelColor.B; c.MembershipSum += l; if (U[i, j] == p.ClusterIndex) { c.PixelCount += 1; } } 63 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phạm Việt Bình, Đỗ Năng Toàn, Xử lý ảnh, Nhà xuất Khoa học Kỹ thuật, 2008 [2] Vũ Lan Phƣơng, Nghiên cứu cài đặt số giải thuật phân cụm phân lớp, Luận văn Thạc sỹ Đại học Bách khoa Hà Nội, 2006 [3] Vũ Việt Vũ, Nghiên cứu phương pháp học máy cho toán phân cụm nửa giám sát, Đề tài khoa học công nghệ cấp đại học, 2015 Tiếng Anh [4] M Lichman, UCI Machine Learning Repository [archive.ics.uci.edu/ml] Irvine, CA: University of California, School of Information and Computer Science, 2013 [5] Rafael C Gonzalez and Richard E Woods, Digital Image Processing, Prentice Hall, 2007 [6] Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 2009 [7] W M Rand Objective criteria for the evaluation of clustering methods Journal of the American Statistical Association, 66 (336): 846–850, 1971 [8] Violaine Antoine, Nicolas Labroche, Viet-Vu Vu Evidential seed-based semi-supervised clustering Proceeding of the 7th International Conference on Soft Computing and Intelligent Systems and 15th International Symposium on Advanced Intelligent Systems, Japan, December, 3-6, 2014 [...]... (hàm độ đo) Sau đó thuật toán phân cụm sẽ sử dụng hàm độ đo nay để phân cụm các dữ liệu 19 CHƢƠNG 2 MỘT SỐ THUẬT TOÁN PHÂN CỤM NỬA GIÁM SÁT 2.1 Giới thiệu bài toán phân cụm nửa giám sát Một trong những hƣớng nghiên cứu quan trọng trong các năm gần đây là phát triển các phƣơng pháp phân cụm nửa giám sát (semi-supervised clustering) Các thuật toán phân cụm nửa giám sát sẽ sử dụng các thông tin có đƣợc... pháp phân cụm dựa trên mô hình cố gắng khớp giữa các dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu đƣợc tạo ra bằng hỗn hợp phân phối xác suất cơ bản 1.7 Ứng dụng của thuật toán phân cụm Phân cụm dữ liệu đƣợc ứng dụng vào rất nhiều lĩnh vực nhƣ thƣơng mại, sinh học, phân tích dữ liệu không gian, lập quy hoạch đô thị, nghiên cứu trái đất, địa lý, Web… Ứng dụng của thuật toán phân cụm. .. cụm có thể kể đến nhƣ: Phân đoạn /phân cụm ảnh (Image Segmentation) là một nội dung nghiên cứu căn bản và khó trong lĩnh vực xử lý ảnh, thị giác máy tính Các hƣớng tiếp cận chính trong phƣơng pháp phân đoạn ảnh là sử dụng thuật toán phân cụm (có giám sát – supervised), không giám sát (unsupervised) hoặc nửa giám sát (semi-supervised) Một số ví dụ có thể kể đến nhƣ sau [3]: - Phân đoạn ảnh bất bình thƣờng... cặp (xi, xj) sao cho cả xi và xj nằm ở hai cụm khác nhau trong P1 và P2 Giá trị Rand đƣợc xác định bởi công thức: Rand ( P1 , P2 ) a b nn 1 2 Giá trị của Rand nằm trong đoạn [0, 1], giá trị Rand càng lớn thể hiện chất lƣợng phân cụm càng tốt và ngƣợc lại 1.9 Phƣơng pháp phân cụm nửa giám sát Các thuật toán phân cụm nửa giám sát sẽ sử dụng các thông tin có đƣợc từ ngƣời sử dụng (side information) nhằm... với chất lƣợng phân cụm tốt và thoả rất nhiều ràng buộc khác nhau Khả năng diễn dịch và tính tiện lợi: Các user có thể trông chờ các kết quả phân cụm ở khả năng diễn dịch, tính toàn diện và tiện lợi Phân cụm có thể cần đƣợc liên kết với các cách hiểu ngữ nghĩa cụ thể và các ứng dụng cụ thể Việc nghiên cứu mục đích của ứng dụng ảnh hƣởng nhƣ thế nào đến việc lựa chọn các phƣơng pháp phân cụm là thực sự... lƣợc trong phƣơng pháp phân cụm dữ liệu 1.6.1 Phương pháp phân cụm phân hoạch (Partitioning Methods) Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định số các cụm đƣợc thiết lập Số các cụm đƣợc thiết lập là các đặc trƣng đƣợc lựa chọn trƣớc Phƣơng pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean 1.6.2 Phương pháp phân cụm phân cấp (Hierarchical... trình phân cụm nhằm tăng chất lƣợng của clustering Chú ý rằng đối với các bài toán semi-supervised classification chúng ta cũng có cùng đầu vào nhƣ bài toán phân cụm nửa giám sát, tuy nhiên mục đích nghiên cứu của bài toán phân lớp nửa giám sát nhằm xây dựng hàm mục tiêu nhằm dự đoán cho các điểm dữ liệu chƣa biết không nằm trong phạm vi nghiên cứu của đề tài này Hiện nay có hai hƣớng tiếp cận phƣơng pháp. .. X) biểu thị u và v sẽ đƣợc phân vào cùng một cụm và cannot-link(u,v) biểu thị u và v sẽ đƣợc phân về hai cụm khác nhau Các phƣơng pháp semi-supervised clustering bắt đầu đƣợc nghiên cứu một cách mạnh mẽ từ sau nghiên cứu của Tiến sĩ Wagstaff về Constrained KMeans Clustering tại hội nghị ICML năm 2001 Các thuật toán semisupervised clustering đã đƣợc nghiên cứu khẳng định chất lƣợng phân cụm đƣợc tăng... toán phân cụm: hình bên trái bao gồm 3 cụm rời nhau tuyến tính trong khi hình bên phải có các cụm hình dạng bất kỳ và không tuyến tính 1.5 Các yêu cầu của bài toán phân cụm Phân cụm là một lĩnh vực nghiên cứu có nhiều thách thức, tại đó các ứng dụng tiềm năng của nó đƣa ra các yêu cầu đặc biệt Sau đây là các yêu cầu điển hình của phân cụm trong khai phá dữ liệu: 9 Khả năng mở rộng: Nhiều giải thuật phân. .. kết quả của thuật toán phân cụm Để đánh giá kết quả của các thuật toán phân cụm, chúng tôi sử dụng chỉ số Rand, một trong những phƣơng pháp phổ biến để đánh giá kết quả phân cụm [4] Giả sử cần so sánh hai kết quả phân cụm P1 và P2 với n điểm dữ liệu chúng ta thực hiện nhƣ sau: Gọi a là tổng số các cặp (xi, xj) có tính chất: cả xi và xj đều nằm cùng một cụm trong cả hai phân cụm P1 và P2 Gọi b là tổng