1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số thuật toán phân cụm dữ liệu

103 1,4K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 103
Dung lượng 1,45 MB

Nội dung

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 2

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

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

A Clustering Algorithm Based On

Randomized Search

CLARANS

Clustering Using REpresentatives CURE

Ordering Points To Indentify the

Clustering Structure

OPTICS

Trang 5

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

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

Phâ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 8

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ừ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 9

Phụ 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 10

CHƯƠ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 13

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 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 14

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à 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 15

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

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 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 18

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

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

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

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

Phâ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 23

CHƯƠ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 24

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

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 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 27

d(x,y) = d0 khi và chỉ khi: x= y (2.7)

d(x,z)  d(x,y) + d(y,z), x,y,zX (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,zX (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 28

hiệ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 30

4 } , 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 31

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:

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 32

Hệ 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 33

Mỗ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 34

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 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 35

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 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 36

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 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 37

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 ĐỘ

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 38

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

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 39

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 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 40

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

Ngày đăng: 25/03/2015, 09:47

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Bùi Công Cường (2005): “Một số hướng mới trong công nghệ tri thức và khai phá dữ liệu”. Viện toán học, Trường thu “Hệ mờ và ứng dụng” lần thứ 4 Sách, tạp chí
Tiêu đề: “Một số hướng mới trong công nghệ tri thức và khai phá dữ liệu"”. Viện toán học, Trường thu “Hệ mờ và ứng dụng
Tác giả: Bùi Công Cường
Năm: 2005
2. Bùi Công Cường, Nguyễn Doãn Phước (2001): “Hệ mờ, hệ Nơron và ứng dụng”, Nhà xuất bản KHKT.Tiếng Anh Sách, tạp chí
Tiêu đề: “Hệ mờ, hệ Nơron và ứng dụng
Tác giả: Bùi Công Cường, Nguyễn Doãn Phước
Nhà XB: Nhà xuất bản KHKT. Tiếng Anh
Năm: 2001
3. K. Jain and R. C. Dubes (1988), Algorithms for Clustering Data, Printice Hall Sách, tạp chí
Tiêu đề: Algorithms for Clustering Data
Tác giả: K. Jain and R. C. Dubes
Năm: 1988
5. D. Gibson, J. Kleinberg and P. Raghavan (1998), Clustering categorical data: An approach based on dynamic systems, In Proc, VLDB’98 Sách, tạp chí
Tiêu đề: Clustering categorical data: An approach based on dynamic systems
Tác giả: D. Gibson, J. Kleinberg and P. Raghavan
Năm: 1998
6. Douglass Cutting, David Karger, Jan Pedersen and John W. Tukey (1992), Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections, Proceedings of the 15th Annual International ACM/SIGIR Conference, Copenhagen Sách, tạp chí
Tiêu đề: Scatter/Gather: A Cluster-based Approach to Browsing Large Document Collections, Proceedings of the 15th Annual International ACM/SIGIR Conference
Tác giả: Douglass Cutting, David Karger, Jan Pedersen and John W. Tukey
Năm: 1992
7. Ho Tu Bao (2000), Knowledge Discovery And Data Mining, Institute of Information HiTechnology, National Center for Natural Science and Technology Sách, tạp chí
Tiêu đề: Knowledge Discovery And Data Mining
Tác giả: Ho Tu Bao
Năm: 2000
8. O. Zamir and O. Etzioni (1999), Groupera dynamic clustering interface to web search results, In Proceedings of the Eighth International World Wide Web Conference, Toronto, Canada, M. Steinbach, G Sách, tạp chí
Tiêu đề: Groupera dynamic clustering interface to web search results
Tác giả: O. Zamir and O. Etzioni
Năm: 1999
9. L. Kaufman and P. J. Rousseeuw (1990), Finding Groups in Data: an Introduction to Cluster Analysis, John Wiley &amp; Sons Sách, tạp chí
Tiêu đề: Finding Groups in Data: an Introduction to Cluster Analysis
Tác giả: L. Kaufman and P. J. Rousseeuw
Năm: 1990
10. Spath H (1980): “Clustring Analysis Algorithms”, Ellis Horwood Sách, tạp chí
Tiêu đề: Clustring Analysis Algorithms”
Tác giả: Spath H
Năm: 1980
11. MacQuenn J.B: “Some methods for classification and Analysis of multivariate observations”. Processings of the Symposium on Mathematical Statistics and Probability, 5 th Beckley, Vol. 1 University of California Press Sách, tạp chí
Tiêu đề: “Some methods for classification and Analysis of multivariate observations
12. M. Ester, H.-P. Kriegel, J. Sander and X. Xu (1996), A density-based algorithm for discovering clusters in large spatial databases, KDD'96 Sách, tạp chí
Tiêu đề: A density-based algorithm for discovering clusters in large spatial databases
Tác giả: M. Ester, H.-P. Kriegel, J. Sander and X. Xu
Năm: 1996
13. M. R. Anderberg (1973), Cluster Analysis for Applications, Academic Press Sách, tạp chí
Tiêu đề: Cluster Analysis for Applications
Tác giả: M. R. Anderberg
Năm: 1973
14. P. Arabie, L. J. Hubert and G. De Soete (1996), Clustering and Classification, World Scietific Sách, tạp chí
Tiêu đề: Clustering and Classification
Tác giả: P. Arabie, L. J. Hubert and G. De Soete
Năm: 1996
15. P. Michaud (1997), Clustering techniques, Future Generation Computer systems Sách, tạp chí
Tiêu đề: Clustering techniques
Tác giả: P. Michaud
Năm: 1997
16. T. Zhang, R. Ramakrishnan and M. Livny (1996), BIRCH : an efficient data clustering method for very large databases, SIGMOD'96 Sách, tạp chí
Tiêu đề: BIRCH : an efficient data clustering method for very large databases
Tác giả: T. Zhang, R. Ramakrishnan and M. Livny
Năm: 1996
4. D. Fisher (1987), Knowledge acquisition via incremental conceptual clustering, Machine Learning Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w