Tải bản đầy đủ (.pdf) (118 trang)

Một số vấn đề về phân cụm dữ liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.66 MB, 118 trang )



1
MỤ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


2
3.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



3
DANH 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 C
jmp
không âm 46
Hình 3.10. Trường hợp C
jmp
có thể âm hoặc dương 47
Hình 3.11. Trường hợp C
jmp
=0 47
Hình 3.12. Trường hợp C
jmp
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



4
Hì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


5
Hì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



6
DANH 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


7

BẢNG CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT
CỤM TỪ TỪ TIẾNG ANH VIẾT TẮT

Công nghệ thông tin Information Technology CNTT
Cơ sở dữ liệu Database CSDL
Khai phá dữ liệu Data Mining KPDL
Khám phá tri thức trong cơ
sở dữ liệu
Knowledge Discovery In
Database
KDD
Khám phá tri thức Knowledge Discovery KPTT
Phân cụm dữ liệu Data Clustering PCDL




8
LỜ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


9
MỞ ĐẦ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.


10

Chươ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 K-
means, một trong những thuật toán phân cụm dữ liệu phổ biến nhất.






11

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.


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


13

ra đượ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].


14

Khai 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]


15


Cá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


16

1.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.


17

Cá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.


18

Trong 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.


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


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.
• Dễ hiểu và dễ sử dụng.
1.3.5. Các ứng dụng của phân cụm
Phân cụm đang là một vấn đề thời sự của ngành CNTT thế giới hiện
tại. Ngoài các ứng dụng phổ biến đã được biết tới, thời gian gần đây, PCDL
đã mở rộng phạm vi ứng dụng. Các kỹ thuật phân cụm đã được sử dụng trong
các lĩnh vực như: Nhận dạng mẫu, so sánh, phân lớp,…Kỹ thuật phân cụm là
sự kết hợp từ nhiều phương pháp khác nhau như: Toán, vật lý, thống kê, khoa
học máy tính, trí tuệ nhân tạo, CSDL,…[7]


21


Hiệ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




22

CHƯƠ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=(x
1
, x
2
,…,x
k
); y=(y

1
, y
2
,…,y
k
); z=(z
1
,z
2
,…,z
k
)
Trong đó x
i
,y
i
,z
i
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,…



23

2.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 x
i
>y
i
thì có thể nói x cách y
một khoảng x
i
-y
i
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


24

hưở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.


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
- δ(x,y) ≤ δ(x,z) + δ(y,z)
Hàm δ(x,y) được gọi là một metric của không gian, các phần tử của X
được gọi là một điểm của không gian này.
2.2.2. Thuộc tính khoảng
Một thành phần quan trọng trong thuật toán phân cụm là phép đo
khoảng cách giữa hai điểm dữ liệu. Nếu thành phần của vectơ dữ liệu thể
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

×