Trong các thuật toán trình bày, một kỹ thuật trọng số mới phân loại dữ liệu được đưa ra để tính toán trọng số cho mỗi thuộc tính hoặc chiều trong mỗi cụm và sử dụng các giá trị trọng số
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -
PHAN THỊ LUÂN
PHÂN CỤM DỮ LIỆU ĐỊNH DANH VỚI SỐ CHIỀU CAO
Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
Mã số: 60 48 10
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS HOÀNG XUÂN HUẤN
Hà Nội - 2013
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 1
DANH MỤC CÁC KÍ HIỆU, TỪ VIẾT TẮT 5
DANH MỤC CÁC HÌNH VẼ 6
DANH MỤC BẢNG BIỂU……… 7
MỞ ĐẦU 8
CHƯƠNG 1: GIỚI THIỆU VỀ KHÁM PHÁ TRI THỨC VÀ PHÂN CỤM DỮ LIỆU 11 1.1 Khám phá tri thức 11
1.2 Phân cụm dữ liệu 12
1.3 Vấn đề chuẩn hóa dữ liệu 13
1.4 Các ứng dụng của phân cụm dữ liệu 15
1.5 Mêtric trên dữ liệu hỗn hợp 16
1.6 Độ tương đồng 19
CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM CHÍNH 22
2.1 Phương pháp phân hoạch 22
2.1.1 Thuật toán K-Means 24
2.1.2 Thuật toán phân cụm K-centroid 26
2.2 Phương pháp phân cấp 26
2.2.1 Thuật toán BIRCH 28
2.2.2 Thuật toán ROCK 30
2.3 Phương pháp phân cụm dựa trên mật độ 31
2.4 Phương pháp phân cụm dựa trên lưới 33
CHƯƠNG 3: PHÂN CỤM DỮ LIỆU VỚI THUỘC TÍNH ĐỊNH DANH 36
3.1 Mode và thuật toán k-modes 37
3.1.1 Mode của tập dữ liệu hỗn hợp 37
3.1.2 Thuật toán k-modes 40
Trang 43.2 Thuật toán K-Prototypes 40
3.3 Thuật toán k-modes có trọng số 41
3.4 Thuật toán k-modes cho dữ liệu hỗn hợp có trọng số 46
3.5 Entropy và thuật toán COOLCAT 55
3.5.1 Entropy và cụm 55
3.5.2 Vấn đề về công thức 58
3.5.3 Thuật toán COOLCAT 59
3.6 Tiêu chuẩn đánh giá chất lượng phân cụm 64
CHƯƠNG 4: KẾT QUẢ THỬ NGHIỆM 64
4.1 Giới thiệu 64
4.2 Chương trình và dữ liệu thử nghiệm 64
4.2.1 Chương trình 64
4.2.2 Dữ liệu thử nghiệm 65
4.3 Kết quả thử nghiệm 67
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 74
TÀI LIỆU THAM KHẢO 75
PHỤ LỤC 78
Trang 5DANH MỤC CÁC KÍ HIỆU, TỪ VIẾT TẮT
Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh
Thuật toán BIRCH BIRCH Balanced Interative Reducing and
Clustering using Hierarchies
Thuật toán DBSCAN DBSCAN Density-Based Spatial Clustering of
Applications with Noise Thuật toán DENCLUE DENCLUE DENsity – based CLUstEring Khai phá tri thức trong cơ sở dữ
liệu
KDD Knowledge Discovery in Databases
Thuật toán OPTICS OPTICS Ordering Points To Indentify the
Clustering Structure
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Quá trình phát hiện tri thức trong CSDL 12
Hình 1.2 Mô phỏng vấn đề phân cụm dữ liệu 13
Hình 1.3 Dữ liệu chữ thập với các mêtric khác nhau 14
Hình 1.4 Kết quả phân cụm thay đổi khi thay đổi tỉ lệ trục tọa độ 14
Hình 2.1 Minh họa phân cụm K-means 25
Hình 2.2 Ví dụ về trộn và tách của phân cụm phân cấp trên tập đối tượng{a, b, c, d} 27 Hình 2.3 Cấu trúc cây CF 29
Hình 2.4 Phạm vi và sự liên kết mật độ trong phân cụm dựa trên mật độ 33
Hình 2.5 Ví dụ về xác định các cụm trung tâm và các cụm có hình dạng tùy ý 33
Hình 2.6 Ví dụ về đặc trưng của không gian 2 chiều 34
Hình 2.7 Multiresolution of the feature space 34
Hình 3.1 Tần số thuộc tính aj 37
Hình 3.2 Các chức năng giá trị khách quan đối với các lần lặp khác nhau ban đầu dự đoán
54 Hình 4.1 C-Free tạo ra chương trình 64
Hình 4.2 Giao diện khi chạy chương trình 65
Hình 4.3 Mô hình quan hệ của dữ liệu thử nghiệm 67
Hình 4.4 Biểu đồ biến thiên giá trị CU trung bình của 2 thuật toán theo số cụm ứng với CSDL thuê bao di động
70 Hình 4.5 Biểu đồ biến thiên thời gian chạy chương trình của 2 thuật toán ứng với CSDL thuê bao di động
70 Hình 4.6 Hình 4.7 Biểu đồ biến thiên giá trị CU trung bình của 2 thuật toán theo số cụm ứng với cơ sở dữ liệu điều tra dân số của Mỹ năm 1990………
Biểu đồ biến thiên thời gian chạy chương trình của 2 thuật toán theo số cụm ứng với cơ sở dữ liệu điều tra dân số năm 1990………
71
72
Trang 7Bảng 1.1 Bảng tham số 20
Bảng 3.1 Ví dụ về tập dữ liệu 44
Bảng 3.2 Phân phối tần số cho một biến định tính 55
Bảng 3.3 Bảng tiếp liên để so sánh hai phân cụm 62
Bảng 4.1 Kết quả thử nghiệm với dữ liệu đậu tương 68
Bảng 4.2 Kết quả thử nghiệm với tập dữ liệu nấm……… 68
Bảng 4.3 Kết quả thử nghiệm với tập dữ liệu ung thư phổi 69
Bảng 4.4 Kết quả thử nghiệm với tập dữ liệu thuê bao di động phát sinh của thủ đô Hà Nội với số cụm k biến thiên
69
Bảng 4.5 Kết quả thử nghiệm với tập dữ liệu USCensus với số cụm k biến thiên… 71
DANH MỤC BẢNG BIỂU
Trang 8MỞ ĐẦU
Phân cụm dữ liệu nhằm chia tập dữ liệu thành nhiều cụm, trong đó các phần tử trong một cụm giống nhau nhiều hơn các phần tử khác cụm, là một phần quan trọng trong phân tích thống kê nhiều chiều và học máy không giám sát Bài toán này có nhiều ứng dụng trong các lĩnh vực khác nhau như: gian lận tài chính, chẩn đoán trong y tế, xử lý hình ảnh, tìm kiếm thông tin, tin sinh học
Những thuật toán phân cụm đầu tiên làm việc với các đặc trưng số như là một phần của thống kê toán [15] Cùng với sự phát triển của ứng dụng công nghệ thông tin, khối lượng dữ liệu tăng nhanh đòi hỏi phát triển các kỹ thuật khám phá tri thức trên các dạng
dữ liệu khác nhau trên dữ liệu lớn với độ phức tạp thấp Mặt khác các kỹ thuật khám phá tri thức thường phải làm việc với dữ liệu quan hệ nhiều chiều với các thuộc tính giá trị định danh [16] Trong trường hợp đó việc phân dữ liệu thành các nhóm con có độ tương
tự cao trong mỗi nhóm để xử lý sẽ giảm đáng kể thời gian chạy cho các thuật toán và tăng chất lượng của kỹ thuật khám phá tri thức
Bài toán phân cụm dữ liệu thuộc loại “thiết lập không đúng đắn” theo nghĩa lời giải thường không duy nhất và thay đổi nhiều khi dữ liệu thay đổi ít Vì vậy người ta có nhiều cách tiếp cận dựa trên quan sát tổng thể tập dữ liệu để áp dụng thuật toán thích hợp Khi
số chiều cao, ngoài khối lượng tính toán tăng lên, dữ liệu phân bố “thưa” nên việc quan sát dữ liệu để phân tích đặc điểm hình học cũng rất khó khăn nên phân cụm khó hiệu quả Một cách tiếp cận cho dữ liệu chiều cao là chiếu chúng lên không gian có chiều thấp hơn, chẳng hạn, các phương pháp: CLIQUE[2], ENCLUS[6], MAFIA[19], Proclus[4], ORCLUS[5], FINDIT[13], DOC [7], d-clusters[9], HARP[14] và LDR[11] cho dữ liệu
số
Trong các phương pháp phân cụm, thuật toán k-means do MacQueen (1967 ) đề xuất có độ phức tạp thấp, thích hợp với dữ liệu lớn và có số chiều cao Ban đầu thuật toán này được dùng cho dữ liệu số sau đó được phát triển thành thuật toán k-modes cho các
dữ liệu định danh Tuy nhiên khi dữ liệu nhiều chiều, việc xem đồng thời các thuộc tính như nhau khi phân cụm ở thuật toán này không thích hợp và người ta phát triển nhiều thuật toán mới
Để giải quyết hiệu quả vấn đề này, luận văn đã trình bày một số thuật toán tối ưu hoá để so sánh phân nhóm dữ liệu phân loại chiều cao
Trang 9Trong các thuật toán trình bày, một kỹ thuật trọng số mới phân loại dữ liệu được đưa ra để tính toán trọng số cho mỗi thuộc tính (hoặc chiều) trong mỗi cụm và sử dụng các giá trị trọng số để xác định tập hợp con cuả các thuộc tính quan trọng mà phân loại cụm khác nhau
Các nghiên cứu thực nghiệm cho thấy rằng các thuật toán đề xuất có hiệu quả trong nhóm phân loại tập hợp dữ liệu và cũng có khả năng mở rộng dữ liệu lớn với độ phức tạp là tuyến tính
Ngoài phần kết luận luận văn được trình bày thành 4 chương với nội dung được trình bày như sau:
Chương 1: Giới thiệu về khám phá tri thức và phân cụm dữ liệu Trình bày cách biểu
diễn dữ liệu trong máy tính nhằm phục vụ cho quá trình phân cụm, giới thiệu độ tương đồng giữa các đối tượng trong tập dữ liệu, các phương pháp phân cụm dữ liệu
Chương 2: Một số phương pháp phân cụm chính
Ở chương này với mỗi phương pháp phân cụm sẽ trình bày một số thuật toán chính Tư tưởng của phương pháp phân hoạch là tìm cách phân chia tập dữ liệu thành các tập không giao nhau, thỏa mãn điều kiện làm tối ưu hàm đánh giá Trong mỗi tập con thường có ít nhất một phần tử đại diện, phần tử đại diện thường là tâm của tập con đó Mỗi đối tượng trong tập dữ liệu được phân vào cụm có điểm đại diện gần với đối tượng
đó nhất Quá trình này lặp đi lặp lại cho tới khi hàm mục tiêu không thay đổi Phương pháp phân cấp phân tách các tập đối tượng theo hai cách: Tiếp cận từ dưới lên (Bottom-Up) hoặc trên xuống (Top-Down) Tiếp cận từ dưới lên bắt đầu với mỗi đối tượng được xem như một nhóm, sau đó gộp các đối tượng hay các nhóm theo các hàm như hàm khoảng cách giữa các tâm của hai nhóm và điều này được thực hiện cho tới khi tất cả các nhóm được gộp vào làm một nhóm hoặc cho tới khi điều kiện kết thúc được thỏa mãn Tiếp cận theo phương pháp từ trên xuống bắt đầu với tất cả các đối tượng nằm trong cùng một cụm Trong mỗi lần lặp, một cụm được tách ra thành các cụm nhỏ hơn theo một ước lượng nào đó Điều này được thực hiện cho tới khi mỗi đối tượng là một cụm, hoặc cho tới khi điều kiện kết thúc thỏa mãn Đối với phương pháp được phát triển dựa trên quan niệm về mật độ Các cụm tiêu biểu được xét là các vùng có các đối tượng tập trung đậm đặc và được phân chia bởi các vùng có mật độ thấp (đặc trưng cho nhiễu) Các phương pháp dựa trên mật độ có thể sử dụng để lọc ra các nhiễu (phần tử ngoại lai), và khám phá
ra các cụm có hình dạng bất kỳ Cách tiếp cận dựa trên lưới sử dụng cấu trúc lưới của dữ
Trang 10liệu Nó lượng tử hóa khoảng cách vào một số hữu hạn các ô là cấu trúc dạng lưới để tất
cả các phép toán phân cụm thực hiện được
Chương 3: Phân cụm dữ liệu với thuộc tính định danh
Với dữ liệu tồn tại trong tự nhiên là rất lớn và phong phú Trong khuôn khổ luận văn quan tâm đến việc phân cụm dữ liệu định danh Ở chương này chúng tôi có trình bày một số thuật toán, trong đó đi sâu vào hai thuật toán COOLCAT và MWKM để phân cụm
dữ liệu định danh với nhiều thuộc tính Luận văn cũng đã so sánh được ưu, nhược điểm của hai thuật toán này thông qua kết quả thực nghiệm ở chương 4
Chương 4: Kết quả thực nghiệm
Luận văn đã trình bày kết quả thực nghiệm so sánh hai thuật toán COOLCAT và MWKM với 5 bộ dữ liệu với nhiều thuộc tính: Cơ sở dữ liệu đậu tương, cơ sở dữ liệu nấm, cơ sở dữ liệu ung thư phổi, CSDL về thuê bao di động phát sinh của thành phố Hà Nội và CSDL điều tra dân số của Mỹ năm 1990 Các hàm mục tiêu để đánh giá chất lượng phân cụm là CU, ARI và ER đã được trình bày kỹ trong chương 3
Cuối cùng là kết luận, hướng phát triển, tài liệu tham khảo và phụ lục Phần kết luận trình bày tóm tắt kết quả thu được và đề xuất hướng nghiên cứu tiếp theo
Trang 11CHƯƠNG 1: GIỚI THIỆU VỀ KHÁM PHÁ TRI THỨC VÀ PHÂN CỤM DỮ LIỆU
Nội dung của chương này giới thiệu quá trình khám phá tri thức từ dữ liệu và các ứng dụng thực tế có sự hỗ trợ của các kỹ thuật khai thác dữ liệu Đồng thời, trình bày khái niệm về phân cụm dữ liệu và lĩnh vực khai thác dữ liệu
1.1 Khám phá tri thức
Trong nhiều năm trở lại đây khai thác dữ liệu đã thu hút được rất nhiều sự quan tâm trong ngành công nghiệp thông tin và xã hội, do dữ liệu sẵn có là vô cùng lớn và sự cần thiết chuyển dữ liệu đó thành thông tin và kiến thức hữu ích
Các thông tin và kiến thức thu được có thể được sử dụng cho các ứng dụng khác nhau, ví dụ như phân tích thị trường, phát hiện gian lận, và duy trì khách hàng, để kiểm soát sản xuất và khoa học thăm dò Khai phá dữ liệu có thể được xem như là một kết quả của sự tiến hóa tự nhiên của công nghệ thông tin [10]
Khái niệm KDD (Knowledge Discovery in Databases): KDD được định nghĩa là quá trình trích chọn các mẫu hoặc tri thức hấp dẫn (không tầm thường, tiềm ẩn, chưa biết
và hữu dụng tiềm năng) trong CSDL lớn
Quá trình KDD có thể phân thành các giai đoạn sau [10,18, 21]:
1 Lựa chọn dữ liệu: Là bước ta lựa chọn tập dữ liệu ban đầu theo một số tiêu chí nhất
định từ tập dữ liệu lớn như: database, data warehouses hay data repositories
2 Tiền xử lý dữ liệu: Bước này làm sạch dữ liệu (xử lý với dữ liệu không đầy đủ, dữ liệu
nhiễu, dữ liệu không nhất quán, …), rút gọn dữ liệu (sử dụng hàm nhóm và tính tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu, ….), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vào phân khoảng, ) Qua bước này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn, và được rời rạc hóa
3 Đổi dạng: Là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng phù hợp nhất
nhằm phục vụ cho các kỹ thuật khai phá ở bước sau
4 Khai phá dữ liệu (Data mining): Đây là bước áp dụng những kỹ thuật phân tích (phần
nhiều là các kỹ thuật của học máy) nhằm để khai thác dữ liệu, trích chọn được những mẫu thông tin, những mối liên hệ đặc biệt trong dữ liệu Đây được xem là bước quan trọng và tốn nhiều thời gian nhất của toàn quá trình KDD
Trang 125 Biểu diễn: Các mẫu thông tin và mối liên hệ trong dữ liệu đã được khám phá ở bước
trên được chuyển dạng và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật, Đồng thời bước này cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định
Hình 1.1 Quá trình phát hiện tri thức trong CSDL
1.2 Phân cụm dữ liệu
Phân cụm dữ liệu là một kỹ thuật quan trọng trong công nghệ tri thức được ứng dụng rộng rãi và đa dạng trong các ngành khoa học như sinh học, y học, tâm lý học, ngành marketting, thị giác máy tính và điều khiển học PCDL (Data clustering) là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các phần tử trong một cụm
"tương tự" (Similar) với nhau và các phần tử trong các cụm khác nhau sẽ "phi tương tự" (Dissimilar) với nhau Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định của phương pháp phân cụm Mục tiêu của phương pháp phân cụm dữ liệu là tìm kiếm các nhóm đối tượng theo hình dạng tự nhiên Các thuật toán phân cụm hướng tới việc tìm kiếm cấu trúc trong dữ liệu Nói cách
khác, phân cụm là phương pháp học từ quan sát (learning from obversation) hay còn gọi
là học không thầy (unsupervised learning or automatic classfication) trong lĩnh vực nhận
dạng mẫu (Patterm Recognition) nói riêng và trong trí tuệ nhân tạo nói chung Phân cụm đặc biệt hiệu quả khi không biết về thông tin các cụm, hoặc khi ta quan tâm tới các thuộc tính của cụm mà chưa biết hoặc biết rất ít về các thông tin đó [3, 10]
Dựa vào khám phá cấu trúc dữ liệu, ta chia tập dữ liệu thành các cụm rời nhau sao cho các đối tượng trong cùng một cụm thì tương tự nhau so với các đối tượng khác cụm Trong các bài toán này, ta không có thông tin về dữ liệu có nhãn mà chỉ đơn thuần dựa vào tính tương đồng của các đối tượng dữ liệu để phân lớp nên gọi tiếp cận này thuộc loại hướng dữ liệu (data driven)
Biểu diễn
Tri thức Mẫu
Khai phá
dữ liệu
Chuyển dạng dữ liệu
Đổi dạng Tiền xử lý
Chọn lựa
Dữ liệu đã tiền xử lý
Dữ liệu đích
Dữ liệu
Trang 13Ví dụ minh họa về phân cụm dữ liệu như hình 1.2 sau:
Hình 1.2: Mô phỏng vấn đề PCDL
Có nhiều thuật toán phân cụm dựa trên các cách tiếp cận khác nhau về liên quan của đối tượng (tính tương đồng), J Han và M Kamber [10] phân làm 4 loại chính:
Phương pháp phân hoạch (Partition Based Data Clustering)
Phương pháp phân cấp (Hierarchical Data Clustering)
Phương pháp dựa trên mật độ (Density Based Data Clustering)
Phương pháp dựa trên lưới (Grid Based Data Clustering)
Mỗi một phương pháp phân cụm dữ liệu đều có ưu, nhược điểm riêng, chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liệu Một thuật toán phân cụm phù hợp cho một ứng dụng phải thỏa mãn cả hai tiêu chuẩn về chất lượng và tốc độ yêu cầu
Trước khi giới thiệu các phương pháp phân cụm, ta xem xét vấn đề chuẩn hóa dữ liệu, một số khái niệm như chiều và phần tử nhiễu
1.3 Vấn đề chuẩn hóa dữ liệu
Việc chọn mêtric và đơn vị chia cho mỗi đặc trưng của dữ liệu ảnh hưởng nhiều tới kết quả phân cụm Trong hình 1.3 biểu diễn tập dữ liệu hình chữ thập, nếu chia tập dữ liệu thành hai cụm theo tiêu chuẩn cực tiểu sai số trung bình
i i x y i
y x d
n
và dùng chuẩn Euclide thì ta được hai cụm ở hình a còn dùng chuẩn Mahattan thì ta được hai cụm ở hình b
Trang 14Hình 1.3 Dữ liệu chữ thập với các mêtric khác nhau: a) Euclide; b) Mahattan
Việc chọn đơn vị cho đặc trưng cũng có thể cho kết quả khác nhau Trong hình 1.4 chỉ ra rằng bằng trực quan ta thấy cách chia dữ liệu về tội phạm có thể khác nhau khi ta dùng các cách chia tỷ lệ cho mỗi đặc trưng
Hình 1.4: Kết quả phân cụm thay đổi khi thay đổi tỷ lệ trục tọa độ.a) {Faro, V.Real} {Setúba, Viseu}; b) { Viseu, V.Real} {Setúba, Faro };
Nói chung không phải dữ liệu nào cũng cần chuẩn hóa, đặc biệt với các bài toán cần thông tin từ đặc trưng gốc
Tuy vậy sau đây là một số cách để chuẩn hóa các đặc trưng của dữ liệu:
yi = (xi - m)/s với m,s tương ứng là trung bình và độ lệch chuẩn của xi ; (1.3a)
yi = (xi - min(xi))/(max(xi)-min(xi)); (1.3b)
Trang 152 Mêtric thích hợp phụ thuộc vào phương pháp chuẩn hóa
3 Để chọn phương pháp chuẩn hóa ta cần biết về kiểu cụm muốn có
Chiều: Là số thuộc tính của một đối tượng dữ liệu Một số các thuật toán phân cụm thực hiện tốt, nó không bị giảm chất lượng khi số chiều tăng lên Giảm chất lượng thể hiện: tăng thời gian thực hiện hoặc giảm chất lượng cụm Bởi vậy, tùy thuộc vào ứng dụng mà ta chọn thuật toán nhiều chiều phù hợp
Các phần tử nhiễu (noise), ngoại lai (Outlier) trong dữ liệu: Trong dữ liệu phân cụm hầu hết đều chứa các dữ liệu nhiễu và các phần tử ngoại lai Một số thuật toán phân cụm dữ liệu rất dễ bị ảnh hưởng bởi nhiễu và các phần tử ngoại lai Cho nên việc làm sạch dữ liệu trước khi sử dụng cũng là một vấn đề đặt ra hoặc phải lựa chọn kỹ lưỡng nếu dữ liệu trong ứng dụng bao gồm một lượng lớn “nhiễu”
Bởi vậy, các vấn đề liên quan đến bài toán phân cụm dữ liệu là vấn đề biểu diễn dữ liệu trong máy tính, xác định phương pháp, từ đó đưa ra thuật toán cụ thể để áp dụng, đồng thời xác định độ tương đồng giữa các đối tượng Đối với các thuật toán trong phương pháp dựa vào phân hoạch thì ta còn phải xây dựng hàm mục tiêu phù hợp để thuật toán cho ra kết quả phân cụm tốt
1.4 Các ứng dụng của phân cụm dữ liệu
Phân cụm dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau
ở các nước trên thế giới Hiện nay, nó là một trong những công cụ chính được ứng dụng trong nhiều lĩnh vực như thương mại và khoa học Các kỹ thuật PCDL đã được áp dụng
cho một số ứng dụng điển hình trong các lĩnh vực sau [1, 10, 17]:
Tóm tắt và giải thích dữ liệu bài toán: Nhiều bài toán, dữ liệu có thể được tóm
tắt nhờ xem xét thuộc tính của các cụm dữ liệu mà không cần thiết xem xét thuộc tính của từng mẫu Trong nhiều lý thuyết khoa học, việc giải thích theo cụm cũng rất có ý nghĩa, chẳng hạn việc phân tích tiến hóa sinh học có thể thực hiện theo loài và nhóm
Tạo mẫu cho tiếp cận phân lớp thống kê: Trong nhiều bài toán phân lớp, việc thu
thập dữ liệu mất nhiều thời gian và chi phí lớn Việc phân cụm dữ liệu được thực hiện ở giai đoạn đầu để ước lượng phân phối lớp cho các tập mẫu nhỏ
Để tạo tâm cho các nơron nhân tạo trong các bộ phân lớp loại này: Khi dùng
mạng nơron nhân tạo để phân lớp, người ta thường dùng vector trung bình của các vector đặc trưng trong cụm làm tâm của các nơron để nhận biết các mẫu có đặc trưng gần đó
Trang 16Thương mại: Trong thương mại, PCDL có thể giúp các thương nhân khám phá ra
các nhóm khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ các mẫu mua bán trong CSDL khách hàng
Sinh học: Trong sinh học, PCDL được sử dụng để xác định các loại sinh vật,
phân loại các Gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu
Phân tích dữ liệu không gian: Do sự đồ sộ của dữ liệu không gian như dữ liệu thu
được từ các hình ảnh chụp từ vệ tinh các thiết bị y học hoặc hệ thống thông tin địa lý (GIS), …làm cho người dùng rất khó để kiểm tra các dữ liệu không gian một cách chi tiết PCDL có thể trợ giúp người dùng tự động phân tích và xử lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại trong CSDL không gian
Lập quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý,…nhằm
cung cấp thông tin cho quy hoạch đô thị
Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp
thông tin cho nhận dạng các vùng nguy hiểm
Địa lý : Phân lớp các động vật và thực vật và đưa ra đặc trưng của chúng
Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…
Bảo hiểm: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính,
dự đoán xu hướng của khách hàng, phát hiện gian lận tài chính;
Web Mining: PCDL có thể khám phá các nhóm tài liệu quan trọng, có nhiều ý
nghĩa trong môi trường Web Các lớp tài liệu này trợ giúp cho việc khám phá tri thức từ
dữ liệu,…
1.5 Mêtric trên dữ liệu hỗn hợp
Như đã trình bày ở 1.2 trong phân cụm, các đối tượng dữ liệu thường được diễn tả dưới dạng các đặc tính hay còn gọi là thuộc tính (tên gọi “các kiểu dữ liệu” hay “các kiểu thuộc tính dữ liệu” là tương đương nhau) Các thuộc tính này là các tham số để giải quyết vấn
đề phân cụm và sự lựa chọn chúng có tác động đáng kể đến kết quả phân cụm Phân loại các kiểu thuộc tính khác nhau là vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm cung cấp các phương tiện thuận lợi để nhận dạng sự khác nhau của các phần tử dữ liệu Các thuật toán phân cụm thường sử dụng một trong hai cấu trúc dữ liệu sau[10]:
Trang 17Ma trận dữ liệu (Data matrix, object-by-variable structure): Là mảng n hàng, p
cột, trong đó p là số thuộc tính của mỗi đối tượng Mỗi hàng biểu diễn một đối tượng, các phần tử trong mỗi hàng chỉ giá trị thuộc tính tương ứng của đối tượng đó Mảng được cho như sau:
Ma trận phi tương tự (Dissimilarity matrix, object-by-object structure): Là mảng n
hàng, n cột Phần tử d(i,j) chứa khoảng cách hay độ khác biệt giữa các đối tượng i và đối tượng j, d(i,j) là một số không âm, trong đó nếu d(i,j) xấp xỉ 0 thì hai đối tượng i và j là khá "gần" nhau, nếu d(i,j) càng lớn thì hai đối tượng i, j khá khác nhau Do d(i,j) = d(j,i) =
0 nên ta có thể biểu diễn ma trận phi tương tự như sau:
0 ( 2 , 1) 0 ( 3 , 1) ( 3 , 2 ) 0
Trong lược đồ quan hệ R, miền giá trị của các thuộc tính Aj có thể là tập số thực, định danh hay là tập có thứ tự [1, 10]
Định nghĩa 1.5.1 Giả sử DOM(Aj) là miền giá trị của thuộc tính Aj Ta có các khái niệm sau
i) Thuộc tính định danh Đây là dạng thuộc tính khái quát hoá của thuộc tính nhị phân, Aj
đượcgọi là thuộc tính định danh nếu DOM(Aj) là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử, tức là a,b DOM(Aj), hoặc a = b hay a b Chẳng hạn như
thuộc tính nơi sinh hoặc thuộc tính tên gọi của người
ii) Thuộc tính số Aj đượcgọi là thuộctính số nếu DOM(Aj) là tập số thực
Trang 18iii) Thuộc tính thứ tự: Là thuộc tính định danh nhƣng có thêm tính thứ tự nhƣng chúng
không đƣợc định lƣợng Nếu DOM(Aj) là tập hữu hạn và có thứ tự hoàn toàn thì Aj đƣợc gọi là thuộc tính có thứ tự, chẳng hạn: DOM(Aj) = { không đau, hơi đau, đau và rất đau}
Trên miền giá trị DOM(Aj) của một thuộc tính Aj ta xác định các khoảng cách nhƣ sau
iv) Thuộc tính nhị phân là thuộc tính có hai giá trị là 0 và 1
Định nghĩa 1.5.2 x,y DOM(Aj) ta hàm dj(x,y) xác định bởi :
i) Nếu Aj là thuộc tính số thì dj(x,y) = x y (1.5a)
ii) Nếu Aj là thuộc tính thứ tự và DOM(Aj) = k
j
j a
a , ,1 với k
j j
a1 2 , ta lấy một hàm đơn điệu fj: DOM(Aj)→ [0,1] sao cho ( 1) 0 ; ( k) 1
j j j
f j i j ) Khi đó dj(x,y) = │fj(x)-fj(y) │ (1.5b)
iii) Nếu Aj là thuộc tính định danh thì dj(x,y) =
y x khi
: 1
: 0
(1.5c)
Bây giờ ta định nghĩa khoảng cách trên
Định nghĩa 1.5.3 Giả sử x = (x1, ,xn) và y = (y1, ,yn) là hai đối tƣợng dữ liệu hỗn hợp trên D, khoảng cách d(x,y) đƣợc tính bởi công thức:
j d x y y
x
d
1
2 2
) , ( )
x y
d2( , )
trong đó x là phần tử của quan hệ r trên lƣợc đồ quan hệ R={A1, ,An}
Trang 191.6 Độ tương đồng
Phân cụm dữ liệu là phương pháp nhóm các đối tượng có độ tương tự (Similar) hay độ
tương đồng vào trong một nhóm, các đối tượng ở các nhóm khác nhau thì có độ tương đồng thấp Độ tương đồng giữa các đối tượng mô tả tính chất giống nhau hoặc khác nhau giữa chúng theo một ý nghĩa nào đó Có rất nhiều hàm được dùng để biểu diễn độ tương đồng giữa các đối tượng Trong khuôn khổ luận văn chỉ trình bày một số các hàm đo tương đồng phổ biến gọi là các hàm khoảng cách
Tất cả phương pháp đo khoảng cách đều phụ thuộc vào kiểu thuộc tính (hay kiểu
dữ liệu) của các đối tượng được phân tích
Chẳng hạn thuộc tính hạng mục (Categorical) người ta không sử dụng độ đo
khoảng cách mà sử dụng một hướng hình học của dữ liệu
Mỗi một kiểu dữ liệu đều tồn tại một không gian đo mêtric cho nó Một không gian
mêtric là một tập trong đó có xác định các “khoảng cách” giữa từng cặp phần tử, với
những tính chất thông thường của khoảng cách hình học Khoảng cách giữa hai mẫu thứ i
và mẫu thứ k kí hiệu là d(i, k) phải thỏa mãn tính chất sau:
i) d(i, i) = 0 với mọi i
ii) d(i, k) = d(k, i) với mọi cặp (i, k)
iii) d(i, k) >= 0 với mọi cặp (i, k)
Một số phép đo độ tương tự áp dụng cho các kiểu thuộc tính [10]
Thuộc tính khoảng: Sau khi chuẩn hóa, độ đo phi tương tự của hai đối tượng dữ
liệu x, y được xác định bằng các mêtric khoảng cách như sau:
Khoảng cách Minskowski
)
|
|(1
) , (
/ 1
1
2
)(
) , (
Đây là trường hợp đặc biệt của khoảng cách Minskowski trong trường hợp q = 2
Trang 20Độ đo Công thức Giải thích
x d
1
|
| ) ,
y x
Đây là trường hợp của khoảng cách Minskowski trong trường hợp q
Thuộc tính nhị phân: Trước hết chúng ta có xây dựng bảng tham số sau :
là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x, y
là tổng số các giá trị thuộc tính có giá trị là 1 trong x và 0 trong y
là tổng số các giá trị thuộc tính có giá trị là 0 trong x và 1 trong y
là tổng số các giá trị thuộc tính có giá trị là 0 trong x và y Các phép đo độ tương tương đồng đối với dữ liệu thuộc tính nhị phân được định nghĩa như sau :
o Hệ số đối sánh đơn giản:
d , ở đây cả hai đối tượng x và y có vai trò như nhau, nghĩa là chúng đối xứng và có cùng trọng số
Bảng 1 : Bảng ngẫu nhiên
Trang 21d , chú ý rằng tham số này bỏ qua số các đối sánh giữa 0 - 0 Công thức tính này được sử dụng trong trường hợp mà trọng số của các thuộc tính có giá trị 1 của đối tượng dữ liệu có cao hơn nhiều so với các thuộc tính có giá trị 0, như vậy các thuộc tính nhị phân ở đây là không đối xứng
Thuộc tính định danh: Độ đo phi tương tự giữa hai đối tượng x và y được định
Tóm lại, tuỳ từng trường hợp dữ liệu cụ thể mà người ta sử dụng các mô hình tính
độ tương tự khác nhau Việc xác định độ tương đồng dữ liệu thích hợp, chính xác, đảm bảo khách quan là rất quan trọng, góp phần xây dựng thuật toán PCDL có hiệu quả cao trong việc đảm bảo chất lượng cũng như chi phí tính toán của thuật toán
Trang 22CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM CHÍNH
Trong chương trước chúng ta đã đề cập đến một số phương pháp phân cụm dữ liệu điển hình Hiện nay đã có rất nhiều phương pháp phân cụm dữ liệu và các thuật toán phân cụm được xây dựng nhằm áp dụng vào các mục đích cụ thể Trong khuôn khổ luận văn này trình bày một số phương pháp phân cụm chính, trong đó hai phương pháp thông dụng hơn
đó là phương pháp phân hoạch và phân cấp
2.1 Phương pháp phân hoạch
Trong phương pháp này [10], với số lượng cụm đã định, người ta lần lượt phân các mẫu vào các cụm, sau đó thực hiện lặp quá trình điều chỉnh để cực tiểu hàm mục tiêu được chọn Thông dụng nhất là thuật toán k-means và các biến thể của nó Trong các thuật toán này, số lượng cụm k thường được xác định trước hoặc đặt dưới dạng các tham số Với tập
dữ liệu D gồm n đối tượng trong không gian d chiều, các mẫu được phân thành k cụm sao cho tổng bình phương độ lệch của mỗi mẫu tới tâm của nó là nhỏ nhất Dưới đây là một
số thuật toán điển hình của phương pháp này
Trước hết ta định nghĩa các kí ký hiệu chung được sử dụng trong các thuật toán là:
Cho một tập dữ liệu X, ta coi mỗi dữ liệu trong đó là một đối tượng, nó có có thể được thể hiện dưới dạng một vector Giả sử X = {X1, X2, …, Xn} là một tập gồm n đối tượng, khi đó ta có thể coi X như là một ma trận đại diện
[X1, X2, …, Xn]
Chúng ta coi mỗi đối tượng có tập các thuộc tính, A1, A2, …, An Mỗi thuộc tính Ai
được mô tả bởi miền giá trị, biểu diễn bằng DOM(Ai) liên quan đến một ngữ nghĩa xác định và một kiểu dữ liệu
Một đối tượng Xj trong X có thể được biểu diễn logic như là hội của cặp các thuộc tính giá trị
[A1 = Xj,1] [A2 = Xj,2] …[Am = Aj, m],
Trong đó
Xj,i DOM(Ai) với 1j n và 1 i m
Hay nói cách khác, ta đại diện Xj như một vector
Trang 23Với 1im Quan hệ Xj = Xk không có nghĩa là Xi và Xk là hai đối tượng như nhau trong dữ liệu thực, không phải là hai đối tượng có các giá trị thuộc tính A1, A2, …, Am là bằng nhau
Trong việc phân cụm, chúng ta áp dụng các thuật toán để nhóm các đối tượng vào các cụm khác nhau Ta có thể giả định các đối tượng đó có thể thuộc về một cụm hoặc nó
là các thành viên riêng Để cho đơn giản, ta sẽ sử dụng vấn đề phân cụm cứng trong thuật toán thuộc tính trọng số hoặc trong các từ khác, chúng ta giả định rằng mỗi đối tượng chỉ thuộc về một cụm Nói chung, mục tiêu của chúng ta cần phải giảm thiểu hàm mục tiêu với các ràng buộc:
Wl,j {0, 1}, 1 l k, 1jn, Ràng buộc này thể hiện mỗi đối tượng là 0 hoặc 1, nếu Xjđược đưa vào cụm l, khi đó tương ứng với thành viên wl,j = 1 (2.2)
<n, 1 l k , Ràng buộc này muốn chỉ ra rằng, một cụm k chứa ít nhất một phần
tử, một cụm k cũng không chứa tất cả các thành viên của đối tượng (2.4) Trong đó:
* n là số đối tượng trong tập dữ liệu
* m là số lượng thuộc tính đặc trưng cho từng đối tượng
Trang 242.1.1 Thuật toán K-Means
Việc đầu tiên của thuật toán k-Means (MacQueen, 1967; Anderberg, 2973) [10, 24] là
tính toán các tâm của cụm Sau đó phân vùng tập dữ liệu thành các cụm khác nhau dựa
vào khoảng cách nhỏ nhất giữa đối tượng và tâm của cụm
Tối thiểu hàm mục tiêu F trong (2.1) với các ràng buộc trong (2.2) (2.3) và (2.4)
Đầu tiên ta cố định Z và tìm các điều kiện cần thiết trong W để giảm thiểu F Sau đó cố
định W và tìm Z để giảm thiểu F Thuật toán được mô tả như sau:
Thuật toán k-means
1 Lựa chọn ma trận đầu tiên Z(1) m x k
Đặt t = 1 Xác định W(1)
sao cho F(W, Z(1)) là nhỏ nhất
2 Xác định Z(t+1) sao cho F(W(t), Z(t+1)) là nhỏ nhất nếu
3 Xác định W(t+1) sao cho F(W(t+1), Z(t+1)) là nhỏ nhất nếu
Trong thuật toán k-means, khoảng cách Euclidean thường được sử dụng là độ đo
phi tương tự Bởi vậy, khoảng cách giữa hai đối tượng Xl và Xj được định nghĩa như sau:
dn(Xl, Xj) = 2
, , 1
m
l i j i i
x x
Như chúng ta đã đề cập ở trên, với Z, ta cần phải tính W trước, và sau đó với giá trị
này của W, ta cập nhật lại giá trị của Z, quá trình này được thực hiện lặp lại cho đến khi
không có sự thay đổi nào của hai giá trị này Phương pháp tìm W và Z có thể được thực
hiện như dưới đây:
Định lý 1: Cho Z là cố định Tối thiểu Wˆ của vấn đề tối ưu hóa
w
m i n F(W, Z ) Đối tượng với các ràng buộc (2.2), (2.3) và (2.4)
Trang 25Định lý 2: Cho W là cố định Tối thiểu Z của vấn đề tối ưu hóa m in ( W , )
Z
F Z được cho bởi
Thuật toán k-means có tính chất quan trọng sau:
1 Thuật toán này hiệu quả trong việc xử lý dữ liệu lớn
2 Nó thường kết thúc khi đạt được tối ưu cục bộ F ( MacQueen, 1967; Selim and Ismail, 1984)
3 Nó chỉ làm việc với các giá trị số
4 Với các cụm có hình dạng lồi (Anderberg, 1973)
Hình 2.1: Minh họa phân cụm K-Means
Điều kiện dừng của thuật toán thường chọn một trong các điều kiện sau:
1 t = Tmax trong đó Tmax là số số lần lặp cho trước
2 t t 1
F F trong đó ∆ là hằng số bé cho trước
3 Tới khi các cụm không đổi
Khi tập dữ liệu không quá lớn thì người ta dùng điều kiện dừng 3 Thuật toán này khi dùng điều kiện 3 sẽ cho cực trị địa phương của F Để có cực trị toàn cục người ta phải tìm phương pháp khắc phục, chẳng hạn dùng giải thuật di truyền hoặc khởi tạo nhiều klần
và chọn F nhỏ nhất
Nếu tâm khởi tạo không tốt thì có cụm rỗng (hay tâm chết) Ngoài ra khi có nhiễu thì thuật toán này không ổn định Người ta khắc phục bằng thuật toán K-Medoids
Trang 262.1.2 Thuật toán phân cụm K-centroid
Không giống như thuật toán Means, thay cho việc lấy giá trị trung bình, thuật toán Medoids sử dụng một đối tượng trong một cụm làm tâm cụm Điều này làm cho thuật toán K-Medoids [1] tránh được ảnh hưởng của nhiễu và phần tử ngoại lai Tuy nhiên, độ phức tạp của thuật toán này cao hơn độ phức tạp của thuật toán K-Means
K-Cụ thể được đặc tả như sau:
Thuật toán k- centroid
Input: Số lượng cụm K, và một cơ sở dữ liệu chứa n đối tượng
Output: Một tập gồm K cụm thỏa mãn điều kiện cực tiểu hóa hàm mục tiêu E
Phương pháp:
1 Khởi tạo K đối tượng chọn ngẫu nhiên trong D làm tâm cụm
2 Lặp khi điều kiện dừng chưa thỏa mãn
2.1 Phân hoạch D thành k cụm bằng cách gán mỗi đối tượng vào cụm mà nó gần tâm nhất
2.2 Tính trọng tâm (trung bình) các cụm theo các đối tượng đã được phân hoạch ở bước 2.1 và chọn phần tử mới gần trong tâm nhất làm tâm mới Điều kiện dừng như thuật toán k-means Các biến thể của thuật toán này là: PAM ( Partitioning Around Medoids ); CLARA (Clustering LARge Applications); CLARANS
2.2 Phương pháp phân cấp
Một phương pháp phân cụm phân cấp [1, 8] bằng cách nhóm các đối tượng vào một cây của cụm Việc xây dựng cây được thực hiện theo hai cách: một là từ dưới lên (Bottom-up) hoặc từ trên xuống (Top-Down) Cách thực hiện từ dưới lên hay người ta còn gọi là “sát nhập”, cách từ trên xuống gọi là “chia” Thực hiện từ dưới lên là mỗi đối tượng ta coi như
là một nhóm, sau đó sát nhập các đối tượng hay các nhóm theo các hàm tính khoảng cách giữa các tâm của hai nhóm Điều này được lặp lại cho đến khi tất cả các nhóm được trộn vào làm một nhóm hoặc cho đến khi thỏa mãn một số điều kiện để kết thúc Thực hiện theo phương pháp từ trên xuống là bắt đầu với tất cả các đối tượng nằm trong một cụm Mỗi một bước lặp, một cụm được tách ra nhỏ hơn theo một tiêu chí nào đó Quá trình này lặp đi lặp lại cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi nó thỏa mãn một số điều kiện để kết thúc
Trang 27Với quy tắc liên kết để chọn cặp cụm trộn cho trước, phương pháp trộn bao gồm các bước sau
1 Khởi tạo mỗi phần tử làm một cụm i x i
2 Khi c ≥ 1 thực hiện lặp:
Chọn hai cụm gần nhất ivà j theo quy tắc chọn
trộn ivà jthành ij i j (còn c-1 cụm)
Giảm c
Ví dụ Trong mục này ta giả thiết đã có quy tắc liên kết và không bàn cụ thể tới cách
chọn cụm trộn Phương pháp "dưới lên" phân cụm tập dữ liệu S={a, b,c ,d, e} có thể thực hiện như sau:
Bước 0: Mỗi đối tượng dữ liệu được gán cho mỗi cụm, như vậy các cụm ban đầu là {a},{b},{c},{d},{e}
Bước 1: {a} và {b} là được gộp vào thành một cụm lớn hơn là {a,b} và các cụm thu được là : {a, b}, {c},{d},{e}
Bước 2: Gộp cụm {d},{e} thành {d, e} Các cụm thu được là {a, b}, {c},{d, e}
Bước 3: Gộp cụm {c } với {d,e} thành {c, d, e} Các cụm thu được là {a, b}, {c,d, e}
Bước 4: Gộp cụm hai cụm {c, d, e} với {a,b} thành {a, b, c, d, e}
Quá trình trên được mô tả trong hình 2.2
Hình 2.2: Ví dụ về trộn và tách của phân cụm phân cấp trên tập đối tượng {a, b, c, d, e}
Trong cả hai cách phân loại phân cấp này, ta có thể xác định số cụm dự kiến và điều kiện để kết thúc Có bốn độ đo khoảng cách sử dụng rộng rãi giữa các cụm, ở đây |p-
Agglomerative
(AGNES)
Divisive
(DIANA)
Trang 28p’| là khoảng cách giữa hai đối tượng hoặc điểm p và p’; mi là trung bình của cụm Ci và ni
Khoảng cách có nghĩa: dmean(Ci, Cj) = |mi - mj|
Khoảng cách trung bình: davg(Ci, Cj) =
Khi thuật toán sử dụng khoảng cách nhỏ nhất dmin(Ci, Cj) để đo khoảng cách giữa
các cụm, đôi khi nó còn được gọi là nearest-neighbor Nếu thuật toán sử dụng khoảng
cách xa nhất dmax(Ci, Cj), thuật toán đó còn có tên gọi thuật toán phân cụm
fathest-neighbor
Ta thấy thuật toán AGNES và DIANA thường sử dụng các hàm đánh giá đơn giản
để trộn hoặc tách các cụm Thực tế ta thấy rằng các bước trộn và tách là không thuận nghịch, vì vậy các phương pháp đưa ra thường cho kết quả phân cụm không chính xác Các thuật toán BIRCH, ROCK khắc phục được các nhược điểm này
2.2.1 Thuật toán BIRCH
BIRCH [10, 20] được thiết kế để phân cụm dữ liệu số với số lượng lớn bằng cách tích hợp phân cụm phân cấp (trạng thái khởi đầu phân cụm vi mô) và các phương pháp phân cụm khác chẳng hạn như phân cụm lặp (trạng thái sau phân cụm vĩ mô) Nó vượt qua hai sự khó khăn của phương pháp phân cụm tích lũy: Thứ nhất là khả năng mở rộng và thứ hai là khả năng không quay lại được bước trước đó
BIRCH đưa ra hai khái niệm: đặc trưng phân cụm và cây đặc trưng phân cụm (CF tree), được sử dụng để tóm tắt các đại diện cụm Những cấu trúc này giúp phương pháp phân cụm hiệu quả, đạt kết quả tốt và nó có khả năng thực hiện trên các bộ dữ liệu lớn, và
nó đảm bảo sự linh động của dữ liệu đầu vào
Chúng ta sẽ xét sâu hơn các cấu trúc vừa đề cập đến Cho n đối tượng dữ liệu với d chiều, chúng ta có thể xác định cụm trung tâm x0, bán kính R, và đường kính D của cụm như sau:
Trang 29Ở đây R là khoảng cách trung bình từ các đối tượng thành viên tới tâm của cụm và
D là khoảng cách trung bình giữa các cặp trong cụm Cả hai R và D thể hiện tính gần gũi của cụm xung quanh tâm Một đặc trưng phân cụm (CF) là một vector 3 chiều tổng hợp thông tin về các cụm của đối tượng Cho n đối tượng d chiều trong một phân cụm, {xi}, khi đó CF của cụm được định nghĩa là:
CF = {n, LS, SS}
ở đây n là số điểm trong cụm, LS là tổng tuyến tính của n điểm (có nghĩa là, LS=
1
n i
nó Một cây (CF) được đặc trưng bởi hai tham số: Tham số nhánh (Branching factor - B)
và ngưỡng (Threshold - T) B xác định tối đa các nút con của một nút lá trong của cây T
là khoảng cách tối đa giữa bất kì một cặp đối tượng trong nút lá của cây, khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá Hai tham số này nó ảnh hưởng đến kích thước của cây CF
CF 1 CF 2 - CF k
CF 11 CF 12 - CF 1k
Mức gốc
Mức trước
Trang 30BIRCH áp dụng một kĩ thuật nhiều giai đoạn: Thực hiện quét một lần tập dữ liệu tạo ra một phân cụm tốt ban đầu, và có thể quét một hoặc nhiều lần sau đó để cải tiến chất lượng Thuật toán BIRCH thực hiện gồm hai giai đoạn chính là:
Giai đoạn 1: BIRCH quét CSDL để xây dựng một cây CF khởi tạo, mà được lưu trữ trong
bộ nhớ, có thể được xem như là một sự nén ở nhiều mức của dữ liệu để cố gắng bảo vệ cấu trúc phân cụm có sẵn của dữ liệu
Giai đoạn 2: BIRCH lựa chọn một thuật toán phân cụm để phân cụm các nút lá của cây
CF, cố gắng loại bỏ các phân cụm mà dữ liệu nằm thưa thớt hay còn gọi là phân cụm dư thừa và nhóm các phân cụm thành một phân cụm lớn hơn
Ở bước đầu tiên, khi một đối tượng được thêm vào một cụm, nếu đường kính của cụm này lớn hơn giá trị ngưỡng T thì các cụm sẽ được phân chia lại Khi đó ta sẽ được tập các cụm mới Ở bước thứ hai, có thể áp dụng một thuật toán phân cụm bất kì để thực hiện việc phân tách hoặc hợp nhất các cụm lại
Thuật toán BIRCH có ưu điểm là tốc độ thực hiện PCDL nhanh và có thể áp dụng với CSDL lớn, thuật toán này cũng thực sự hiệu quả khi áp dụng với tập dữ liệu tăng trưởng theo thời gian Độ phức tạp tính toán của thuật toán này là O(n), trong đó n là số lượng đối tượng được phân cụm Tuy nhiên, BIRCH có một số hạn chế sau: Thuật toán này sử dụng bán kính hoặc đường kính để kiểm soát ranh giới các cụm do đó nó có thể không xử lý tốt nếu các cụm không có hình dạng cầu và chất lượng của các cụm sẽ khám phá không được tốt Thuật toán BIRCH không phù hợp với dữ liệu với số chiều cao
2.2.2 Thuật toán ROCK
ROCK (RObust Clustering using linKs) là một thuật toán phân cụm phân cấp cho các thuộc tính phạm trù (định danh) [10], khám phá các khái niệm về liên kết (số lượng của hàng xóm chung giữa hai đối tượng) với dữ liệu là các thuộc tính phạm trù Thuật toán phân cụm truyền thống phân cụm dữ liệu với các thuộc tính Boolean và phân cụm sử dụng hàm tính khoảng cách Tuy nhiên, các thực nghiệm cho thấy rằng các biện pháp khoảng cách như vậy cho kết quả phân cụm dữ liệu không cao với dữ liệu phạm trù Hơn thế nữa, hầu hết các thuật toán phân cụm chỉ đánh giá sự tương tự giữa các điểm khi phân cụm, có nghĩa là ở mỗi bước các điểm tương tự nhất được sát nhập vào một cụm duy nhất Cách tiếp cận này “địa phương hóa” dễ bị lỗi Ví dụ, hai cụm riêng biệt có thể có một vài điểm hoặc giá trị ngoại lai ở gần, do vậy dựa trên sự tương tự giữa các điểm để đưa ra quyết định phân cụm có thể gây ra hai cụm được sát nhập ROCK có cách tiếp cận toàn cục hơn với việc nhóm bằng cách xem xét các vùng lân cận của các cặp điểm riêng
Trang 31rẽ Nếu hai điểm tương tự là láng giềng của nhau thì hai điểm có thể thuộc cùng một cụm
và như vậy có thể được sáp nhập
Thật vậy, hai điểm pi và pj là láng giềng của nhau nếu sim(pi, pj) , trong đó sim
là hàm tương tự và là một ngưỡng dùng quy định Chúng ta có thể chọn sim là một khoảng cách số hoặc thậm chí không phải là khoảng cách số được chuẩn hóa để giá trị của
nó nằm trong khoảng 0 và 1, với giá trị lớn hơn cho thấy rằng các điểm tương tự hơn Số lượng các liên kết giữa pi và pj được định nghĩa là số lượng các láng giềng chung giữa pi
và pj Nếu số lượng các liên kết giữa hai điểm là lớn, khi đó nó có nhiều khả năng thuộc
về cùng một cụm Bằng việc xem xét các điểm dữ liệu lân cận trong mối quan hệ giữa các cặp cá thể của các điểm, ROCK là đáng tin cậy hơn nhiều so với các phương pháp phân cụm chuẩn mà chỉ tập trung vào sự tương tự của các điểm
ROCK là một biện pháp tốt để sử dụng đánh giá các phân cụm Lấy mẫu ngẫu nhiên được sử dụng để mở rộng các tập dữ liệu lớn Độ phức tạp xấu nhất của thuật toán ROCK là O(n2+nmmma+n2logn) trong đó mm và ma tương ứng là số lượng tối đa và trung bình của láng giềng, và n là số của các đối tượng
2.3 Phương pháp phân cụm dựa trên mật độ
Để phát hiện ra các cụm với hình dạng tùy ý, phương pháp phân cụm dựa trên mật độ [8]
đã được phát triển Thông thường coi cụm như các khu vực dày đặc của các đối tượng trong không gian dữ liệu được phân cách bởi các khu vực mật độ thưa (đại diện cho nhiễu) DBSCAN phát triển các cụm theo một phân tích kết nối dựa trên mật độ OPTICS
mở rộng DBSCAN để tạo ra một cụm được thiết lập trước thu được từ một loạt các thiết lập tham số DENCLUE đối tượng cụm dựa trên một tập hợp các chức năng phân bố mật
độ
Thuật toán DBSCAN
DBSCAN là một phương pháp phân cụm dựa trên mật độ kết nối các khu vực với mật độ
đủ cao Thuật toán phát triển các khu vực có mật độ đủ cao thành các cụm và phát hiện ra các cụm hình dạng tùy ý trong cơ sở dữ liệu không gian với nhiễu Nó định nghĩa một cụm như là một tập tối đa của mật độ kết nối các điểm
Ý tưởng của thuật toán: Thuật toán yêu cầu hai tham số đầu vào là ε và MinPts
Các khu vực lân cận trong vòng một bán kính ε của một đối tượng nhất định được gọi là ε - láng giềng của đối tượng
Trang 32 Nếu vùng lân cận ε của một đối tƣợng có chứa ít nhất một số lƣợng tối thiểu các đối tƣợng MinPts thì đối tƣợng đƣợc gọi là một đối tƣợng cốt lõi
Cho một tập các đối tƣợng D, chúng ta nói rằng một đối tƣợng p thuộc trong phạm
vi mật độ trực tiếp của đối tƣợng q nếu p nằm trong ε - láng giềng của đối tƣợng q
và q đều nằm trong phạm vi mật độ của o với ε và MinPts
Ví dụ hình 2.4 cho một ε nhất định đại diện bán kính của vòng tròn và xét MinPts = 3 Dựa trên định nghĩa:
Trong những điểm dán nhãn m, p, o và r là các đối tƣợng cốt lõi bởi vì mỗi một ε - láng giềng đều có chứa ít nhất ba điểm
q nằm trong phạm vi trực tiếp của m, m nằm trong phạm vi trực tiếp của p và ngƣợc lại
q nằm trong phạm vi gián tiếp của p, tuy nhiên p không nằm trong phạm vi của q
và q không phải là đối tƣợng cốt lõi
o, r và s đều có liên kết mật độ
Một cụm dựa trên mật độ là một tập hợp các đối tƣợng có liên kết mật độ kết nối tối đa với phạm vi liên kết mật độ Mỗi đối tƣợng không có trong bất kỳ cụm nào đƣợc gọi là nhiễu
"Làm thế nào để DBSCAN tìm ra cụm?" DBSCAN tìm kiếm cho các cụm bằng cách kiểm tra ε - láng giềng của mỗi điểm trong cơ sở dữ liệu Nếu ε - láng giềng của một điểm p chứa hơn MinPts, một cụm mới với p là một đối tƣợng cốt lõi đƣợc tạo ra DBSCAN sau đó lặp đi lặp lại thu thập các đối tƣợng mật độ có thể truy cập trực tiếp từ các đối tƣợng cốt lõi, có thể liên quan đến việc hợp nhất của một vài thể truy cập các cụm mật độ Quá trình này kết thúc khi không có điểm mới có thể đƣợc thêm vào bất kỳ cụm nào
Trang 33Nếu một chỉ số không gian được sử dụng, sự phức tạp tính toán của DBSCAN là O (nlogn), trong đó n là số lượng các đối tượng của cơ sở dữ liệu Nếu không, nó là O(n2
) Thuật toán có hiệu quả trong việc tìm kiếm cụm hình tùy ý nếu người dùng định nghĩa cài đặt thích hợp của các thông số ε và MinPts Thuật toán này có thể áp dụng cho dữ liệu lớn, đa chiều
Hình 2.4 Phạm vi và sự liên kết mật độ trong phân cụm dựa trên mật độ
2.4 Phương pháp phân cụm dựa trên lưới
Ưu điểm chính của phương pháp tiếp cận phân cụm dựa trên lưới là thời gian xử lý nhanh chóng, mà thường là độc lập với số lượng đối tượng dữ liệu, nhưng phụ thuộc vào chỉ số của các tế bào trong mỗi chiều trong không gian lượng tử hóa Một số ví dụ điển hình của phương pháp tiếp cận dựa trên lưới điện bao gồm Sting, khám phá các thông tin thống kê được lưu trữ trong các tế bào lưới; WaveCluster, cụm đối tượng bằng cách sử dụng một phương pháp biến đổi wavelet và Clique, đại diện cho một mạng lưới [10]
Hình 2.5 Ví dụ về xác định các cụm trung tâm (hàng đầu) và các cụm có hình dạng tùy ý (hàng dưới cùng)
Trang 34Thuật toán WaveCluster: Clustering Using Wavelet Transformation
WaveCluster là một thuật toán phân cụm đa mức đầu tiên tóm tắt các dữ liệu bằng cách
áp dụng một cấu trúc lưới đa chiều vào dữ liệu không gian Sau đó sử dụng một wavelet chuyển đổi để chuyển đổi không gian đặc trưng ban đầu, việc tìm kiếm các khu vực dày đặc trong không gian chuyển đổi
Trong phương pháp này, mỗi ô lưới tóm tắt các thông tin của một nhóm các điểm bản đồ thành ô Thông tin tóm tắt này thường phù hợp với bộ nhớ chính để sử dụng wavelet đa mức biến đổi và phân tích cụm tiếp theo
Khi áp dụng một biến đổi wavelet, dữ liệu được chuyển đổi để duy trì khoảng cách tương đối giữa các đối tượng ở các cấp độ khác nhau của độ phân giải Điều này cho phép các cụm tự nhiên trong dữ liệu để trở thành phân biệt hơn Cụm sau đó có thể được xác định bằng cách tìm kiếm cho các khu vực dày đặc tên miền mới
Thuật toán này có những ưu điểm như:
* Phân cụm theo phương pháp không có giám sát và nó dễ dàng loại bỏ các phần tử ngoại lai
Hình 2.6 Ví dụ về đặc trưng của không gian 2 chiều Từ [SCZ98]
Hình 2.7 Multiresolution of the feature space at (a) scale 1 (high resolution); (b) scale 2 (medium resolution); and (c) scale 3 (low resolution) From [SCZ98]
Trang 35* Phân cụm dựa trên Wavelet là rất nhanh, với một phức tạp tính toán O(n), n là số của các đối tượng trong cơ sở dữ liệu Việc thực hiện thuật toán có thể được thực hiện song song WaveCluster là một thuật toán dựa trên lưới và dựa trên mật độ Nó phù hợp với nhiều yêu cầu của một thuật toán phân nhóm tốt: Nó xử lý dữ liệu lớn thiết lập hiệu quả, phát hiện ra các cụm với hình dạng bất kỳ, thành công xử lý bên ngoài, không nhạy cảm với thứ tự của đầu vào, và không yêu cầu các đặc điểm kỹ thuật của các thông số đầu vào như số cụm hoặc bán kính một khu phố Trong nghiên cứu thực nghiệm, WaveCluster thấy tốt hơn BIRCH, CLARANS, và DBSCAN về cả hiệu quả và phân nhóm chất lượng Nghiên cứu cũng phát hiện WaveCluster có khả năng xử lý dữ liệu lên đến số chiều là 20
Trang 36CHƯƠNG 3: PHÂN CỤM DỮ LIỆU VỚI THUỘC TÍNH ĐỊNH DANH
Như chúng ta đã biết thuật toán k-means ra đời từ rất sớm ban đầu để phân cụm dữ liệu thực Tuy nhiên với sự bùng nổ thông tin nhanh chóng như hiện nay, hơn nữa dữ liệu trong thực tế rất phong phú, đa dạng: âm thanh, hình ảnh, số dẫn đến việc khám phá tri thức trong các cơ sở dữ liệu thường phải xử lý khối lượng dữ liệu rất lớn, nhiều khi ngay
cả các thuật toán với độ phức tạp tính toán là đa thức cũng không dùng được Việc phân
và xử lý dữ liệu theo các cụm là một giải pháp hữu hiệu, vì vậy bài toán phân cụm hiện nay được nhiều người quan tâm trở lại
Một thực tế là số chiều của dữ liệu thường rất lớn (có thể lên tới vài chục thuộc tính) Như vậy việc biểu diễn số chiều này trong không gian đa chiều không có ý nghĩa và rất phức tạp Đối với dữ liệu thực có phương pháp giảm chiều bằng phương pháp phân tích thành phần chính (PCA – Principal Component Analysis) [1] Việc chọn đặc trưng rất quan trọng đối với bài toán nhận dạng mẫu và càng ít đặc trưng càng tốt Nói chung ta không chọn đồng thời các đặc trưng có độ tương quan cao Một cách thường dùng để giảm đặc trưng là phân tích thành phần chính, ý tưởng của nó là biến đổi trực giao để chọn các vector riêng có ý nghĩa Khi phân tích thành phần chính cần cân nhắc xem cần giữ lại bao nhiêu đặc trưng là đủ Tiêu chuẩn của Kaiser là bỏ các giá trị riêng nhỏ hơn 1 Một cách khác là người ta dùng biểu đồ biểu diễn các giá trị riêng đánh số theo thứ tự giảm dần và chỉ giữ lại các vector riêng lệch nhiều so với các giá trị bị loại Đối với dữ liệu định danh với số lượng thuộc tính nhiều có thể giảm chiều bằng cách: chọn ra tập con
dữ liệu các đặc trưng Nhưng không có cách nào đánh giá được tập con nào tốt, tập con nào xấu trừ khi ta biết rất rõ về tập dữ liệu đã có
Với kỹ thuật thông thường không đạt được khi phân cụm được tiến hành trong không gian chiều cao Chẳng hạn dữ liệu thưa thớt, chứa các thuộc tính dư thừa trong dữ liệu chiều cao, sự gia tăng kích thước, sự khác nhau giữa các khoảng cách của đối tượng Như vậy, một số thuật toán chính như đã trình bày ở chương 2, việc phân cụm với dữ liệu hỗn hợp sẽ không hiệu quả đặc biệt là dữ liệu định danh với số lượng thuộc tính nhiều
Trong chương này, luận văn trình bày một số thuật toán phân cụm thuộc tính định danh, đặc biệt là thuật toán phân cụm dữ liệu hỗn hợp có trọng số (MWKM) và COOLCAT cho kết quả phân cụm tốt Thuật toán trọng số thuộc tính hỗn hợp phân cụm
dữ liệu chiều cao là một phần mở rộng của thuật toán k-mode dựa trên đánh giá trọng số của từng thuộc tính nhờ phân tích mode của cụm Thuật toán COOLCAT dùng phương pháp Entropy để đánh giá chất lượng của cụm mà không can thiệp vào thuộc tính
Trang 373.1 Mode và thuật toán k-modes
Dữ liệu trong thế giới thực thường có chứa các thuộc tính định danh [12] Để mở rộng thuật toán cho các đối tượng dữ liệu có chứa thuộc tính định danh trong [23, 24] Huang xét tập N đối tượng N1
i i
x
trong đó x i (x1i, ,x m i ,x m i1, ,x n i) là phần tử của quan hệ r trên lược đồ quan hệ R = {A1, , An} và x i j D o m A( j) với mỗi j m là các giá trị thực còn với m 1 j n là các giá trị định danh, các thuật toán toán trong [23, 24] dựa trên khái niệm mode và dùng mode thay cho trọng tâm của mỗi tập dữ liệu C
3.1.1 Mode của tập dữ liệu hỗn hợp
Để tiện trình bày định nghĩa mode của tập dữ liệu hỗn hợp [1], chúng tôi đưa thêm định nghĩa j-mode với j n
Định nghĩa: Giả sử C là tập con của tập dữ liệu hỗn hợp D
i) Với mọi j n, j-mode của C (kí hiệu là j-mode(C)) là giá trị có tần suất nhiều nhất trong thuộc tính Aj của C nếu A là thuộc tính định danh và là trung bình cộng của các giá trị thuộc tính Aj của C khi Aj là thuộc tính số Nếu Aj là thuộc tính định danh và có nhiều giá trị có tần suất như nhau trong C thì j-mode(C) có thể không duy nhất và ta chọn giá trị nào cũng được
ii) Mode của tập hợp C kí hiệu là mode(C) là phần tử z = (z1, , zn) trong đó
zj = j-mode(C), j n
Hình 3.1 Tần số, thuộc tính của a j
Trang 38Ví dụ, hình 3.1 [17] cho thấy tần số của mỗi giá trị thuộc tính của nó trong một cụm Ta thấy rằng, giá trị mode trong thuộc tính a4, a5, a6, a7 có tần số cao hơn so với các thuộc tính khác Điều này cho thấy các thuộc tính a4, a5, a6, a7 đƣợc cho là quan trọng để xác định các cụm
Một bảng dữ liệu phạm trù đƣợc định nghĩa nhƣ là một tập gồm 4 thành phần:
IS = (X, A, V, f), trong đó:
(1) X = {x1, x2, …, xn} là một tập hợp không rỗng của n điểm dữ liệu
(2) A = {a1, a2, …, am} là một tập hợp không rỗng m thuộc tính định danh
(3)
1 j
m
a j
, với ( 1 ) ( 2 ) ( )
, , , j j
Ở đây, nj là số các loại thuộc tính của aj với 1 j m
(4) f: RxA V là một hàm thông tin sao cho ( , )
j
f x a V với 1 i n và 1 j m Ở đây 1 2
Trang 39* W = [wli] là một ma trận kích thước kxn có giá trị 0 hoặc 1, wli là một biến nhị phân và cho biết đối tượng xi có thuộc phân cụm thứ l, wli= 1 nếu xi thuộc phân cụm thứ l và wli =
đó, ta cố định W và giảm thiểu F, Z Tối ưu các vấn đề trên có thể được giải quyết bằng cách lặp đi lặp lại giải quyết giảm thiểu hai vấn đề sau đây:
Bài toán P 1 : Cố định z zˆ, giải quyết bài toán giảm thiểu F( w , )zˆ ;
Bài toán P 2: Cố định w w ˆ , giải quyết bài toán giảm thiểu F( w , ) ˆ z
Bài toán P1 được giải quyết bởi:
Trang 40Với 1 j m Ở đây |X| biểu thị các yếu tố trong thiết lập X, (1 ) ( 2 )
3.1.2 Thuật toán k-modes
Quá trình này được thể hiện trong các thuật toán k-modes như sau [19]:
Thuật toán k-modes(KM)
Bước 1: Chọn một tập hợp điểm ban đầu (1 )
Z R xác định W(1) sao cho F(W, Z(1)) là giảm thiểu Đặt t =1
Bước 2: Xác định Z(t+1) sao cho F(W(t), Z(t+1)) là giảm thiểu Nếu F(W(t), Z(t+1)) =
3.2 Thuật toán K-Prototypes
Thuật toán K-Prototypes là sự kết hợp của thuật toán k-means và thuật toán k-modes để nhóm các dữ liệu hỗn hợp Thuật toán k-Prototypes tốt hơn hai thuật toán trên bởi trong CSDL thực thường chứa các loại dữ liệu là hỗn hợp [24]
Khoảng cách giữa hai đối tượng hỗn hợp Xl và Xj được tính như sau:
( ) ( ) ( ) ( )
d X X d X X
Trong đó: dn là khoảng cách số, dc là khoảng cách của hai đối tượng phạm trù Xl và
Xj, 0 là trọng số dùng để cân bằng giữa thuộc tính số và thuộc tính phạm trù, giá trị
được lấy khác nhau để đạt được kết quả tối ưu
Hàm mục tiêu (2.1) trở thành:
( ) ( ) ( ) ( ) ,
Đối tượng với các ràng buộc (2.2), (2.3) và (2.4)
Để đơn giản ta viết lại hàm mục tiêu (3.8) như sau: