Chương 2: Các kỹ thuật phân cụm, trong đó có đề cập đến một số kiến thức cơ sở là nền tảng cho phân cụm dữ liệu như các kiểu dữ liệu, các phép đo khoảng cách giữa các đối tượng dữ liệu,
Trang 1MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH VẼ 3
DANH MỤC BẢNG BIỂU 6
LỜI CẢM ƠN 8
MỞ ĐẦU 9
CHƯƠNG 1 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 11
1.1 KHÁM PHÁ TRI THỨC 11
1.2 KHAI PHÁ DỮ LIỆU 13
1.3 PHÂN CỤM DỮ LIỆU 16
1.3.1 Học có giám sát và học không có giám sát 16
1.3.2 Khái niệm về phân cụm 16
1.3.3 Mục tiêu của phân cụm 19
1.3.4 Các yêu cầu của phân cụm 20
1.3.5 Các ứng dụng của phân cụm 20
CHƯƠNG 2 CÁC KỸ THUẬT PHÂN CỤM 22
2.1 CÁC KIỂU DỮ LIỆU 22
2.1.1 Phân loại kiểu dữ liệu dựa trên kích thước miền 22
2.1.2 Phân kiểu dữ liệu dựa trên hệ đo 23
2.2 CÁC PHÉP ĐO ĐỘ TƯƠNG TỰ VÀ KHOẢNG CÁCH ĐỐI VỚI CÁC KIỂU DỮ LIỆU 24
2.2.1 Khái niệm tương tự và phi tương tư 24
2.2.2 Thuộc tính khoảng 25
2.2.3 Thuộc tính nhị phân 28
2.2.4 Thuộc tính định danh 29
2.2.5 Thuộc tính có thứ tự 29
2.2.6 Thuộc tính tỉ lệ 30
2.3 NHỮNG KỸ THUẬT TIẾP CẬN TRONG PHÂN CỤM DỮ LIỆU 31
2.3.1 Phương pháp phân cụm phân hoạch 31
2.3.2 Phương pháp phân cụm phân cấp 32
2.3.3 Phương pháp phân cụm dựa trên mật độ 33
2.3.4 Phương pháp phân cụm dựa trên lưới 34
2.3.5 Phương pháp phân cụm dựa trên mô hình 35
2.3.6 Phương pháp phân cụm có dữ liệu ràng buộc 35
CHƯƠNG 3 CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU 38
3.1 GIỚI THIỆU 38
3.2 CÁC THUẬT TOÁN PHÂN CỤM PHÂN HOẠCH 40
3.2.1 Thuật toán K-MEANS 40
Trang 23.2.2 Thuật toán PAM 45
3.2.3 Thuật toán CLARA 49
3.2.4 Thuật toán CLARANS 51
3.3 CÁC THUẬT TOÁN PHÂN CỤM PHÂN CẤP 52
3.3.1 Thuật toán BIRCH 52
3.3.2 Thuật toán CURE 56
3.3.3 Thuật toán AGNES & DIANA 61
3.3.4 Thuật toán CHAMELEON 62
3.4 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MẬT ĐỘ 63
3.4.1 Thuật toán DBSCAN 64
3.4.2 Thuật toán OPTICS 71
3.5 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN LƯỚI 72
3.5.1 Thuật toán STING 73
3.5.2 Thuật toán CLIQUE 76
3.5.3 Thuật toán WAVECLUSTER 79
3.6 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MÔ HÌNH 81
3.6.1 Thuật toán EM 81
3.6.2 Thuật toán COBWEB 82
CHƯƠNG 4 PHÂN CỤM DỮ LIỆU WEB 85
4.1 GIỚI THIỆU 85
4.2 PHÂN CỤM THEO NỘI DUNG WEB 86
4.2.1 Các lựa chọn đặc trưng 86
4.2.2 Phép đo tương tự 87
4.3 PHÂN CỤM THEO CẤU TRÚC WEB 90
4.3.1 Đặc điểm và phép đo tương tự 90
4.3.2 Khám phá cộng đồng 92
4.4 PHÂN CỤM THEO SỬ DỤNG WEB 99
4.5 PHÂN CỤM THEO KẾT QUẢ TÌM KIẾM WEB 104
KẾT LUẬN 108
TÀI LIỆU THAM KHẢO 110
PHỤ LỤC 112
THỬ NGHIỆM PHÂN CỤM DỮ LIỆU VỚI K-MEANS 112
Trang 3DANH MỤC HÌNH VẼ
Hình 1.1 Quá trình Khám phá tri thức 11
Hình 1.2 Cách phân chia khác của quá trình KPTT 13
Hình 1.3 Các kỹ thuật khai phá dữ liệu 15
Hình 1.4 Quy trình phân cụm 17
Hình 1.5 Ví dụ phân cụm tập ảnh thành 3 cụm 18
Hình 1.6 Các phần tử ngoại lai trong dữ liệu 19
Hình 1.7 Tích hợp Clusters trong Oracle9i 21
Hình 2.1 Mối quan hệ giữa tỷ lệ phép đo và sự phân cụm 25
Hình 2.2 Ví dụ về các phép đo khoảng cách 27
Hình 2.3 Một số loại khoảng cách giữa hai cụm 27
Hình 2.4 Các chiến lược phân cụm phân cấp 33
Hình 2.5 Cấu trúc dữ liệu lưới 34
Hình 2.6 Một số cách phân chia cụm 36
Hình 3.1 Tổng quan về các phương pháp phân cụm 38
Hình 3.2 Các thuật toán phân cụm dữ liệu không ràng buộc 39
Hình 3.3 Các thuật toán phân cụm dữ liệu có ràng buộc 39
Hình 3.4 Xác định ranh giới của các cụm khởi tạo 41
Hình 3.5 Tính toán trọng tâm của các cụm mới 42
Hình 3.6 Ví dụ của thuật toán K-MEANS với k=2 43
Hình 3.7 Một số dạng cụm được khám phá bởi k-means 45
Hình 3.8 Khởi tạo các đối tượng medoid 45
Hình 3.9 Trường hợp Cjmp không âm 46
Hình 3.10 Trường hợp Cjmp có thể âm hoặc dương 47
Hình 3.11 Trường hợp Cjmp=0 47
Hình 3.12 Trường hợp Cjmp luôn âm 48
Hình 3.13 Thuật toán Pam với k=2 49
Hình 3.14 Cây CF được dùng trong thuật toán BIRCH 53
Hình 3.15 Giải thuật BIRCH 54
Hình 3.16 Ý tưởng của thuật toán phân cụm phân cấp 56
Hình 3.17 Các điểm dữ liệu của một cụm trong CURE 57
Hình 3.18 Tổng quan về thuật toán CURE 57
Trang 4Hình 3.19 Phân hoạch và phân cụm dữ liệu 59
Hình 3.20 Co cụm các điểm biểu diễn 59
Hình 3.21 Chương trình thực nghiệm thuật toán CURE 60
Hình 3.22 Kết quả thực nghiệm của CURE 60
Hình 3.23 Các thức thực hiện của AGNES & DIANA 61
Hình 3.24 Tổng quan về thuật toán CHAMELEON 62
Hình 3.25 Lân cận với ngưỡng ε của điểm P 64
Hình 3.26 Mật độ liên lạc 65
Hình 3.27 Mật độ liên thông 66
Hình 3.28 Cụm và nhiễu 67
Hình 3.29 Một cụm được khám phá bởi DBSCAN 69
Hình 3.30 Chương trình thực nghiệm thuật toán DBSCAN 70
Hình 3.31 Kết quả thực nghiệm của DBSCAN 70
Hình 3.32 Thứ tự phân cụm của các đối tượng OPTICS 72
Hình 3.33 Cấu trúc lưới phân cụm 73
Hình 3.34 Các mức ô lưới khác nhau trong quá trình truy vấn 74
Hình 3.35 Quá trình nhận dạng các ô của CLIQUE 77
Hình 3.36 Chương trình thực nghiệm thuật toán CLIQUE 78
Hình 3.37 Kết quả thực nghiệm của CLIQUE 78
Hình 3.38 Thực nghiệm thuật toán WAVECLUSTER 80
Hình 3.39 Kết quả thực nghiệm WAVECLUSTER 81
Hình 3.40 Phân phối xác suất trong thuật toán EM 82
Hình 3.41 Quá trình nối hai nút con 84
Hình 3.42 Quá trình tách nút con 84
Hình 4.1 Phân chia dữ liệu Web 85
Hình 4.2 Phân cụm dữ liệu Web 86
Hình 4.3 Mô hình vectơ khoảng cách 88
Hình 4.4 Ví dụ về vectơ khoảng cách 89
Hình 4.5 Quan hệ của hai trang web 91
Hình 4.6 Số đo độ tương tự của hai trang web 91
Hình 4.7 Độ tương tự chỉ mục 91
Hình 4.8 Các cộng đồng máy tính 92
Trang 5Hình 4.9 Cộng đồng web liên quan đến ca sỹ 93
Hình 4.10 Trung tâm và Ủy quyền 94
Hình 4.11 Kết quả của HITS 95
Hình 4.12 Đồ thị con trù mật phân đôi trực tiếp 96
Hình 4.13 A(i=3,j=3) nhân phân đôi 97
Hình 4.14 Nguồn dữ liệu tiềm năng 100
Hình 4.15 Phiên sử dụng Heristics 102
Hình 4.16 Hoàn thành đường dẫn 102
Hình 4.17 Phân cum dựa theo truy cập người sử dụng 105
Hình 5.1 Chương trình mô phỏng thuật toán K-means 112
Trang 6DANH MỤC BẢNG BIỂU
Bảng 2.1 Bảng tham số 28
Bảng 4.1 Tỷ lệ từ sử dụng trong một trang web 87
Bảng 4.2 Phân loại giá trị biểu thị trang Web 87
Bảng 4.3 Phân cụm của chủ đề Salsa 99
Bảng 4.4 Mối liên kết giữa chủ đề và đường dẫn URL 107
Trang 7BẢNG CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT
Công nghệ thông tin Information Technology CNTT
Khám phá tri thức trong cơ
sở dữ liệu
Knowledge Discovery In
Trang 8LỜI CẢM ƠN
Đầu tiên, tôi xin gửi lời cảm ơn sâu sắc nhất đến cán bộ hướng dẫn khoa học, PGS, TS Vũ Đức Thi, Phó Viện trưởng Viện Công nghệ thông tin, người đã hướng dẫn tôi nghiên cứu về lĩnh vực này, đồng thời cũng là thầy giáo của tôi trong thời gian học cao học tại trường ĐHCN-ĐHQGHN
Tôi cũng xin bày tỏ lòng biết ơn đối với các thầy cô giáo của trường ĐHCN-ĐHQGHN cùng các cộng tác viên của nhà trường đã tận tình giảng dạy cho tôi trong suốt thời gian học tại trường vừa qua
Là một cựu sinh viên từ những khóa đầu tiên đã gắn bó với khoa Công nghệ thông tin nay là trường ĐHCN, ĐHQGHN trong suốt thời kỳ học đại học, cao học, tôi luôn tự hào về ngôi trường đã đào tạo ra mình và rất tự tin với vốn kiến thức đã học tập được từ các thầy cô giáo của ngôi trường này Tôi rất hy vọng rằng sẽ được làm việc với nhà trường trong thời gian tới cũng như mong mỏi đến một ngày nào đó lại có cơ hội tiếp tục quay trở lại học tập
và rèn luyện dưới mái trường này
Cuối cùng, cho phép tôi gửi lời cảm ơn tới những người thân trong gia đình, bạn bè, các học viên lớp cao học K10T3, các đồng nghiệp tại Bộ môn Toán - Tin học, Học viện Cảnh sát nhân dân, những người đã khích lệ và động viên tôi rất nhiều trong thời gian qua Họ thực sự là nguồn động lực lớn lao giúp tôi vượt lên chính mình trong công việc cũng như trong cuộc sống
Học viên thực hiện luận văn Cao Chính Nghĩa
Trang 9MỞ ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của ngành CNTT đã làm cho khả năng thu thập và lưu trữ dữ liệu của các hệ thống thông tin tăng một cách vũ bão Kho dữ liệu, nguồn tri thức của nhân loại cũng trở nên vô tận và làm thế nào để khai thác được nguồn tri thức đó đang là một vấn đề
nóng bỏng của nền CNTT thế giới Vấn đề Khám phá tri thức trong Cơ sở dữ
liệu (Knowledge Discovery in Databases) đang được rất nhiều các nhà khoa học quan tâm nghiên cứu Khai phá dữ liệu là một bước quan trọng trong quá trình khám phá tri thức
KPDL có rất nhiều hướng tiếp cận, các kỹ thuật KPDL liên quan đến rất nhiều ngành khoa học khác như: Hệ CSDL, thống kê, học máy, trực quan hoá,…Tuỳ vào từng cách tiếp cận cụ thể được sử dụng, KPDL còn áp dụng một số kỹ thuật khác như mạng nơ ron, lý thuyết tập mờ, biểu diễn tri thức,…
PCDL là một trong những kỹ thuật KPDL phổ biến nhất, nằm trong
nhóm kỹ thuật KPDL mô tả, có nhiệm vụ mô tả về các tính chất hoặc các đặc
tính chung của dữ liệu trong CSDL hiện có Luận văn này tập trung trình bày một số vấn đề của PCDL, cụ thể luận văn phân chia thành bốn chương lý thuyết, phần kết luận và phần phụ lục là chương trình mô phỏng một thuật toán phân cụm dữ liệu
Chương 1: Tổng quan về phân cụm dữ liệu, bao gồm một số vấn đề về khám phá tri thức, khai phá dữ liệu và tập trung trình bày một số khái niệm trong phân cụm dữ liệu và các lĩnh vực ứng dụng liên quan
Chương 2: Các kỹ thuật phân cụm, trong đó có đề cập đến một số kiến thức cơ sở là nền tảng cho phân cụm dữ liệu như các kiểu dữ liệu, các phép đo khoảng cách giữa các đối tượng dữ liệu, các kỹ thuật tiếp cận trong phân cụm
dữ liệu
Trang 10Chương 3: Các thuật toán phân cụm dữ liệu, tập trung trình bày một số thuật toán tiêu biểu của phân cụm dữ liệu phân chia theo các kỹ thuật tiếp cận như các thuật toán phân cụm phân hoạch, các thuật toán phân cụm phân cấp, các thuật toán phân cụm dựa trên mật độ, các thuật toán phân cụm dựa trên lưới, các thuật toán phân cụm dựa trên mô hình
Chương 4: Trình bày tổng quát về PCDL Web, một lĩnh vực đang rất được quan tâm trong thời điểm hiện nay Qua đó trình bày vắn tắt về những
kỹ thuật phân cụm Web như: Phân cụm theo nội dung, phân cụm theo cấu trúc, phân cụm theo sử dụng và phân cụm theo kết quả tìm kiếm
Kết luận: Tổng kết lại những nội dung đã trình bày và những kết quả đã đạt được trong luận văn Qua đó cũng đề cập đến những vấn đề chưa giải quyết được và đề xuất hướng nghiên cứu tiếp theo
Phụ lục: Trình bày chương trình mô phỏng một thuật toán PCDL means, một trong những thuật toán phân cụm dữ liệu phổ biến nhất
Trang 11K-CHƯƠNG 1 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
1.1 KHÁM PHÁ TRI THỨC
Trong những năm gần đây, sự phát triển mạnh mẽ của ngành CNTT đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng một cách nhanh chóng Bên cạnh đó, việc tin học hoá nhiều lĩnh vực của cuộc
sống đã tạo ra cho chúng ta một kho dữ liệu khổng lồ Từ đó, Khám phá tri thức trong Cơ sở dữ liệu (Knowledge Discovery in Databases) đang là một
vấn đề thời sự của nền CNTT thế giới hiện nay Nó được ứng dụng vào nhiều lớp bài toán thực tế khác nhau và thu được nhiều thành quả to lớn
Khám phá tri thức trong CSDL là một quá trình nhận biết đúng đắn, mới, hữu ích và cuối cùng là có thể hiểu được mẫu hoặc mô hình trong dữ liệu Quá trình khám phá tri thức có thể bao gồm một số bước như hình 1.1 [7][10]
Problem Identification and Definition Obtaining and Preprocessing Data
Data Mining
Extracting Knowledge
Results Interpretation and Evaluation Using Discovered Knowledge
Hình 1.1 Quá trình Khám phá tri thức
Ø Tìm hiểu lĩnh vực ứng dụng và định nghĩa vấn đề: Là bước quan
trọng để rút ra những tri thức hữu ích và chọn phương pháp KPDL phù hợp với mục đích ứng dụng và bản chất dữ liệu
Trang 12Ø Thu thập và tiền xử lý dữ liệu: Bao gồm lựa chọn dữ liệu nguồn, loại
bỏ các dữ liệu nhiễu hoặc ngoại lai, xử lý các giá trị thiếu, biến đổi và rút gọn
dữ liệu, sửa các lỗi mang tính hệ thống, tập hợp các thông tin cần thiết để mô hình hoặc tính toán nhiễu, quyết định các chiến lược xử lý các trường dữ liệu
bị lỗi Bước này thường tốn thời gian trong quá trình KPTT
Ø Khai phá dữ liệu: Trích chọn các mẫu ẩn hoặc mô hình trong dữ liệu
Một mô hình có thể xem như là một biểu diễn tổng thể của cấu trúc nhằm tóm lược các thành phần mang tính hệ thống có trong dữ liệu hoặc mô tả dữ liệu phát sinh Ngược lại, một mẫu là một cấu trúc cục bộ có khi chỉ liên quan tới một nhóm các biến và một số trường hợp
Ø Biểu diễn và đánh giá tri thức: Đặc biệt là làm sáng tỏ các mô tả và dự
đoán, hai mục tiêu chính của các hệ thống khám phá trong thực tế Kinh nghiệm cho thấy rằng các mẫu hoặc mô hình phát hiện được từ các dữ liệu không phải lúc nào cũng đáng quan tâm và có thể trực tiếp sử dụng được ngay, quy trình KPTT được lặp đi lặp lại có điều chỉnh theo các tri thức phát hiện được Để đánh giá được các luật áp dụng trong quy trình KPTT, dữ liệu thường được chia thành hai tập, huấn luyện trên tập thứ nhất và kiểm chứng trên tập thứ hai Có thể lặp lại quy trình này với một số lần với các phần chia khác nhau, sau đó lấy trung bình các kết quả để ước lượng các luật thi hành
Ø Ứng dụng tri thức được khám phá: Củng cố các tri thức đã khám phá,
kết hợp các tri thức thành một hệ thống máy tính Giải quyết các xung đột tiềm năng trong tri thức khai thác được Đưa kết quả vào thực tiễn là mục đích cuối cùng của KPTT
Hiện nay, có nhiều quan niệm về cách phân chia các giai đoạn của quá trình KPTT Nhưng hầu hết các quan niệm đều cho rằng KPDL là một giai đoạn quan trọng nhất của qúa trình KPTT Bản chất của quá trình KPTT là rút
Trang 13ra được tri thức phù hợp từ CSDL Một cách phân chia khác về các giai đoạn của quá trình KPTT như hình 1.2
Hình 1.2 Cách phân chia khác của quá trình KPTT
1.2 KHAI PHÁ DỮ LIỆU
Hiện nay, có một số nhà khoa học cho rằng hai thuật ngữ KPTT (Khám phá tri thức) và KPDL (Khai phá dữ liệu) là tương đương và có thể thay thế cho nhau Họ lý giải rằng, mục đích của quá trình khám phá tri thức là thông tin và tri thức có ích, nhưng mà đối tượng mà chúng ta phải xử lý nhiều trong suốt qúa trình đó lại chính là dữ liệu Mặt khác, khi chia các bước của quá trình KPTT thì KPDL chỉ là một bước trong quá trình KPTT Như vậy, khi xét ở mức không thật chi tiết thì hai thuật ngữ này là tương đương, còn khi xét
ở mức chi tiết thì KPDL chỉ là một bước trong quá trình KPTT
Khai phá dữ liệu (Data mining) được định nghĩa là quá trình trích xuất
các thông tin có giá trị tiềm ẩn bên trong các CSDL, kho dữ liệu…Đây là một bước tốn nhiều thời gian nhất trong quá trình KPTT và bước này thường hay
đề cập đến các vấn đề về kỹ thuật (thuật toán) được áp dụng [7][10]
Trang 14Khai phá dữ liệu là một lĩnh vực có liên quan đến rất nhiều ngành khoa học khác như: Hệ CSDL, thống kê, học máy, trực quan hoá…Tuỳ vào cách tiếp cận được sử dụng thì khai phá dữ liệu còn áp dụng một số kỹ thuật khác như mạng nơ ron, lý thuyết tập thô hoặc tập mờ, biểu diễn tri thức…So với các phương pháp này, khai phá dữ liệu có một số ưu thế rõ rệt
So với phương pháp học máy, khai phá dữ liệu có thể sử dụng dữ liệu
có nhiều nhiễu, dữ liệu không đầy đủ hoặc biến đổi liên tục Trong khi đó, phương pháp học máy đòi hỏi tập dữ liệu phải đầy đủ, ít biến động và không quá lớn
Phương pháp hệ chuyên gia, các ví dụ của chuyên gia thường phải đòi hỏi chất lượng cao hơn nhiều so với dữ liệu trong CSDL
Phương pháp thống kê là một trong những nền tảng lý thuyết của khai phá dữ liệu nhưng khai phá dữ liệu đã khác phục được một số tồn tại của phương pháp thống kê như:
- Các phương pháp thống kê chuẩn không phù hợp với các kiểu dữ liệu
có cấu trúc trong rất nhiều kiểu CSDL
- Các phương pháp thống kê hoạt động hoàn toàn theo dữ liệu, nó không
sử dụng tri thức sẵn có của lĩnh vực
- Kết quả phân tích của thống kê rất nhiều và khó có thể làm rõ được
- Phương pháp thống kê cần có sự hướng dẫn của người dùng để xác định phân tích dữ liệu như thế nào và ở đâu
Với những ưu điểm đó, khai phá dữ liệu đang được áp dụng vào nhiều lĩnh vực như tài chính, ngân hàng, bảo hiểm, y tế, an ninh, internet…Các công
ty phần mềm lớn trên thế giới cũng đã rất quan tâm chú trọng việc nghiên cứu
và phát triển các kỹ thuật khai phá dữ liệu: Oracle tích hợp các công cụ khai phá dữ liệu vào bộ Oracle9i, IBM đi tiên phong phát triển khai phá dữ liệu với các ứng dụng như Intelligence Miner,…[5][7]
Trang 15Các kỹ thuật khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu thường chia thành hai nhóm chính [3]:
o Kỹ thuật khai phá dữ liệu mô tả: Có nhiệm vụ mô tả về các tính chất
hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật loại này gồm có: Phân cụm (Clustering), tóm tắt (Summerization), trực quan hoá (Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation anlyst), phân tích luật kết hợp (Association rules),…
o Kỹ thuật khai phá dữ liệu dự đoán: Có nhiệm vụ đưa ra các dự đoán
dựa vào các suy diễn trên dữ liệu hiện tại Các kỹ thuật loại này gồm có: Phân lớp (Classification), hồi quy (Regression),…
Trong khuôn khổ có hạn của luận văn này, tôi tập trung trình bày về một trong những phương pháp thông dụng nhất thuộc kỹ thuật khai phá dữ
liệu mô tả là “Phân cụm dữ liệu”
Hình 1.3 Các kỹ thuật khai phá dữ liệu
Trang 161.3 PHÂN CỤM DỮ LIỆU
1.3.1 Học có giám sát và học không có giám sát
Học có giám sát (supervised learning) là một kĩ thuật của ngành học
máy để xây dựng một hàm từ dữ liệu huấn luyện Dữ liệu huấn luyện bao gồm các cặp gồm đối tượng đầu vào và đầu ra mong muốn Đầu ra của một hàm có thể là một giá trị liên tục (gọi là hồi qui), hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là phân loại) Nhiệm vụ của chương trình học có giám sát là dự đoán giá trị của hàm cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ huấn luyện (nghĩa là các cặp đầu vào và đầu ra tương ứng) Để đạt được điều này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đoán được những tình huống chưa gặp phải theo một cách "hợp lí"
Học không có giám sát (unsupervised learning) là một phương pháp
của ngành học máy nhằm tìm ra một mô hình mà phù hợp với các quan sát
Nó khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, một tập dữ liệu đầu vào được thu thập Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó [4]
1.3.2 Khái ni ệm về phân cụm
Phân cụm dữ liệu (PCDL) là kỹ thuật sử dụng quan sát đối tượng để
nhóm các đối tượng thành các cụm hoặc chia một tập dữ liệu ban đầu thành các cụm sao cho:
Các đối tượng trong cùng một cụm là giống nhau hoặc gần giống nhau
được xác định bằng độ tương tự Hay nói một cách khác, các đối tượng trong cùng một cụm là tương tự với nhau
Trang 17Các đối tượng thuộc các cụm khác nhau sẽ không tương tự (phi tương tự) với nhau
Vậy có thể hiểu một cách đơn giản là “Phân cụm là qúa trình tổ chức các đối tượng thành các nhóm sao cho các đối tượng trong cùng một nhóm
là tương tự với nhau” Quy trình này được thể hiện như hình 1.4
Hình 1.4 Quy trình phân cụm
Phân cụm tối ưu thuộc lớp bài toán NP-Hard, số cách để phân chia n
đối tượng thành k cụm được tính theo công thức:
Số các cụm được xác định tuỳ thuộc vào phương pháp phân cụm Các thuật toán phân cụm tìm các nhóm chứa đối tượng tương tự nhau Hai hay nhiều đối tượng được xếp vào cùng một cụm nếu chúng có chung một định nghĩa về khái niêm hoặc chúng xấp xỉ với các khái niệm được mô tả trước Một cụm là các đối tượng có thể xem như là một nhóm trong nhiều ứng dụng
Mặt khác, phân cụm là học bằng quan sát hơn là học bằng ví dụ nên còn được gọi là học không giám sát Hầu hết các nhiệm vụ chính của KPDL,
bắt đầu ở ngoài với một tập huấn luyện chưa phân lớp và thử phát triển một
mô hình có khả năng dự đoán một bản ghi mới sẽ được phân lớp như thế nào
Trang 18Trong phân cụm, không có dữ liệu được phân lớp trước và không có sự phân biệt giữa các biến độc lập và biến phụ thuộc Trong học máy, phân cụm là một vấn đề quan trọng của học không có giám sát, vì nó phải đi giải quyết vấn
đề tìm một cấu trúc trong tập hợp các dữ liệu chưa biết trước thông tin về lớp Trong nhiều trường hợp, khi phân lớp được xem là vấn đề học có giám sát thì
PCDL là một bước trong phân lớp dữ liệu, trong đó phân cụm sẽ khởi tạo các
lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu [14][15]
Một ví dụ về học không giám sát của việc phân cụm tập dữ liệu ảnh thành ba cụm: Ảnh đồi núi, ảnh trời biển và ảnh các bông hoa như hình 1.5
Hình 1.5 Ví dụ phân cụm tập ảnh thành 3 cụm
@ Một số vấn đề của phân cụm dữ liệu:
ü Xử lý nhiễu: Hầu hết các dữ liệu sử dụng để phân cụm đều bị nhiễu do
quá trình thu thập thiếu chính xác hay thiếu đầy đủ Vì vậy cần phải xây dựng chiến lược cho bước tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu Dữ liệu bị nhiễu là dữ liệu không chính xác hay là dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các kỹ thuật xử lý nhiễu hiện nay là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng các giá trị thuộc tính tương ứng
Trang 19ü Dò tìm phần tử ngoại lai: Phần tử ngoại lai là một nhóm nhỏ các đối
tượng dữ liệu khác thường so với các dữ liệu trong CSDL Loại bỏ những dữ liệu kiểu này để tránh ảnh hưởng đến kết quả phân cụm
Hình 1.6 Các phần tử ngoại lai trong dữ liệu
ü Phân cụm đang là vấn đề mở và khó: Vì phân cụm đang phải giải
quyết nhiều vấn đề cơ bản như (Xây dựng hàm tính độ tương tự, xây dựng các tiêu chuẩn phân cụm, xây dựng mô hình cho cấu trúc dữ liệu, xây dựng các thuật toán phân cụm và xác lập các điều kiện khởi tạo, xây dựng các thủ tục
biểu diễn và đánh giá kết quả phân cụm) Hiện nay, 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 dữ liệu Với những loại dữ liệu hỗn hợp thì việc phân cụm càng trở
nên khó khăn và đây đang là một trong những thách thức lớn trong lĩnh vực KPDL
1.3.3 M ục tiêu của phân cụm
Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu chưa có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt Nó đòi hỏi người sử dụng phải đưa ra một số tiêu chuẩn mà theo cách đó kết quả phân cụm sẽ đáp ứng được yêu cầu Ví dụ như quan tâm đến việc tìm
đại diện cho các nhóm đồng nhất (rút gọn dữ liệu), tìm kiếm các nhóm hữu
Trang 20ích và phù hợp (các lớp dữ liệu hữu ích), tìm kiếm các đối tượng khác thường (dò tìm phần tử ngoại lai),…
1.3.4 Các yêu cầu của phân cụm
Thuật toán phân cụm phải thoả mãn một số yêu cầu sau:
• Có khả năng mở rộng: Một số thuật toán có thể áp dụng tốt với tập dữ liệu nhỏ nhưng lại không hiệu quả khi áp dụng cho tập dữ liệu lớn
• Thích nghi với các kiểu thuộc tính khác nhau của dữ liệu
• Khám phá các cụm với hình thù bất kỳ: Hầu hết các CSDL có chứa các cụm dữ liệu với các hình thù khác nhau như hình lõm, hình cầu,…
• Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Các giá trị đầu vào thường rất ảnh hưởng đến thuật toán phân cụm và rất phức tạp để xác định các giá trị đầu vào thích hợp đối với các CSDL lớn
• Khả năng thích nghi với các dữ liệu nhiễu hoặc ngoại lai
• Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu khi đưa vào phân nhóm với các thứ tự khác nhau thì không ảnh hưởng đến kết quả phân cụm
• Thích nghi với dữ liệu đa chiều: Thuật toán áp dụng hiệu quả cho dữ liệu với số chiều khác nhau
Trang 21Hiện nay, PCDL đã được nhiều công ty phần mềm nổi tiếng trên thế giới tích hợp vào bộ công cụ trong sản phẩm của mình Một ứng dụng của phân cụm đã được tích hợp vào bộ Oracle9i như hình 1.7
Hình 1.7 Tích hợp Clusters trong Oracle9i
Trang 22CHƯƠNG 2 CÁC KỸ THUẬT PHÂN CỤM 2.1 CÁC KIỂU DỮ LIỆU
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 (Các kiểu dữ liệu và các thuộc tính dữ liệu được xem là tương đương) Các thuộc tính này là các tham số cho giải
quyết vấn đề phân cụm và sự lựa chọn chúng có tác động đến kết quả phân cụm Phân loại các kiểu dữ liệu 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ó hai đặc trưng để phân loại: Kích thước miền và hệ đo
Cho CSDL D chứa n đối tượng trong không gian k chiều và x,y,z là các đối tượng thuộc D
x=(x1, x2,…,xk); y=(y1, y2,…,yk); z=(z1,z2,…,zk)
Trong đó xi,yi,zi với i=1÷k là các đặc trưng hoặc thuộc tính tương ứng của các đối tượng x,y,z Như vậy sẽ có các kiểu dữ liệu như sau [2][3][7]
2.1.1 Phân lo ại kiểu dữ liệu dựa trên kích thước miền
• Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếm được, nghĩa là giữa hai giá trị tồn tại vô số giá trị khác Ví dụ như các thuộc tính về nhiệt độ, hoặc cường độ,…
• Thuôc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn, đếm được
Ví dụ như các thuộc tính số, liệt kê,… Trường hợp đặc biệt của thuộc tính rời rạc là thuộc tính nhị phân mà miền giá trị của nó chỉ có hai phần tử.Ví dụ như: Yes/No, True/False, On/Off,…
Trang 232.1.2 Phân ki ểu dữ liệu dựa trên hệ đo
• Thuộc tính định danh: Là dạng thuộc tính khái quát hoá của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử Nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định
là x≠y hay x=y
• Thuộc tính có thứ tự: Là thuộc tính định danh có thêm tính thứ tự nhưng chúng không định lượng Nếu x và y là hai thuộc tính thứ tự thì có thể xác định là x≠y hoặc x=y hoặc x>y hoặc x<y
• Thuộc tính khoảng: Để đo các giá trị theo xấp xỉ tuyến tính, với thuộc tính khoảng có thể xác định được một thuộc tính là đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi>yi thì có thể nói x cách y một khoảng xi-yi tương ứng với thuộc tính thứ i
• Thuộc tính tỷ lệ: Là thuộc tính khoảng nhưng được xác định một cách tương đối so với điểm mốc có nghĩa nào đó
Trong các loại thuộc tính đề cập đến ở trên thì thuộc tính định danh và thuộc tính có thứ tự được gọi chung là thuộc tính có hạng mục, còn thuộc tính khoảng và thuộc tính tỷ lệ được gọi chung là thuộc tính số
Đặc biệt còn có dữ liệu không gian là loại dữ liệu có thuộc tính số khái
quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối tượng Ví dụ như thông tin về hình học,…Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc
ü Dữ liệu không gian liên tục: Bao chứa một vùng không gian
ü Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều
chiều và cho phép xác định khoảng cách giữa các đối tượng dữ liệu trong không gian
Thông thường, các thuộc tính số được đo bằng các đơn vị xác định như
kilogams hay centimeters Tuy nhiên, việc thay đổi các đơn vị đo cũng ảnh
Trang 24hưởng đến kết quả phân cụm Để khắc phục điều này phải chuẩn hoá dữ liệu được thực hiện bằng cách thay thế mỗi một thuộc tính bằng thuộc tính số hoặc thêm các trọng số cho các thuộc tính
2.2 CÁC PHÉP ĐO ĐỘ TƯƠNG TỰ VÀ KHOẢNG CÁCH ĐỐI VỚI CÁC KIỂU
DỮ LIỆU
2.2.1 Khái ni ệm tương tự và phi tương tư
Khi các đặc tính của dữ liệu được xác định, phải tìm cách thích hợp để
xác định “khoảng cách” giữa các đối tượng, hay là phép đo tương tự dữ liệu
Đây là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để tính độ tương tự hoặc là để tính độ phi tương
tự giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng lớn thì
sự giống nhau giữa các đối tượng càng lớn và ngược lại, còn hàm tính độ phi tương tự tỷ lệ nghịch với hàm tính độ tương tự Độ tương tự hoặc phi tương tự
có nhiều cách để xác định, chúng được đo bằng khoảng cách giữa các đối tượng Tất cả các cách đo độ tương tự đều phụ thuộc vào kiểu thuộc tính mà người sử dụng phân tích Ví dụ, đối với các thuộc tính hạng mục thì không sử dụng độ đo khoảng cách là một hướng hình học của dữ liệu
Tất cả các độ đo dưới đây được xác định trong không gian metric Bất
kỳ một metric nào cũng là một độ đo nhưng điều ngược lại không đúng Để tránh sự nhầm lẫn, thuật ngữ độ đo ở đây đề cập đến hàm tính độ tương tự hoặc hàm tính độ phi tương tự Một không gian metric là một tập trong đó có
xác định “khoảng cách” giữa các 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 Nghĩa là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ) các đối tượng trong CSDL D đề cập ở trên được gọi là một không gian metric nếu:
• Với mỗi cặp phần tử x, y thuộc X đều được xác định theo một quy tắc nào đó, một số thực δ(x,y) được gọi là khoảng cách giữa x và y
Trang 25• Quy tắc nói trên thoả mãn hệ tính chất sau:
- δ(x,y) > 0 nếu x≠y
- δ(x,y) = 0 nếu x=y
- δ(x,y) = δ(y,x) với mọi x,y
hiện trong cùng một đơn vị giống nhau thì nó tồn tại khoảng cách Euclidean
có thể xác định nhóm dữ liệu tương tự Tuy nhiên, không phải lúc nào khoảng cách Euclidean cũng cho kết quả chính xác Hình 2.1 minh hoạ về phép đo chiều cao và chiều ngang của một đối tượng thực hiện trong một đơn vị vật lý giống nhau nhưng khác nhau về tỷ lệ
Hình 2.1 Mối quan hệ giữa tỷ lệ phép đo và sự phân cụm
Trang 26Tuy nhiên, đây không chỉ là vấn đề đồ thị: Vấn đề phát sinh từ công thức toán học được sử dụng để kết hợp khoảng cách giữa các thành phần vectơ thuộc tính dữ liệu đơn trong một khoảng duy nhất mà có thể được sử dụng cho mục đính phân cụm Các công thức khác nhau có thể dẫn tới những cụm khác nhau
Các thuật toán cần có các phép đo khoảng cách hoặc độ tương tự giữa hai đối tượng để thực hiện phân cụm Kiến thức miền phải được sử dụng để trình bày rõ ràng phép đo khoảng cách thích hợp cho mỗi ứng dụng Hiện nay phép đo có nhiều mức độ khác nhau tuỳ theo từng trường hợp [1][4]
v Một số phương pháp đo khoảng cách giữa các đối trong không gian Metric
Giả sử hai đối tượng x,y có p thuộc tính:
X=(x1,x2,…,xp) Y=(y1,y2,…,yp)
o Khoảng cách Minkowski được định nghĩa bởi
o Một số phép đo khoảng cách thường dùng
|
| max )
, (
) distance (Chebychev
3,
|
| ) , (
distance) (Manhattan
1 2,
|
| )
, (
) distance (Euclidean
2 1,
1 1
1
i i p i
p
i
i i
p
i
i i
y x y
x d
r
y x y
x d r
y x y
x d
Trang 27o Ví dụ:
Hình 2.2 Ví dụ về các phép đo khoảng cách
4 } , 4 max : distance Chebychev
3,
7 3 4 : distance Manhattan
2,
5 3 4 : distance Euclidean
=
= +
= +
v Ngoài ra, còn tồn tại một số phép đo khoảng cách giữa hai cụm dữ liệu, cụ thể như sau:
• Average Linkage: Khoảng cách giữa hai cụm dữ liệu là giá trị trung bình khoảng cách của tất cả các điểm trong hai cụm đó
• Single Linkage: Khoảng cách giữa hai cụm dữ liệu là khoảng cách giữa hai điểm gần nhau nhất trong hai cụm đó
• Complete Linkage: Khoảng cách giưac hai cụm dữ liệu là khoảng cách giữa hai điểm xa nhau nhất trong hai cụm đó
• Centroid: Khoảng cách giữa hai trum tâm của cụm
Hình 2.3 Một số loại khoảng cách giữa hai cụm
Trang 282.2.3 Thu ộc tính nhị phân
Tất cả các phép đo được định nghĩa ở trên là đa số thích hợp cho các biến liên tục, cho các biến danh nghĩa, “phép đo khoảng cách” là 0 nếu các trường hợp có cùng giá trị danh nghĩa và là 1 nếu các trường hợp có các giá trị danh nghĩa khác nhau hoặc với độ đo tương tự 1 (nếu các trường hợp có cùng giá trị danh nghĩa) và 0 (nếu không giống nhau)
Do đó nếu xem xét p biến định danh, có thể đánh giá độ tương tự của các trường hợp bằng số các biến mà có giá trị giống nhau Nói chung, định nghĩa mới một biến nhị phân từ mỗi biến danh nghĩa bằng việc nhóm các nhãn thành hai lớp, một nhãn là 1, và nhãn khác là 0 Xây dựng và xem xét bằng ngẫu nhiên các sự kiện có thể xảy ra và định nghĩa các thuộc tính của đối tượng x, y bằng các biến số nhị phân 0 và 1
a là tổng số các thuộc tính có giá trị 1 trong hai đối tượng x,y
b là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y
c là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y
d là tổng số các thuộc tính có giá trị 0 trong hai đối tượng x, y
p là tổng tất cả các thuộc tính của hai đối tượng x, y
Các phép đo độ tương tự của các trường hợp với dữ liệu thuộc tính nhị phân được thực hiện bằng cách sau:
Trang 29Hệ số đối sánh đơn giản: d(x,y)=
a
+ + , tham số này bỏ qua các đối sánh 0-0
Công thức này 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 thuộc tính nhị phân ở đây là không đối xứng
d(x,y)=
p a
d(x,y)=
c b
a
+
d(x,y)=
c b a
a
+ +
2 2
Các giá trị được định nghĩa trong khoảng [0,1] và có thể biến đổi sang
độ đo phi tương tự bằng biểu thức: ds(x,y)=1-d(x,y)
Phép đo độ phi tương tự giữa các đối tượng dữ liệu với thuộc tính thứ
tự được thực hiện như sau Giả sử i là thuộc tính thứ tự có Mi giá trị (Mi là kích thước miền giá trị)
Các trạng thái Mi được sắp thứ tự là [1…Mi], có thể thay thế mỗi giá trị của thuộc tính bằng giá trị cùng loại ri với ri thuộc {1…Mi}
Trang 30Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy phải chuyển đổi chúng về cùng miền giá trị [0,1] bằng cách thực hiện phép biến đổi sau cho mỗi thuộc tính: Z( j)
i =
1
1 ) (
−
−
i
j i
M r
Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối với các giá trị Z( j)
i , đây cũng là độ phi tương tự của thuộc tính có thứ tự
i x y w
1
2 ) (
Có thể chuyển đổi mô hình cho các kiểu dữ liệu trên, ví dụ dữ liệu kiểu hạng mục có thể chuyển đổi thành dữ liệu nhị phân hoặc ngược lại nhưng giải pháp này rất tốn kém về chi phí tính toán Do vậy, cần phải cân nhắc khi áp dụng cách thức này
Tóm lại, tuỳ từng trường hợp dữ liệu cụ thể mà có thể 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
Trang 31hợ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 [7]
2.3 NHỮNG KỸ THUẬT TIẾP CẬN TRONG PHÂN CỤM DỮ LIỆU
Có rất nhiều kỹ thuật tiếp cận và ứng dụng trong thực tế của PCDL
Nhìn chung, các kỹ thuật phân cụm đều hướng tới hai mục tiêu là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Tuy nhiên,
các kỹ thuật phân cụm có thể được phân thành một số loại cơ bản dựa trên các phương pháp tiếp cận như [5][10][11]:
w Phương pháp phân cụm phân hoạch
w Phương pháp phân cụm phân cấp
w Phương pháp phân cụm dựa trên mật độ
w Phương pháp phân cụm dựa trên lưới
w Phương pháp phân cụm có dữ liệu ràng buộc
2.3.1 Phương pháp phân cụm phân hoạch
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 được số 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 tốt cho các cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp này còn phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau, xa nhau so với mỗi điểm khác Phương pháp này không xử lý được các điểm có hình thù kỳ quặc hay mật độ dày đặc Do phải tìm kiếm hết các phân hoạch có thể được nên các thuật toán phân hoạch
dữ liệu có độ phức tạp rất lớn khi xác định nghiệm toàn cục Do vậy, trên thực
tế thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng
Trang 32một hàm tiêu chuẩn để đánh giá chất lượng của cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu
Với chiến lược này, thông thường khởi tạo một phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc heuristic và liên tục tinh chỉnh cho đến khi thu được một phân hoạch mong muốn thoả mãn các ràng buộc cho trước Các thuật toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm bằng cách tính các giá trị độ đo tương tự giữa các đối tượng dữ liệu và sắp xếp các giá trị này Sau đó, thuật toán lựa chọn một giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu Ý tưởng của thuật toán phân hoạch tối ưu cục bộ là sử dụng chiến lược tham ăn (Greedy Method) để tìm kiếm nghiệm
2.3.2 Phương pháp phân cụm phân cấp
Phương pháp này xây dựng một phân cấp dựa trên cơ sở các đối tượng
dữ liệu đang xem xét Đó là việc sắp xếp một tập dữ liệu đã cho thành một cấu trúc hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này là hoà nhập nhóm (thường gọi là tiếp cận bottom-up) và phân chia nhóm (thường gọi là tiếp cận top-down)
Ø Kỹ thuật tiếp cận bottom-up: Bắt đầu xuất phát với mỗi đối tượng dữ
liệu được khởi tạo tương ứng với các cụm riêng biệt và sau đó tiến hành hoà nhập nhóm các đối tượng theo cùng một độ đo tương tự (như khoảng cách giữa hai trung tâm của nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hoà nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thoả mãn Cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm
Ø Kỹ thuật tiếp cận top-down: Bắt đầu với tất cả các đối tượng dữ liệu
được sắp xếp trong cùng một cụm và kỹ thuật này tiến hành chia nhỏ các cụm Mỗi vòng lặp thành công, một cụm được tách ra thành các cụm nhỏ hơn
Trang 33theo giá trị của một phép đo tương tự nào đó cho đến khi mỗi đối tượng dữ liệu là một cụm riêng biệt hoặc cho đến khi điều kiện dừng thoả mãn Cách tiếp cận này sử dụng chiến lược chia để trị
Hình 2.4 Các chiến lược phân cụm phân cấp
Trong thực tế, có rất nhiều trường hợp áp dụng cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể được cải tiến thông qua bước phân cụm phân
hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cổ điển, hiện nay đã có rất nhiều thuật toán cải tiến dựa
trên hai phương pháp được áp dụng rộng rãi trong lĩnh vực khai phá dữ liệu
2.3.3 Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ là số đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một dữ liệu đã được xác định thì
nó tiếp tục phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụm dựa trên mật độ của các đối tượng để xác định các cụm dữ liệu có thể được phát hiện ra các cụm dữ liệu với các hình thù bất kỳ Kỹ thuật này có
Trang 34thể khắc phục được các phần tử ngoại lai hoặc các giá trị nhiễu tốt Tuy nhiên, việc xác định tham số mật độ của thuật toán là rất khó khăn, trong khi các tham số này lại ảnh hưởng rất lớn đến kết quả phân cụm [12]
2.3.4 Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hoá
dữ liệu thành các ô tạo thành lưới Sau đó, các thao tác phân cụm dữ liệu chỉ cần làm việc với từng ô trên lưới chứ không phải các đối tượng dữ liệu Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô Phương pháp này gần giống phương pháp phân cụm phân cấp nhưng chúng không trộn các
ô, đồng thời khắc phục được yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân cụm dựa trên mật độ không giải quyết được Ưu điểm của phương pháp dựa trên lưới là thời gian xử lý nhanh và độc lập với số lượng dữ liệu trong tập dữ liệu ban đầu, chúng phụ thuộc vào số các ô trong mỗi chiều của không gian lưới
Hình 2.5 Cấu trúc dữ liệu lưới
Trang 352.3.5 Phương pháp phân cụm dựa trên mô hình
Phương pháp này cố gắng khám phá các xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc
mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận ra các phân hoạch Phương 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 Các thuật toán phân cụm dựa trên mô hình có hai cách tiếp cận chính là mô hình thống
kê và mạng nơron Phương pháp này gần giống với phương pháp phân cụm dựa trên mật đô, vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm
2.3.6 Phương pháp phân cụm có dữ liệu ràng buộc
Sự phát triển của PCDL không gian trên CSDL lớn đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lý, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải thoả mãn trong quá trình phân cụm Để PCDL không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm
Ø Có một số cách phân chia cụm phổ biến như sau:
- Phân chia phẳng theo ranh giới
- Phân chia hình cầu
- Phân chia xác suất
- Phân chia hình cây
Trang 36Hình 2.6 Một số cách phân chia cụm
Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển,
áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở các phương pháp đó như:
ü Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh
nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng nhưng chúng chỉ áp dụng cho các dữ liệu có thuộc tính số
ü Phân cụm khái niệm: Các kỹ thuật phân cụm được phát triển áp dụng
cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lý
ü Phân cụm mờ: Sử dụng kỹ thuật mờ để PCDL, trong đó một đối tượng
dữ liệu có thể thuộc vào nhiều cụm dữ liệu khác nhau Các thuật toán thuộc loại này chỉ ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng ngày, chúng xử lý các dữ liệu không chắc chắn Thuật toán mờ quan trọng nhất là FCM (Fuzzy c-means)
ü Phân cụm Kohonen: Loại phân cụm này dựa trên khái niệm của các
mạng nơron Mạng Kohonen có các tầng nơron vào và các tầng nơron ra Mỗi
Trang 37nơron của tầng vào tương ứng với mỗi thuộc tính của bản ghi, mỗi một nơron vào kết nối với tất cả các nơron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron tầng ra tương ứng [7][13]
Tóm lại, các kỹ thuật PCDL trình bày ở trên đã được sử dụng rộng rãi trong thực tế, thế nhưng hầu hết chúng chỉ áp dụng cho tập dữ liệu với cùng một kiểu thuộc tính Vì vậy, việc phân cụm dữ liệu có kiểu hỗn hợp là một vấn
đề đặt ra trong KPDL giai đoạn hiện nay
Trang 38CHƯƠNG 3 CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU
3.1 GIỚI THIỆU
Có khá nhiều thuật toán phân cụm tốt đã được biết đến Nhưng sự khác nhau giữa các thuật toán này chính là việc phân nhóm cùng một tập hợp dữ liệu bằng nhiều phương pháp khác nhau thì cho kết quả hoặc là giống nhau hoặc là khác nhau Việc lựa chọn một phương pháp phù hợp cho từng trường hợp cụ thể phụ thuộc vào nhiều thành phần như: miền tri thức, cách thực hiện phương pháp, khả năng của phần cứng và phần mềm cũng như là kích cỡ của tập dữ liệu
Do PCDL đang là một vấn đề thời sự trong lĩnh vực CNTT thế giới nên
có rất nhiều nhà khoa học và tổ chức tập trung nghiên cứu các kỹ thuật phân cụm Dựa trên những phương pháp truyền thống đã được biết đến, nhiều phương pháp mới ra đời phù hợp với mục đích sử dụng và nâng cao hiệu quả phân cụm Do đó, người ta phân ra hai nhóm kỹ thuật tiếp cận phân cụm
chính là các phương pháp phân cụm cổ điển và các phương pháp phân cụm hiện đại [13][15]
Hình 3.1 Tổng quan về các phương pháp phân cụm
Cách phân chia các phương pháp tiếp cận PCDL như trên là phổ biến nhất Ngoài ra, còn một số cách phân chia khác cũng hay được đề cập tới
Trang 39Một trong những cách phân chia đó là dựa trên sự ràng buộc và không ràng buộc dữ liệu của nhóm tác giả (Dr Osmar R Zaiane and Chi-hoon Lee)
thuộc (Database Laboratory, Department of Computing Science, University of Alberta) cũng được sử dụng rất phổ biến hiện nay, cụ thể như sau [7][15]:
Hình 3.2 Các thuật toán phân cụm dữ liệu không ràng buộc
Hình 3.3 Các thuật toán phân cụm dữ liệu có ràng buộc
Nhìn chung, các thuật toán phân cụm dữ liệu được chia theo các kỹ thuật tiếp cận tương ứng Hiện nay, các thuật toán phân cụm được phân chia thành một số nhóm chính như sau:
Trang 40o Các thuật toán phân cụm phân hoạch (Partitioning Methods):
K-means, Pam, Clara, Clarans,…
o Các thuật toán phân cụm phân cấp (Herarchical Methods): Birch,
Cure, Agnes, Diana, Rock, Chameleon,…
o Các thuật toán phân cụm dựa trên mật độ (Density-based Methods):
Dbscan, Optics, Denclue,…
o Các thuật toán phân cụm dựa trên lưới (Grid-based Methods): Sting,
Clique, WaveCluster,…
o Các thuật toán phân cụm dựa trên mô hình (Model-based Methods):
Em, Cobweb,…
3.2 CÁC THUẬT TOÁN PHÂN CỤM PHÂN HOẠCH
Là cách thức phân chia một tập CSDL D gồm n đối tượng vào trong một tập gồm có k cụm
Ø Những đặc điểm chính của phương pháp:
Đưa ra một tham số k, tìm cách phân chia tập dữ liệu thành k cụm dựa theo việc lựa chọn tiêu chuẩn phân chia
3.2.1 Thu ật toán K-MEANS
K-means là một trong những thuật toán học không giám sát đơn giản
nhất để giải quyết vấn đề phân cụm dữ liệu K-means được công bố lần đầu tiên bởi J.B MacQueen vào năm 1967, cho đến nay đã có nhiều dạng biến đổi khác nhau của thuật toán này Trong thuật toán K-means, các cụm được định
nghĩa dựa trên trung tâm của các phần tử Phương pháp này dựa trên độ đo
khoảng cách của các đối tượng dữ liệu trong cụm Trong thực tế, nó đo
khoảng cách của mỗi đối tượng dữ liệu tới trung tâm của cụm Trung tâm của cụm được xem là giá trị trung bình của các đối tượng Như vậy, nó cần khởi
tạo một tập trung tâm các cụm ban đầu, thông qua đó lặp lại các bước như gán