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

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

118 568 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 118
Dung lượng 3,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 2: Các kỹ thuật phân cụm, trong đó có đề cập đến một số kiến thức cơ sở là nền tảng cho phân cụm dữ liệu như các kiểu dữ liệu, các phép đo khoảng cách giữa các đối tượng dữ liệu,

Trang 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

Trang 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

Trang 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 Cjmp không âm 46

Hình 3.10 Trường hợp Cjmp có thể âm hoặc dương 47

Hình 3.11 Trường hợp Cjmp=0 47

Hình 3.12 Trường hợp Cjmp luôn âm 48

Hình 3.13 Thuật toán Pam với k=2 49

Hình 3.14 Cây CF được dùng trong thuật toán BIRCH 53

Hình 3.15 Giải thuật BIRCH 54

Hình 3.16 Ý tưởng của thuật toán phân cụm phân cấp 56

Hình 3.17 Các điểm dữ liệu của một cụm trong CURE 57

Hình 3.18 Tổng quan về thuật toán CURE 57

Trang 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

Trang 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

Trang 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

Trang 7

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

Công nghệ thông tin Information Technology CNTT

Khám phá tri thức trong cơ

sở dữ liệu

Knowledge Discovery In

Trang 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

Trang 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

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

Trang 11

K-CHƯƠNG 1 TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU

1.1 KHÁM PHÁ TRI THỨC

Trong những năm gần đây, sự phát triển mạnh mẽ của ngành CNTT đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng một cách nhanh chóng Bên cạnh đó, việc tin học hoá nhiều lĩnh vực của cuộc

sống đã tạo ra cho chúng ta một kho dữ liệu khổng lồ Từ đó, Khám phá tri thức trong Cơ sở dữ liệu (Knowledge Discovery in Databases) đang là một

vấn đề thời sự của nền CNTT thế giới hiện nay Nó được ứng dụng vào nhiều lớp bài toán thực tế khác nhau và thu được nhiều thành quả to lớn

Khám phá tri thức trong CSDL là một quá trình nhận biết đúng đắn, mới, hữu ích và cuối cùng là có thể hiểu được mẫu hoặc mô hình trong dữ liệu Quá trình khám phá tri thức có thể bao gồm một số bước như hình 1.1 [7][10]

Problem Identification and Definition Obtaining and Preprocessing Data

Data Mining

Extracting Knowledge

Results Interpretation and Evaluation Using Discovered Knowledge

Hình 1.1 Quá trình Khám phá tri thức

Ø Tìm hiểu lĩnh vực ứng dụng và định nghĩa vấn đề: Là bước quan

trọng để rút ra những tri thức hữu ích và chọn phương pháp KPDL phù hợp với mục đích ứng dụng và bản chất dữ liệu

Trang 12

Ø Thu thập và tiền xử lý dữ liệu: Bao gồm lựa chọn dữ liệu nguồn, loại

bỏ các dữ liệu nhiễu hoặc ngoại lai, xử lý các giá trị thiếu, biến đổi và rút gọn

dữ liệu, sửa các lỗi mang tính hệ thống, tập hợp các thông tin cần thiết để mô hình hoặc tính toán nhiễu, quyết định các chiến lược xử lý các trường dữ liệu

bị lỗi Bước này thường tốn thời gian trong quá trình KPTT

Ø Khai phá dữ liệu: Trích chọn các mẫu ẩn hoặc mô hình trong dữ liệu

Một mô hình có thể xem như là một biểu diễn tổng thể của cấu trúc nhằm tóm lược các thành phần mang tính hệ thống có trong dữ liệu hoặc mô tả dữ liệu phát sinh Ngược lại, một mẫu là một cấu trúc cục bộ có khi chỉ liên quan tới một nhóm các biến và một số trường hợp

Ø Biểu diễn và đánh giá tri thức: Đặc biệt là làm sáng tỏ các mô tả và dự

đoán, hai mục tiêu chính của các hệ thống khám phá trong thực tế Kinh nghiệm cho thấy rằng các mẫu hoặc mô hình phát hiện được từ các dữ liệu không phải lúc nào cũng đáng quan tâm và có thể trực tiếp sử dụng được ngay, quy trình KPTT được lặp đi lặp lại có điều chỉnh theo các tri thức phát hiện được Để đánh giá được các luật áp dụng trong quy trình KPTT, dữ liệu thường được chia thành hai tập, huấn luyện trên tập thứ nhất và kiểm chứng trên tập thứ hai Có thể lặp lại quy trình này với một số lần với các phần chia khác nhau, sau đó lấy trung bình các kết quả để ước lượng các luật thi hành

Ø Ứng dụng tri thức được khám phá: Củng cố các tri thức đã khám phá,

kết hợp các tri thức thành một hệ thống máy tính Giải quyết các xung đột tiềm năng trong tri thức khai thác được Đưa kết quả vào thực tiễn là mục đích cuối cùng của KPTT

Hiện nay, có nhiều quan niệm về cách phân chia các giai đoạn của quá trình KPTT Nhưng hầu hết các quan niệm đều cho rằng KPDL là một giai đoạn quan trọng nhất của qúa trình KPTT Bản chất của quá trình KPTT là rút

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

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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 19

ü Dò tìm phần tử ngoại lai: Phần tử ngoại lai là một nhóm nhỏ các đối

tượng dữ liệu khác thường so với các dữ liệu trong CSDL Loại bỏ những dữ liệu kiểu này để tránh ảnh hưởng đến kết quả phân cụm

Hình 1.6 Các phần tử ngoại lai trong dữ liệu

ü Phân cụm đang là vấn đề mở và khó: Vì phân cụm đang phải giải

quyết nhiều vấn đề cơ bản như (Xây dựng hàm tính độ tương tự, xây dựng các tiêu chuẩn phân cụm, xây dựng mô hình cho cấu trúc dữ liệu, xây dựng các thuật toán phân cụm và xác lập các điều kiện khởi tạo, xây dựng các thủ tục

biểu diễn và đánh giá kết quả phân cụm) Hiện nay, chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc dữ liệu Với những loại dữ liệu hỗn hợp thì việc phân cụm càng trở

nên khó khăn và đây đang là một trong những thách thức lớn trong lĩnh vực KPDL

1.3.3 M ục tiêu của phân cụm

Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu chưa có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt Nó đòi hỏi người sử dụng phải đưa ra một số tiêu chuẩn mà theo cách đó kết quả phân cụm sẽ đáp ứng được yêu cầu Ví dụ như quan tâm đến việc tìm

đại diện cho các nhóm đồng nhất (rút gọn dữ liệu), tìm kiếm các nhóm hữu

Trang 20

ích và phù hợp (các lớp dữ liệu hữu ích), tìm kiếm các đối tượng khác thường (dò tìm phần tử ngoại lai),…

1.3.4 Các yêu cầu của phân cụm

Thuật toán phân cụm phải thoả mãn một số yêu cầu sau:

• Có khả năng mở rộng: Một số thuật toán có thể áp dụng tốt với tập dữ liệu nhỏ nhưng lại không hiệu quả khi áp dụng cho tập dữ liệu lớn

• Thích nghi với các kiểu thuộc tính khác nhau của dữ liệu

• Khám phá các cụm với hình thù bất kỳ: Hầu hết các CSDL có chứa các cụm dữ liệu với các hình thù khác nhau như hình lõm, hình cầu,…

• Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Các giá trị đầu vào thường rất ảnh hưởng đến thuật toán phân cụm và rất phức tạp để xác định các giá trị đầu vào thích hợp đối với các CSDL lớn

• Khả năng thích nghi với các dữ liệu nhiễu hoặc ngoại lai

• Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu khi đưa vào phân nhóm với các thứ tự khác nhau thì không ảnh hưởng đến kết quả phân cụm

• Thích nghi với dữ liệu đa chiều: Thuật toán áp dụng hiệu quả cho dữ liệu với số chiều khác nhau

Trang 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

Trang 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=(x1, x2,…,xk); y=(y1, y2,…,yk); z=(z1,z2,…,zk)

Trong đó xi,yi,zi với i=1÷k là các đặc trưng hoặc thuộc tính tương ứng của các đối tượng x,y,z Như vậy sẽ có các kiểu dữ liệu như sau [2][3][7]

2.1.1 Phân lo ại kiểu dữ liệu dựa trên kích thước miền

• Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếm được, nghĩa là giữa hai giá trị tồn tại vô số giá trị khác Ví dụ như các thuộc tính về nhiệt độ, hoặc cường độ,…

• Thuôc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn, đếm được

Ví dụ như các thuộc tính số, liệt kê,… Trường hợp đặc biệt của thuộc tính rời rạc là thuộc tính nhị phân mà miền giá trị của nó chỉ có hai phần tử.Ví dụ như: Yes/No, True/False, On/Off,…

Trang 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 xi>yi thì có thể nói x cách y một khoảng xi-yi tương ứng với thuộc tính thứ i

• Thuộc tính tỷ lệ: Là thuộc tính khoảng nhưng được xác định một cách tương đối so với điểm mốc có nghĩa nào đó

Trong các loại thuộc tính đề cập đến ở trên thì thuộc tính định danh và thuộc tính có thứ tự được gọi chung là thuộc tính có hạng mục, còn thuộc tính khoảng và thuộc tính tỷ lệ được gọi chung là thuộc tính số

Đặc biệt còn có dữ liệu không gian là loại dữ liệu có thuộc tính số khái

quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối tượng Ví dụ như thông tin về hình học,…Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc

ü Dữ liệu không gian liên tục: Bao chứa một vùng không gian

ü Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều

chiều và cho phép xác định khoảng cách giữa các đối tượng dữ liệu trong không gian

Thông thường, các thuộc tính số được đo bằng các đơn vị xác định như

kilogams hay centimeters Tuy nhiên, việc thay đổi các đơn vị đo cũng ảnh

Trang 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

Trang 25

• Quy tắc nói trên thoả mãn hệ tính chất sau:

- δ(x,y) > 0 nếu x≠y

- δ(x,y) = 0 nếu x=y

- δ(x,y) = δ(y,x) với mọi x,y

hiện trong cùng một đơn vị giống nhau thì nó tồn tại khoảng cách Euclidean

có thể xác định nhóm dữ liệu tương tự Tuy nhiên, không phải lúc nào khoảng cách Euclidean cũng cho kết quả chính xác Hình 2.1 minh hoạ về phép đo chiều cao và chiều ngang của một đối tượng thực hiện trong một đơn vị vật lý giống nhau nhưng khác nhau về tỷ lệ

Hình 2.1 Mối quan hệ giữa tỷ lệ phép đo và sự phân cụm

Trang 26

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]

v Một số phương pháp đo khoảng cách giữa các đối trong không gian Metric

Giả sử hai đối tượng x,y có p thuộc tính:

X=(x1,x2,…,xp) Y=(y1,y2,…,yp)

o Khoảng cách Minkowski được định nghĩa bởi

o Một số phép đo khoảng cách thường dùng

|

| max )

, (

) distance (Chebychev

3,

|

| ) , (

distance) (Manhattan

1 2,

|

| )

, (

) distance (Euclidean

2 1,

1 1

1

i i p i

p

i

i i

p

i

i i

y x y

x d

r

y x y

x d r

y x y

x d

Trang 27

o Ví dụ:

Hình 2.2 Ví dụ về các phép đo khoảng cách

4 } , 4 max : distance Chebychev

3,

7 3 4 : distance Manhattan

2,

5 3 4 : distance Euclidean

=

= +

= +

v Ngoài ra, còn tồn tại một số phép đo khoảng cách giữa hai cụm dữ liệu, cụ thể như sau:

• Average Linkage: Khoảng cách giữa hai cụm dữ liệu là giá trị trung bình khoảng cách của tất cả các điểm trong hai cụm đó

• Single Linkage: Khoảng cách giữa hai cụm dữ liệu là khoảng cách giữa hai điểm gần nhau nhất trong hai cụm đó

• Complete Linkage: Khoảng cách giưac hai cụm dữ liệu là khoảng cách giữa hai điểm xa nhau nhất trong hai cụm đó

• Centroid: Khoảng cách giữa hai trum tâm của cụm

Hình 2.3 Một số loại khoảng cách giữa hai cụm

Trang 28

2.2.3 Thu ộc tính nhị phân

Tất cả các phép đo được định nghĩa ở trên là đa số thích hợp cho các biến liên tục, cho các biến danh nghĩa, “phép đo khoảng cách” là 0 nếu các trường hợp có cùng giá trị danh nghĩa và là 1 nếu các trường hợp có các giá trị danh nghĩa khác nhau hoặc với độ đo tương tự 1 (nếu các trường hợp có cùng giá trị danh nghĩa) và 0 (nếu không giống nhau)

Do đó nếu xem xét p biến định danh, có thể đánh giá độ tương tự của các trường hợp bằng số các biến mà có giá trị giống nhau Nói chung, định nghĩa mới một biến nhị phân từ mỗi biến danh nghĩa bằng việc nhóm các nhãn thành hai lớp, một nhãn là 1, và nhãn khác là 0 Xây dựng và xem xét bằng ngẫu nhiên các sự kiện có thể xảy ra và định nghĩa các thuộc tính của đối tượng x, y bằng các biến số nhị phân 0 và 1

a là tổng số các thuộc tính có giá trị 1 trong hai đối tượng x,y

b là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y

c là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y

d là tổng số các thuộc tính có giá trị 0 trong hai đối tượng x, y

p là tổng tất cả các thuộc tính của hai đối tượng x, y

Các phép đo độ tương tự của các trường hợp với dữ liệu thuộc tính nhị phân được thực hiện bằng cách sau:

Trang 29

Hệ số đối sánh đơn giản: d(x,y)=

a

+ + , tham số này bỏ qua các đối sánh 0-0

Công thức này sử dụng trong trường hợp mà trọng số của các thuộc tính có giá trị 1 của đối tượng dữ liệu có cao hơn nhiều so với các thuộc tính có giá trị

0, như vậy thuộc tính nhị phân ở đây là không đối xứng

d(x,y)=

p a

d(x,y)=

c b

a

+

d(x,y)=

c b a

a

+ +

2 2

Các giá trị được định nghĩa trong khoảng [0,1] và có thể biến đổi sang

độ đo phi tương tự bằng biểu thức: ds(x,y)=1-d(x,y)

Phép đo độ phi tương tự giữa các đối tượng dữ liệu với thuộc tính thứ

tự được thực hiện như sau Giả sử i là thuộc tính thứ tự có Mi giá trị (Mi là kích thước miền giá trị)

Các trạng thái Mi được sắp thứ tự là [1…Mi], có thể thay thế mỗi giá trị của thuộc tính bằng giá trị cùng loại ri với ri thuộc {1…Mi}

Trang 30

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)

i =

1

1 ) (

i

j i

M r

Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối với các giá trị Z( j)

i , đây cũng là độ phi tương tự của thuộc tính có thứ tự

i x y w

1

2 ) (

Có thể chuyển đổi mô hình cho các kiểu dữ liệu trên, ví dụ dữ liệu kiểu hạng mục có thể chuyển đổi thành dữ liệu nhị phân hoặc ngược lại nhưng giải pháp này rất tốn kém về chi phí tính toán Do vậy, cần phải cân nhắc khi áp dụng cách thức này

Tóm lại, tuỳ từng trường hợp dữ liệu cụ thể mà có thể sử dụng các mô hình tính độ tương tự khác nhau Việc xác định độ tương đồng dữ liệu thích

Trang 31

hợp, chính xác, đảm bảo khách quan là rất quan trọng, góp phần xây dựng thuật toán PCDL có hiệu quả cao trong việc đảm bảo chất lượng cũng như chi phí tính toán [7]

2.3 NHỮNG KỸ THUẬT TIẾP CẬN TRONG PHÂN CỤM DỮ LIỆU

Có rất nhiều kỹ thuật tiếp cận và ứng dụng trong thực tế của PCDL

Nhìn chung, các kỹ thuật phân cụm đều hướng tới hai mục tiêu là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Tuy nhiên,

các kỹ thuật phân cụm có thể được phân thành một số loại cơ bản dựa trên các phương pháp tiếp cận như [5][10][11]:

w Phương pháp phân cụm phân hoạch

w Phương pháp phân cụm phân cấp

w Phương pháp phân cụm dựa trên mật độ

w Phương pháp phân cụm dựa trên lưới

w Phương pháp phân cụm có dữ liệu ràng buộc

2.3.1 Phương pháp phân cụm phân hoạch

Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định được số cụm được thiết lập Số các cụm được

thiết lập là các đặc trưng được lựa chọn trước, phương pháp này tốt cho các cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp này còn phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau, xa nhau so với mỗi điểm khác Phương pháp này không xử lý được các điểm có hình thù kỳ quặc hay mật độ dày đặc Do phải tìm kiếm hết các phân hoạch có thể được nên các thuật toán phân hoạch

dữ liệu có độ phức tạp rất lớn khi xác định nghiệm toàn cục Do vậy, trên thực

tế thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng

Trang 32

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

2.3.2 Phương pháp phân cụm phân cấp

Phương pháp này xây dựng một phân cấp dựa trên cơ sở các đối tượng

dữ liệu đang xem xét Đó là việc sắp xếp một tập dữ liệu đã cho thành một cấu trúc hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này là hoà nhập nhóm (thường gọi là tiếp cận bottom-up) và phân chia nhóm (thường gọi là tiếp cận top-down)

Ø Kỹ thuật tiếp cận bottom-up: Bắt đầu xuất phát với mỗi đối tượng dữ

liệu được khởi tạo tương ứng với các cụm riêng biệt và sau đó tiến hành hoà nhập nhóm các đối tượng theo cùng một độ đo tương tự (như khoảng cách giữa hai trung tâm của nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hoà nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thoả mãn Cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm

Ø Kỹ thuật tiếp cận top-down: Bắt đầu với tất cả các đối tượng dữ liệu

được sắp xếp trong cùng một cụm và kỹ thuật này tiến hành chia nhỏ các cụm Mỗi vòng lặp thành công, một cụm được tách ra thành các cụm nhỏ hơn

Trang 33

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 cụm dữ liệu cổ điển, hiện nay đã có rất nhiều thuật toán cải tiến dựa

trên hai phương pháp được áp dụng rộng rãi trong lĩnh vực khai phá dữ liệu

2.3.3 Phương pháp phân cụm dựa trên mật độ

Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ là số đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một dữ liệu đã được xác định thì

nó tiếp tục phát triển thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụm dựa trên mật độ của các đối tượng để xác định các cụm dữ liệu có thể được phát hiện ra các cụm dữ liệu với các hình thù bất kỳ Kỹ thuật này có

Trang 34

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 [12]

2.3.4 Phương pháp phân cụm dựa trên lưới

Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Mục tiêu của phương pháp này là lượng hoá

dữ liệu thành các ô tạo thành lưới Sau đó, các thao tác phân cụm dữ liệu chỉ cần làm việc với từng ô trên lưới chứ không phải các đối tượng dữ liệu Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô Phương pháp này gần giống phương pháp phân cụm phân cấp nhưng chúng không trộn các

ô, đồng thời khắc phục được yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân cụm dựa trên mật độ không giải quyết được Ưu điểm của phương pháp dựa trên lưới là thời gian xử lý nhanh và độc lập với số lượng dữ liệu trong tập dữ liệu ban đầu, chúng phụ thuộc vào số các ô trong mỗi chiều của không gian lưới

Hình 2.5 Cấu trúc dữ liệu lưới

Trang 35

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

2.3.6 Phương pháp phân cụm có dữ liệu ràng buộc

Sự phát triển của PCDL không gian trên CSDL lớn đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lý, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải thoả mãn trong quá trình phân cụm Để PCDL không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm

Ø Có một số cách phân chia cụm phổ biến như sau:

- Phân chia phẳng theo ranh giới

- Phân chia hình cầu

- Phân chia xác suất

- Phân chia hình cây

Trang 36

Hình 2.6 Một số cách phân chia cụm

Hiện nay, các phương pháp phân cụm trên đã và đang được phát triển,

áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở các phương pháp đó như:

ü Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống, nhánh

nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng nhưng chúng chỉ áp dụng cho các dữ liệu có thuộc tính số

ü Phân cụm khái niệm: Các kỹ thuật phân cụm được phát triển áp dụng

cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lý

ü Phân cụm mờ: Sử dụng kỹ thuật mờ để PCDL, trong đó một đối tượng

dữ liệu có thể thuộc vào nhiều cụm dữ liệu khác nhau Các thuật toán thuộc loại này chỉ ra lược đồ phân cụm thích hợp với tất cả các hoạt động đời sống hàng ngày, chúng xử lý các dữ liệu không chắc chắn Thuật toán mờ quan trọng nhất là FCM (Fuzzy c-means)

ü Phân cụm Kohonen: Loại phân cụm này dựa trên khái niệm của các

mạng nơron Mạng Kohonen có các tầng nơron vào và các tầng nơron ra Mỗi

Trang 37

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 vào kết nối với tất cả các nơron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron tầng ra tương ứng [7][13]

Tóm lại, các kỹ thuật PCDL trình bày ở trên đã được sử dụng rộng rãi trong thực tế, thế nhưng hầu hết chúng chỉ áp dụng cho tập dữ liệu với cùng một kiểu thuộc tính Vì vậy, việc phân cụm dữ liệu có kiểu hỗn hợp là một vấn

đề đặt ra trong KPDL giai đoạn hiện nay

Trang 38

CHƯƠNG 3 CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU

3.1 GIỚI THIỆU

Có khá nhiều thuật toán phân cụm tốt đã được biết đến Nhưng sự khác nhau giữa các thuật toán này chính là việc phân nhóm cùng một tập hợp dữ liệu bằng nhiều phương pháp khác nhau thì cho kết quả hoặc là giống nhau hoặc là khác nhau Việc lựa chọn một phương pháp phù hợp cho từng trường hợp cụ thể phụ thuộc vào nhiều thành phần như: miền tri thức, cách thực hiện phương pháp, khả năng của phần cứng và phần mềm cũng như là kích cỡ của tập dữ liệu

Do PCDL đang là một vấn đề thời sự trong lĩnh vực CNTT thế giới nên

có rất nhiều nhà khoa học và tổ chức tập trung nghiên cứu các kỹ thuật phân cụm Dựa trên những phương pháp truyền thống đã được biết đến, nhiều phương pháp mới ra đời phù hợp với mục đích sử dụng và nâng cao hiệu quả phân cụm Do đó, người ta phân ra hai nhóm kỹ thuật tiếp cận phân cụm

chính là các phương pháp phân cụm cổ điển và các phương pháp phân cụm hiện đại [13][15]

Hình 3.1 Tổng quan về các phương pháp phân cụm

Cách phân chia các phương pháp tiếp cận PCDL như trên là phổ biến nhất Ngoài ra, còn một số cách phân chia khác cũng hay được đề cập tới

Trang 39

Một trong những cách phân chia đó là dựa trên sự ràng buộc và không ràng buộc dữ liệu của nhóm tác giả (Dr Osmar R Zaiane and Chi-hoon Lee)

thuộc (Database Laboratory, Department of Computing Science, University of Alberta) cũng được sử dụng rất phổ biến hiện nay, cụ thể như sau [7][15]:

Hình 3.2 Các thuật toán phân cụm dữ liệu không ràng buộc

Hình 3.3 Các thuật toán phân cụm dữ liệu có ràng buộc

Nhìn chung, các thuật toán phân cụm dữ liệu được chia theo các kỹ thuật tiếp cận tương ứng Hiện nay, các thuật toán phân cụm được phân chia thành một số nhóm chính như sau:

Trang 40

o Các thuật toán phân cụm phân hoạch (Partitioning Methods):

K-means, Pam, Clara, Clarans,…

o Các thuật toán phân cụm phân cấp (Herarchical Methods): Birch,

Cure, Agnes, Diana, Rock, Chameleon,…

o Các thuật toán phân cụm dựa trên mật độ (Density-based Methods):

Dbscan, Optics, Denclue,…

o Các thuật toán phân cụm dựa trên lưới (Grid-based Methods): Sting,

Clique, WaveCluster,…

o Các thuật toán phân cụm dựa trên mô hình (Model-based Methods):

Em, Cobweb,…

3.2 CÁC THUẬT TOÁN PHÂN CỤM PHÂN HOẠCH

Là cách thức phân chia một tập CSDL D gồm n đối tượng vào trong một tập gồm có k cụm

Ø Những đặc điểm chính của phương pháp:

Đưa ra một tham số k, tìm cách phân chia tập dữ liệu thành k cụm dựa theo việc lựa chọn tiêu chuẩn phân chia

3.2.1 Thu ật toán K-MEANS

K-means là một trong những thuật toán học không giám sát đơn giản

nhất để giải quyết vấn đề phân cụm dữ liệu K-means được công bố lần đầu tiên bởi J.B MacQueen vào năm 1967, cho đến nay đã có nhiều dạng biến đổi khác nhau của thuật toán này Trong thuật toán K-means, các cụm được định

nghĩa dựa trên trung tâm của các phần tử Phương pháp này dựa trên độ đo

khoảng cách của các đối tượng dữ liệu trong cụm Trong thực tế, nó đo

khoảng cách của mỗi đối tượng dữ liệu tới trung tâm của cụm Trung tâm của cụm được xem là giá trị trung bình của các đối tượng Như vậy, nó cần khởi

tạo một tập trung tâm các cụm ban đầu, thông qua đó lặp lại các bước như gán

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Phan Đình Diệu (1999), Logic Trong Các Hệ Tri Thức, NXB ĐHQG Hà Nội, Hà Nội Sách, tạp chí
Tiêu đề: Logic Trong Các Hệ Tri Thức
Tác giả: Phan Đình Diệu
Nhà XB: NXB ĐHQG Hà Nội
Năm: 1999
2. Đinh Mạnh Tường (2003), Trí Tuệ Nhân Tạo, NXB ĐHQG Hà Nội, Hà Nội.Tiếng Anh Sách, tạp chí
Tiêu đề: Trí Tuệ Nhân Tạo
Tác giả: Đinh Mạnh Tường
Nhà XB: NXB ĐHQG Hà Nội
Năm: 2003
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. J. Srivastava et al (1999), Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data, SIGKDD Exploration Sách, tạp chí
Tiêu đề: Web Usage Mining: Discovery and Applications of Usage Patterns from Web Data
Tác giả: J. Srivastava et al
Năm: 1999
10. 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
11. M. Ankerst, M. Breunig, H.-P. Kriegel and J. Sander (1999), Optics: Ordering points to identify the clustering structure, SIGMOD’99 Sách, tạp chí
Tiêu đề: Optics: "Ordering points to identify the clustering structure
Tác giả: M. Ankerst, M. Breunig, H.-P. Kriegel and J. Sander
Năm: 1999
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. R. Kosala and H. Blockeel (2000), Web Mining Research: A Survey, SIGKDD Exploration Sách, tạp chí
Tiêu đề: Web Mining Research: A Survey
Tác giả: R. Kosala and H. Blockeel
Năm: 2000
17. R. Ng and J. Han (1994), Efficient and effective clustering method for spatial data mining, VLDB'94 Sách, tạp chí
Tiêu đề: Efficient and effective clustering method for spatial data mining
Tác giả: R. Ng and J. Han
Năm: 1994
18. 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
19. Y.S. Maarek, R. Fagin, I.Z. Ben-Shaul, D. Pelleg (2000), Ephemeral document clustering for web applications, Technical Report RJ 10186, IBM Research Sách, tạp chí
Tiêu đề: Ephemeral document clustering for web applications
Tác giả: Y.S. Maarek, R. Fagin, I.Z. Ben-Shaul, D. Pelleg
Năm: 2000
4. D. Fisher (1987), Knowledge acquisition via incremental conceptual clustering, Machine Learning Khác
20. Zhong Su, Qiang Yang, HongHiang Zhang, Xiaowei Xu and Yuhen Hu (2001), Correlation-based Document Clustering using Web Logs Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.3. Các kỹ thuật khai phá dữ liệu - Một số vấn đề về phân cụm dữ liệu
Hình 1.3. Các kỹ thuật khai phá dữ liệu (Trang 15)
Hình 1.7. Tích hợp Clusters trong  Oracle9i - Một số vấn đề về phân cụm dữ liệu
Hình 1.7. Tích hợp Clusters trong Oracle9i (Trang 21)
Hình 2.1. Mối quan hệ giữa tỷ lệ phép đo và sự phân cụm - Một số vấn đề về phân cụm dữ liệu
Hình 2.1. Mối quan hệ giữa tỷ lệ phép đo và sự phân cụm (Trang 25)
Hình 2.5. Cấu trúc dữ liệu lưới - Một số vấn đề về phân cụm dữ liệu
Hình 2.5. Cấu trúc dữ liệu lưới (Trang 34)
Hình 3.6. Ví dụ của thuật toán K-MEANS với k=2 - Một số vấn đề về phân cụm dữ liệu
Hình 3.6. Ví dụ của thuật toán K-MEANS với k=2 (Trang 43)
Hình 3.7. Một số dạng cụm được khám phá bởi k-means - Một số vấn đề về phân cụm dữ liệu
Hình 3.7. Một số dạng cụm được khám phá bởi k-means (Trang 45)
Hình 3.14. Cây CF được dùng trong thuật toán BIRCH - Một số vấn đề về phân cụm dữ liệu
Hình 3.14. Cây CF được dùng trong thuật toán BIRCH (Trang 53)
Hình 3.24. Tổng quan về thuật toán CHAMELEON - Một số vấn đề về phân cụm dữ liệu
Hình 3.24. Tổng quan về thuật toán CHAMELEON (Trang 62)
Hình 3.33. Cấu trúc lưới phân cụm   3.5.1.  Thu ật toán STING - Một số vấn đề về phân cụm dữ liệu
Hình 3.33. Cấu trúc lưới phân cụm 3.5.1. Thu ật toán STING (Trang 73)
Hình 3.35. Quá trình nhận dạng các ô của CLIQUE - Một số vấn đề về phân cụm dữ liệu
Hình 3.35. Quá trình nhận dạng các ô của CLIQUE (Trang 77)
Hình 3.39. Kết quả thực nghiệm WAVECLUSTER  3.6.  CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MÔ HÌNH - Một số vấn đề về phân cụm dữ liệu
Hình 3.39. Kết quả thực nghiệm WAVECLUSTER 3.6. CÁC THUẬT TOÁN PHÂN CỤM DỰA TRÊN MÔ HÌNH (Trang 81)
Hình 4.8. Các cộng đồng máy tính - Một số vấn đề về phân cụm dữ liệu
Hình 4.8. Các cộng đồng máy tính (Trang 92)
Đồ thị của 200 triệu trang web, nó làm việc rất tốt. - Một số vấn đề về phân cụm dữ liệu
th ị của 200 triệu trang web, nó làm việc rất tốt (Trang 96)
Bảng 4.4. Mối liên kết giữa chủ đề và đường dẫn URL - Một số vấn đề về phân cụm dữ liệu
Bảng 4.4. Mối liên kết giữa chủ đề và đường dẫn URL (Trang 107)
Hình 5.1. Chương trình mô phỏng thuật toán K-means - Một số vấn đề về phân cụm dữ liệu
Hình 5.1. Chương trình mô phỏng thuật toán K-means (Trang 112)

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

🧩 Sản phẩm bạn có thể quan tâm