Khai phá dữ liệu có rất nhiều hướng tiếp cận, các kỹ thuật khai phá dữ liệu liên quan đến rất nhiều ngành khoa học khác như: Hệ cơ sở dữ liệu, thống kê, học máy, trực quan hoá,…Tuỳ vào t
Trang 1ĐẠI HỌC CÔNG NGHỆ ĐẠI HỌC QUỐC GIA HÀ NỘI
TRẦN THỊ KIM THUYẾN
MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU
LUẬN VĂN THS CÔNG NGHỆ THÔNG TIN
Người hướng dẫn PGSTSKH : BÙI CÔNG CƯỜNG
Hà nội: 2007
Trang 2MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 3
DANH MỤC HÌNH VẼ, ĐỒ THỊ 4
MỞ ĐẦU 6
CHƯƠNG 1 TỔNG QUAN 9
1.1 QUÁ TRÌNH KHÁM PHÁ TRI THỨC TRONG CƠ SỞ DỮ LIỆU 9
1.2 KHAI PHÁ DỮ LIỆU 11
1.2.1 KHÁI NIỆM VỀ KHAI PHÁ DỮ LIỆU 11
1.2.2 CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU 12
1.3 PHÂN CỤM DỮ LIỆU 14
1.3.1 KHÁI NIỆM VỀ PHÂN CỤM DỮ LIỆU 14
1.3.2 MỘT SỐ VẤN ĐỀ TRONG PHÂN CỤM DỮ LIỆU 16
1.3.3 MỤC TIÊU CỦA PHÂN CỤM 17
1.3.4 CÁC BƯỚC CƠ BẢN TRONG PHÂN CỤM 18
1.3.5 YÊU CẦU CỦA PHÂN CỤM 19
1.3.6 Ứ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 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 LOẠI KIỂU DỮ LIỆU DỰA TRÊN HỆ ĐO 23
2.2 PHÉP ĐO ĐỘ TƯƠNG TỰ VÀ PHÉP ĐO KHOẢNG CÁCH 24
2.2.1 KHÁI NIỆM TƯƠNG TỰ VÀ PHI TƯƠNG TỰ 24
2.2.2 ĐỘ ĐO TƯƠNG TỰ VÀ KHÔNG TƯƠNG TỰ 25
2.2.3 PHÉP ĐO KHOẢNG CÁCH 26
2.3 PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU 33
2.3.1 PHƯƠNG PHÁP PHÂN CỤM PHÂN HOẠCH 33
2.3.2 PHƯƠNG PHÁP PHÂN CỤM PHÂN CẤP 34
2.3.3 PHƯƠNG PHÁP PHÂN CỤM DỰA TRÊN MẬT ĐỘ 36
2.3.4 PHƯƠNG PHÁP PHÂN CỤM DỰA TRÊN LƯỚI 36
2.3.5 PHƯƠNG PHÁP PHÂN CỤM DỰA TRÊN MÔ HÌNH 37
2.3.6 PHƯƠNG PHÁP PHÂN CỤM CÓ DỮ LIỆU RÀNG BUỘC 38
CHƯƠNG 3 MỘT SỐ THUẬT TOÁN PHÂN CỤM DỮ LIỆU 40
3.1 THUẬT TOÁN PHÂN CỤM PHÂN HOẠCH 41
3.1.1 THUẬT TOÁN K-MEANS 41
3.1.2 THUẬT TOÁN PAM 46
3.1.3 THUẬT TOÁN CLARA 51
3.1.4 THUẬT TOÁN CLARANS 53
3.2 CÁC THUẬT TOÁN PHÂN CỤM PHÂN CẤP 54
Trang 33.2.1 THUẬT TOÁN HERACHICAL 54
3.2.2 THUẬT TOÁN BIRCH 62
3.2.3 THUẬT TOÁN CURE 66
3.3 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MẬT ĐỘ 69
3.3.1 THUẬT TOÁN DBSCAN 70
3.3.2 THUẬT TOÁN OPTICS 76
3.4 CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN LƯỚI 77
3.4.1 THUẬT TOÁN STING 78
3.4.2 THUẬT TOÁN CLIQUE 81
CHƯƠNG 4 PHÂN CỤM DỮ LIỆU MỜ 83
4.1 VẤN ĐỀ PHÂN CỤM MỜ 83
4.2 KHÁI NIỆM VỀ TẬP MỜ VÀ PHÂN CỤM MỜ 84
4.2.1 KHÁI NIỆM VỀ TẬP MỜ VÀ BIỂU DIỄN TẬP MỜ 84
4.2.2 KHÁI NIỆM PHÂN CỤM MỜ 85
4.3 THUẬT TOÁN PHÂN CỤM MỜ K-MEANS 86
4.3.1 MÔ TẢ THUÂT TOÁN 88
4.3.2 ĐỘ PHỨC TẠP CỦA THUẬT TOÁN 89
KẾT LUẬN 91
TÀI LIỆU THAM KHẢO 93
PHỤ LỤC 95
Trang 4A Clustering Algorithm Based On
Randomized Search
CLARANS
Clustering Using REpresentatives CURE
Ordering Points To Indentify the
Clustering Structure
OPTICS
Trang 5DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Quá trình khám phá tri thức
Hình 1.2 Các kỹ thuật khai phá dữ liệu
Hình 1.3 Quy trình phân cụm
Hình 1.4 Các phần tử ngoại lai trong dữ liệu
Hình 2.1 Mối quan hệ giữa tỷ lệ phép đo và sự phân cụm Hình 2.2 Ví dụ về các phép đo khoảng cách
Hình 2.3 Một số loại khoảng cách giữa hai cụm
Hình 2.4 Các chiến lược phân cụm phân cấp
Hình 2.5 Cấu trúc dữ liệu lưới
Hình 3.1 Xác định ranh giới của các cụm khởi tạo
Hình 3.2 Tính toán trọng tâm của các cụm mới
Hình 3.3 Ví dụ của thuật toán K-MEANS với k=2
Hình 3.4 Một số dạng cụm được khám phá bởi k-means Hình 3.5 Khởi tạo các đối tượng medoid
Trang 6Hình 3.11 Cây CF được dùng trong thuật toán BIRCH
Hình 3.12 Ý tưởng của thuật toán phân cụm phân cấp
Hình 3.13 Các điểm dữ liệu của một cụm trong CURE
Hình 3.14 Phân hoạch và phân cụm dữ liệu
Hình 3.15 Co cụm các điểm biểu diễn
Hình 3.16 Lân cận với ngưỡng của điểm P
Trang 7Phân cụm dữ liệu là quá trình tìm kiếm và phát hiện ra các cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn Các kỹ thuật chính được áp dụng trong phân cụm dữ liệu phần lớn được kế thừa từ lĩnh vực thống kê, học máy, nhận dạng, lượng hoá, Có nhiều ứng dụng phân cụm dữ liệu cho việc giải quyết các vấn đề trong các lĩnh vực như tài chính, ngân hàng, y học, xã hội học, nhận dạng ảnh,
Nhờ sự phát triển mạnh mẽ của ngành công nghệ thông tin đã 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 công nghệ thông tin 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
Trang 8Khai phá dữ liệu có rất nhiều hướng tiếp cận, các kỹ thuật khai phá dữ liệu liên quan đến rất nhiều ngành khoa học khác như: Hệ cơ sở dữ liệu, 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, 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 mờ, biểu diễn tri thức,…
Phân cụm dữ liệu là một trong những kỹ thuật khai phá dữ liệu phổ
biến nhất, nằm trong nhóm 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 cơ sở dữ liệu hiện có Luận văn này tập trung trình bày một số vấn đề của phân cụm dữ liệu, luận văn gồm bốn chương, 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
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,
Chương 4: Trình bày về phân cụm mờ và kỹ thuật mờ trong phân cụm
dữ liệu, cụ thể là thuật toán FCM
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
Trang 9Phụ lục: Trình bày chương trình mô phỏng một thuật toán phân cụm dữ liệu K-means, một trong những thuật toán phân cụm dữ liệu phổ biến nhất
Trang 10CHƯƠNG 1 TỔNG QUAN
1.1 QUÁ TRÌNH KHÁM PHÁ TRI THỨC TRONG CƠ SỞ DỮ LIỆU
Cùng với sự phát triển vượt bậc của các công nghệ điện tử và truyền thông đã làm cho khả năng thu thập, lưu trữ và xử lý dữ liệu cho các hệ thống tin học không ngừng nâng cao 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ồ Quá trình 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 công nghệ thông tin 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 cơ sở dữ liệu 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 các bước như hình 1.1 [7]
Hình 1.1: Quá trình khám phá tri thức
- Trích chọn dữ liệu: Là bước trích chọn những tập dữ liệu cần được
khai phá từ tập dữ liệu lớn ban đầu theo một tiêu chí nhất định Đây là bước quan trọng để rút ra những tri thức hữu ích và chọn phương pháp khai phá dữ liệu phù hợp với mục đích ứng dụng và bản chất dữ liệu
- Tiền xử lý dữ liệu: Là bước làm sạch dữ liệu: 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ị không đầy đủ, biến
Biến đổi dữ liệu
Khai phá dữ liệu
Đánh giá và giải thích Tri thức
Trang 11đổ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 Sau bước này dữ liệu sẽ nhất quán, đầy đủ, được rút gọn
và được rời rạc hoá
- Biến đổi dữ liệu: Đây là bước chuẩn hoá và làm mịn dữ liệu để đưa
dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho kỹ thuật khai phá ở bước sau
- Khai phá dữ liệu: Áp dụng các kỹ thuật phân tích nhằm để khai thác
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
- Đánh giá và biểu diễn tri thức: Những 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à được biểu diễn ở một dạng gần gũi với người sử dụng, đồng thời đánh giá những tri thức khám phá được theo những tiêu chí nhất định Đặ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 khám phá tri thức đượ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 khám phá tri thức, 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
Trang 12- Ứ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 khám phá tri thức
Khai phá dữ liệu là một giai đoạn quan trọng nhất của quá trình khám phá tri thức Bản chất của quá trình khám phá tri thức là rút ra được tri thức phù hợp từ cơ sở dữ liệu
1.2 KHAI PHÁ DỮ LIỆU
1.2.1 KHÁI NIỆM VỀ KHAI PHÁ DỮ LIỆU
Khai phá dữ liệu (Data mining) là quá trình tìm kiếm, phát hiện các tri
thức mới, tiềm ẩn, hữu dụng trong các cơ sở dữ liệu lớn, các kho dữ liệu…Các kết quả khoa học cùng những thành công trong khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực mang lại nhiều lợi ích và có triển vọng, có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống 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ệ cơ sở dữ liệu, 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 cơ sở dữ liệu
Trang 13Phươ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 cơ sở dữ liệu, nó 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 phát triển khai phá dữ liệu với các ứng dụng như Intelligence Miner,…[5]
1.2.2 CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU
Nếu đứng trên quan điểm của học máy (Machine learning) thì kỹ thuật khai phá dữ liệu bao gồm:
- Học có giám sát (supervised learning) là quá trình gán nhãn lớp cho
các phần tử trong cơ sở dữ liệu dựa trên một tập các ví dụ huấn luyện và các thông tin về nhãn lớp đã biết Đây 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 (các cặp đầu vào và đầu ra
Trang 14tươ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à quá trình phân chia
một tập dữ liệu thành các lớp hay là cụm (clustering) dữ liệu tương tự nhau
mà chưa biết trước các thông tin về lớp 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]
- Học nửa giám sát (semi-supervised learning) là quá trình phân chia
một tập dữ liệu thành các lớp dựa trên một tập dữ liệu nhỏ các ví dụ huấn luyện và một số các thông tin về một số nhãn lớp đã biết trước
Nếu căn cứ vào lớp các bài toán cần giải quyết thì kỹ thuật khai phá dữ liệu gồm các kỹ thuật sau:
- 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 cơ sở dữ liệu hiện có Các kỹ thuật loại này gồm có: Phân cụm (Clustering), tóm tắt (Summarization), trực quan hoá (Visualization), phân tích sự phát triển và độ lệch (Evolution and deviation analysis), phân tích luật kết hợp (Association rules),…
- 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),…
Trang 15Trong 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.2 Các kỹ thuật khai phá dữ liệu
1.3 PHÂN CỤM DỮ LIỆU
1.3.1 KHÁI NIỆM VỀ PHÂN CỤM DỮ LIỆU
Phân cụm dữ liệu (PCDL) là một kỹ thuật trong khai phá dữ liệu nhằm
tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn, quan tâm trong tập dữ liệu lớn, từ đó cung cấp thông tin hữu ích cho việc ra quyết định
Như vậy phân cụm dữ liệu 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:
Khai phá dữ liệu
Kỹ thuật khai phá dữ liệu dự đoán
Trang 16- 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
- 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.3
Hình 1.3 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
Thuật toán
Phân cụm
Trang 17nghĩ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 khai
phá dữ liệu, 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 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 hay thông tin về tập ví dụ huấn luyện 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ì phân cụm dữ
liệu 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]
1.3.2 MỘT SỐ VẤN ĐỀ TRONG 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
- 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 cơ sở dữ liệu 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
Trang 18Hình 1.4 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 khai phá dữ liệu
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 í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),…
Trang 191.3.4 CÁC BƯỚC CƠ BẢN TRONG PHÂN CỤM
- Chọn lựa đặc trưng: các đặc trưng phải được chọn lựa một cách hợp
lý để có thể mã hoá nhiều nhất thông tin liên quan đến công việc quan tâm Mục tiêu chính là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng Các đặc trưng cần được tiền xử lý trước khi dùng chúng trong các bước sau
- Chọn độ đo gần gũi: đây là một độ đo chỉ ra mức độ tương tự hay
không tương tự giữa hai vectơ đặc trưng Phải đảm bảo rằng tất cả các vectơ đặc trưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào át hẳn đặc trưng nào, điều này được đảm bảo bởi quá trình tiền
xử lý
- Tiêu chuẩn phân cụm: điều này phụ thuộc vào sự giải thích của
chuyên gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho rằng đang ẩn giấu dưới tập dữ liệu Chẳng hạn, một cụm loại chặt của véctơ đặc trưng trong không gian n chiều có thể dễ nhận thấy theo một tiêu chuẩn, trong khi một cụm loại “dài và mỏng” lại có thể được dễ nhận thấy bởi một tiêu chuẩn khác Tiêu chuẩn phân loại có thể được diễn đạt bởi hàm chi phí hay một vài loại quy tắc khác
- Thuật toán phân loại: cần lựa chọn một sơ đồ thuật toán riêng biệt
nhằm làm sáng tỏ cấu trúc phân cụm của tập dữ liệu
- Công nhận kết quả: khi đã có kết quả phân loại thì ta phải kiểm tra
tính đúng đắn của nó Điều này thường được thực hiện bởi việc dùng các kiểm định phù hợp
- Giải thích kết quả: trong nhiều trường hợp, chuyên gia trong lĩnh vực
ứng dụng phải kết hợp kết quả phân loại với những bằng chứng thực nghiệm
và phân tích để đưa ra các kết luận đúng đắn
Trang 20Trong một số trường hợp, nên có cả bước phân tích khuynh hướng phân cụm, trong bước này có các kiểm định khác nhau để chỉ ra tập dữ liệu có hay không một cấu trúc phân cụm Ví dụ như tập dữ liệu của ta có thể hoàn toàn ngẫu nhiên vì vậy mọi cố gắng phân cụm đều là vô nghĩa
Các lựa chọn khác nhau của các đặc trưng, độ đo gần gũi, tiêu chuẩn phân cụm có thể dẫn tới các kết quả phân cụm khác nhau
1.3.5 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 cơ sở dữ liệu 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 cơ sở dữ liệu 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
Trang 211.3.6 ỨNG DỤNG CỦA PHÂN CỤM
Phân cụm là một công cụ quan trọng trong một số ứng dụng sau:
- Giảm dữ liệu: Từ một số lượng lớn dữ liệu, phân cụm sẽ nhóm các dữ liệu này thành cụm dữ liệu nhỏ dễ nhận thấy sau đó xử lý mỗi cụm như một đối tượng đơn
- Rút ra các giả thuyết: Các giả thuyết này có liên quan đến tính tự nhiên của dữ liệu phải được kiểm tra bởi việc dùng một số tập dữ liệu khác
- Kiểm định giả thuyết: Phân cụm để xét xem có tồn tại một cụm nào
đó trong tập dữ liệu thoả mãn các giả thiết đã cho hay không
- Dự đoán dựa trên các cụm: Trước hết ta phải phân cụm một tập dữ liệu thành các cụm mang đặc điểm của các dạng mà nó chứa Sau đó, khi có một dạng mới chưa biết xác định xem nó có khả năng thuộc về cụm nào nhất
và dự đoán được một số đặc điểm của dạng này nhờ các đặc trưng chung của
cả cụm
Trong thực tế, phân cụm được áp dụng vào nhiều lĩnh vực khác nhau như:
- Tìm kiếm dữ liệu trên mạng: kết quả được phân thành các cụm tuỳ theo độ tương tự với dữ liệu cần tìm
- Marketing: trợ giúp cán bộ thị trường phát hiện được những phân đoạn thị trường để có chiến lược, sản phẩm hợp lý đối với các phân đoạn đó
- Phân loại khách hàng sử dụng các sản phẩm của Ngân hàng và các ngành tài chính, bảo hiểm
- Lập bản đồ thành phố theo nhóm các loại nhà ở, giá trị tài sản hay vị trí địa lý
Trang 22Phân cụm đang là một vấn đề thời sự của ngành công nghệ thông tin 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, phân cụm dữ liệu đã 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, cơ sở dữ liệu,…[7]
Hiện nay, phân cụm dữ liệu đã đượ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
Trang 23CHƯƠNG 2 CÁC KỸ THUẬT PHÂN CỤM
2.1 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 cơ sở dữ liệu 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 ta 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 độ âm thanh,…
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 242.1.2 PHÂN LOẠI KIỂU DỮ LIỆU DỰA TRÊN HỆ ĐO
Giả sử ta có hai đối tượng x, y và các thuộc tính xi, yi với i=1÷k tương ứng với thuộc tính thứ i của chúng Như vậy sẽ có các kiểu dữ liệu như sau:
- 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
Trang 25 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
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 PHÉP ĐO ĐỘ TƯƠNG TỰ VÀ PHÉP ĐO KHOẢNG CÁCH
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, ta 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ó
Trang 26xá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 cơ sở dữ liệu D đượ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
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 ĐỘ ĐO TƯƠNG TỰ VÀ KHÔNG TƯƠNG TỰ
Độ đo không tương tự:
Một độ đo không tương tự d trênmột tập X là một hàm: d : X x X R trong đó R là tập số thực sao cho:
Trang 27d(x,y) = d0 khi và chỉ khi: x= y (2.7)
và
d(x,z) d(x,y) + d(y,z), x,y,zX (2.8)
thì d được gọi là một DM Metric (Disimilar Metric)
Theo (2.7) chỉ ra rằng độ đo không tương tự nhỏ nhất khi hai véctơ là đồng nhất
Dễ dàng nhận thấy khoảng cách Euclid là một độ đo không tương tự metric
Độ đo tương tự:
Một độ đo tương tự s trên X là một hàm: s : X x X R
trong đó R là tập số thực sao cho:
s(x,y)s(y,z) [s(x,y) +s(y,z)]s(x,z), x,y,zX (2.13)
thì d được gọi là một SM metric (Similar Metric)
2.2.3 PHÉP ĐO KHOẢNG CÁCH
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ể
Trang 28hiện trong cùng một đơn vị giống nhau thì nó tồn tại khoảng cách Euclid 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 Euclid cũng cho kết quả chính xác Hình 2.1 minh họa 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
Tuy 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]
Trang 29 Một số phương pháp đo khoảng cách giữa các đối tượng 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) (M anhattan
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 304 } , 4 max : distance Chebychev
3,
7 3 4 : distance
M anhattan
2,
5 3 4 : distance Euclidean
Average Linkage (Sự kết nối trung bình): 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 (Sự kết nối đơn): là khoảng cách giữa hai điểm gần
nhau nhất trong hai cụm đó
Complete Linkage (Sự kết nối đầy đủ): là khoảng cách giữa hai điểm
xa nhau nhất trong hai cụm đó
Centroid (Trung tâm): là khoảng cách giữa hai trung tâm của cụm
Hình 2.3 Một số loại khoảng cách giữa hai cụm
2.2.3.1 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)
Trang 31Do đó 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:
Hệ số đối sánh đơn giản: d(x,y)=
p
d
a , cả hai trọng số có vai trò như nhau, nghĩa là chúng đối xứng và có cùng trọng số
Trang 32Hệ số Jaccard: d(x,y)=
c b a
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 33Mỗ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)
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ự
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
Trang 34Tó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 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 phân cụm dữ liệu 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 PHƯƠNG PHÁP 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 phân cụm
dữ liệu 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]:
Phương pháp phân cụm phân hoạch
Phương pháp phân cụm phân cấp
Phương pháp phân cụm dựa trên mật độ
Phương pháp phân cụm dựa trên lưới
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
Phương pháp phân cụm phân hoạch nhằm phân một tập hợp dữ liệu có
n phần tử cho trước thành k nhóm dữ liệu sao cho: mỗi phần tử chỉ thuộc về
một nhóm dữ liệu và mỗi nhóm dữ liệu có ít nhất một phần tử dữ liệu 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 tối
ưu toàn cục cho vấn đề phân cụm dữ liệu do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Số các cụm được thiết lập sau khi phân hoạch 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 Euclid Ngoài ra, phương pháp này còn phụ thuộc vào
Trang 35khoả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 mộ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 Một số thuật toán phân cụm phân hoạch điển hình như K-means, PAM, CLARA, CLARANS,
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à
Trang 36nhậ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 theo 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
Trang 37cụ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 ĐỘ
Phương pháp 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ó thể 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 [10]
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
Trang 38trong 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
2.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
Trang 392.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 phân cụm dữ liệu không gian trên cơ sở dữ liệu 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 Để phân cụm dữ liệu 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
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ờ để phân cụm dữ liệu, 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 nơ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
Trang 40và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 phân cụm dữ liệu 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 khai phá dữ liệu