1. Trang chủ
  2. » Công Nghệ Thông Tin

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

93 239 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 93
Dung lượng 1,47 MB

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

Nội dung

Phân cụm các đối tượng phức tạp trong một lớp đối tượng Hình 3.1: Các đặc điểm của hệ cơ sở dữ liệu hướng đối tượng Hình 3.2: Phân cấp khoảng cách đối với kiểu số Hình 3.3: Phân cấp khoả

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

PHẠM THỊ KIM NGOAN

ĐỀ TÀI: PHÂN CỤM CÁC ĐỐI TƯỢNG PHỨC TẠP TRONG MỘT

LỚP ĐỐI TƯỢNG

LUẬN VĂN THẠC SĨ KHOA HỌC

NGÀNH:CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TS NGUYỄN KIM ANH

HÀ NỘI - 2010

Trang 2

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

MỤC LỤC:

LỜI CAM ĐOAN 4

DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT 5

DANH MỤC CÁC BẢNG 6

DANH MỤC CÁC HÌNH VẼ 6

MỞ ĐẦU 8

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC TỪ CƠ SỞ DỮ LIỆU 11

1.1 Giới thiệu chung về phát hiện tri thức và khai phá dữ liệu 11

1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu 12

1.3 Quá trình khai phá dữ liệu 14

1.4 Các kỹ thuật tiếp cận trong khai phá dữ liệu 15

1.5 Ứng dụng của khai phá dữ liệu 17

1.6 Vai trò của phân cụm dữ liệu trong khai phá dữ liệu 18

Kết chương 19

CHƯƠNG 2: KỸ THUẬT PHÂN CỤM DỮ LIỆU 20

2.1 Khái quát về phân cụm dữ liệu 20

2.1.1 Định nghĩa phân cụm dữ liệu 20

2.1.2 Ứng dụng của phân cụm dữ liệu 21

2.1.3 Các yêu cầu của phân cụm dữ liệu 22

2.1.4 Các vấn đề cơ bản của phân cụm 23

2.1.5 Các giai đoạn phân cụm 23

2.1.6 Cấu trúc dữ liệu trong phân cụm dữ liệu 24

2.2 Các phương pháp trong phân cụm dữ liệu 26

2.2.1 Phương pháp phân hoạch 26

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

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

Trang 3

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

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

2.2.5 So sánh các phương pháp phân cụm 34

2.3 Một số thuật toán phân cụm dữ liệu hỗn hợp điển hình 36

2.4 Đánh giá chất lượng cụm 38

Kết chương 42

CHƯƠNG 3: PHÂN CỤM CÁC ĐỐI TƯỢNG TRONG MỘT LỚP ĐỐI TƯỢNG TRÊN MÔ HÌNH HƯỚNG ĐỐI TƯỢNG 43

3.1 Đặt vấn đề 43

3.2 Mô hình cơ sở dữ liệu hướng đối tượng 44

3.2.1 Định danh đối tượng, cấu trúc đối tượng 44

3.2.2 Đóng gói các phương thức và đối tượng 46

3.2.3 Tính chất kế thừa và đa hình 48

3.3 Độ đo tương tự giữa các đối tượng 48

3.3.1 Một số định nghĩa 48

3.3.2 Một số cách tính độ đo tương tự/ khoảng cách 49

3.3.3 Độ đo tương tự cho thuộc tính kiểu nguyên tố 51

3.3.4 Độ đo tương tự cho thuộc tính kiểu tập 55

3.3.5 Độ đo tương tự cho thuộc tính kiểu bộ 60

3.3.6 Độ đo tương tự giữa hai đối tượng 63

3.3.7 Ví dụ minh họa tính độ tương tự giữa hai đối tượng 65

3.4 Phân cụm các đối tượng trong một lớp đối tượng trên mô hình CSDL hướng đối tượng 69

Kết chương 73

CHƯƠNG 4: CÀI ĐẶT THỬ NGHIỆM 74

4.1 Xây dựng chương trình thử nghiệm 74

4.1.1 Giới thiệu chung 74

4.1.2 Mô hình dữ liệu thử nghiệm 74

Trang 4

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

4.1.3 Các chức năng chính của chương trình 75

4.2 Kết quả thử nghiệm 79

4.2.1 Tiêu chí đánh giá 79

4.2.2 Kết quả thử nghiệm và đánh giá với tập dữ liệu Zoo 80

4.2.3 Kết quả thử nghiệm với tập dữ liệu STUDENT 81

4.2.4 Kết quả thử nghiệm với tập dữ liệu TEACHER 82

Kết chương 83

Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 84

5.1 Các kết quả đạt được trong luận văn 84

5.1.1 Về lý thuyết 84

5.1.2 Về thực nghiệm 85

5.2 Hướng nghiên cứu tiếp theo 85

TÀI LIỆU THAM KHẢO 86

Tài liệu tiếng Việt 86

Tài liệu tiếng Anh 86

Các trang Web 88

PHỤ LỤC 89

Bảng dữ liệu của lớp đối tượng STUDENT 89

Bảng điểm của STUDENT 90

Bảng dữ liệu của lớp đối tượng TEACHER 91

Bảng phân công giảng dạy 92

Trang 5

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn là kết quả nghiên cứu của bản thân tôi dưới sự hướng dẫn của PGS.TS Nguyễn Kim Anh, không sao chép toàn văn của bất kỳ công trình nào khác Nội dung luận văn có tham khảo và sử dụng các tài liệu, thông tin được đăng tải trên các tác phẩm, tạp chí và các website theo danh mục tài liệu của luận văn

Tác giả luận văn

Phạm Thị Kim Ngoan

Trang 6

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT

Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh

Phát hiện tri thức từ cơ sở

dữ liệu

Database

Hướng đối tượng HĐT Object-Oriented

Trang 7

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

DANH MỤC CÁC BẢNG

Bảng 2.1: So sánh các thuật toán phân cụm

Bảng 5.1: Đánh giá kết quả phân cụm tập dữ liệu Zoo

Bảng 5.2: Kết quả phân cụm với tập dữ liệu STUDENT

Bảng 5.3: Kết quả phân cụm với tập dữ liệu TEACHER

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Các lĩnh vực của Data mining

Hình 1.2: Quá trình phát hiện tri thức từ CSDL

Hình 2.1: Minh họa phân cụm dữ liệu

Hình 2.2: Minh họa mục tiêu phân cụm

Hình 2.3: Các giai đoạn phân cụm

Hình 2.4: Thuật toán k-means

Hình 2.5: Phân cụm một tập các điểm dựa trên k-means

Hình 2.6: Thuật toán k-modes

Hình 2.7: Minh họa cây kết quả phân cụm phân cấp

Hình 2.8: Thuật toán AGNES

Hình 2.9: Minh họa thuật toán phân cụm dựa trên mật độ

Hình 2.10: Thuật toán CEBMDC

Hình 2.11: Hình minh họa độ đo SSE

Hình 2.12: Hình minh họa độ đo BSE

Trang 8

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Hình 3.1: Các đặc điểm của hệ cơ sở dữ liệu hướng đối tượng

Hình 3.2: Phân cấp khoảng cách đối với kiểu số

Hình 3.3: Phân cấp khoảng cách của thuộc tính Mark

Hình 3.4: Phân cấp khoảng cách của thuộc tính SubjectName

Hình 3.5: Thuật toán tính độ tương tự cho thuộc tính kiểu nguyên tố Hình 3.6: Minh họa đồ thị tương tự của hai tập

Hình 3.7: Thuật giải tính độ tương tự giữa 2 tập hợp

Hình 3.8: Thuật giải tính độ tương tự giữa hai bộ

Hình 3.9: Phân cấp khoảng cách của thuộc tính Address

Hình 3.10: Phân cấp khoảng cách của thuộc tính Degree

Hình 3.11: Phân cấp khoảng cách của thuộc tính Work_year

Hình 3.12: Phân cấp khoảng cách của thuộc tính Name của DEPT

Hình 3.13: Phân cấp khoảng cách của thuộc tính No_unit của Subject Hình 3.14: Phân cấp khoảng cách của thuộc tính Name của Class

Hình 3.15: Phân cấp khoảng cách của thuộc tính Number của Class

Hình 3.16: Thuật toán AGNES phân cụm đối tượng trên mô hình HĐT Hình 4.1: Giao diện chính của chương trình

Hình 4.2: Màn hình hiển thị dữ liệu của lớp đối tượng STUDENT

Hình 4.3: Màn hình hiển thị dữ liệu của lớp đối tượng TEACHER

Hình 4.4: Màn hình hiển thị kết quả phân cụm với tập dữ liệu Zoo

Trang 9

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

MỞ ĐẦU

Trong những thập niên gần đây, với tác động mạnh mẽ của công nghệ thông tin

và truyền thông, việc tin học hoá một cách nhanh chóng và mạnh mẽ các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực khác đã tạo ra cho chúng ta một lượng dữ liệu lưu trữ khổng lồ Sự bùng nổ này, đã nảy sinh những ý tưởng nhằm biến những CSDL sẵn có tưởng chừng như là gánh nặng cho việc lưu trữ thành dữ liệu có ý nghĩa Đây là một yêu cầu hữu ích và cấp thiết Từ đây, đã xuất hiện những kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích để hỗ trợ cho việc ra quyết định Những kỹ thuật và công

cụ đó thuộc lĩnh vực phát hiện tri thức (KDD) và khai phá dữ liệu (DM) - lĩnh vực thời sự của ngành công nghệ thông tin (CNTT) hiện nay

Có nhiều phương pháp khai phá dữ liệu được nghiên cứu, song một trong các phương pháp được nhiều người quan tâm và phát triển nhất là phân cụm dữ liệu (PCDL) Phân cụm dữ liệu là công cụ để khám phá ra các nhóm đối tượng tự nhiên

Từ đó người ta có thể đi sâu vào phân tích và nghiên cứu từng cụm đối tượng để khám phá, tìm kiếm các tri thức tiềm ẩn, hữu ích hỗ trợ cho việc ra quyết định Mặt khác, những năm gần đây, các cơ sở dữ liệu (CSDL) được mở rộng theo hướng tích hợp với ngôn ngữ lập trình hướng đối tượng Cơ sở dữ liệu hướng đối tượng (CSDL HĐT) được xây dựng bằng cách kết hợp các yếu tố của cơ sở dữ liệu

và các kĩ thuật của lập trình hướng đối tượng nhằm mục đích lưu trữ các đối tượng

dữ liệu Từ đó có thể tận dụng và phát huy được những ưu điểm, lợi ích, và thế mạnh của các kĩ thuật, công nghệ được sử dụng, đồng thời khắc phục những yếu điểm của các mô hình CSDL khác Hiện nay, kỹ thuật hướng đối tượng đã được sử dụng rộng rãi trong việc phát triển phần mềm Chính những yếu tố trên nên việc nghiên cứu các kỹ thuật DM trên các hệ thống CSDL hướng đối tượng được xem là một nghiên cứu quan trọng

Trang 10

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Hiện nay, đã có một số nghiên cứu về khai phá dữ liệu từ các CSDL hướng đối tượng, cụ thể là phân nhóm dữ liệu trong các CSDL hướng đối tượng, song những kết quả nghiên cứu mới chỉ dừng lại ở việc đưa ra cách tính độ đo tương tự giữa các đối tượng theo các thuộc tính kiểu số, hoặc là so sánh độ tương tự giữa các đối tượng dựa trên phân cấp lớp Những thuộc tính kiểu tập và kiểu bộ chưa được xét đến

Chính từ những mục đích và yêu cầu trên và được sự hướng dẫn tận tình của các thầy cô giáo, đặc biệt là PGS.TS Nguyễn Kim Anh đã thúc đẩy tôi chọn đề tài

“Phân cụm các đối tượng phức tạp trong một lớp đối tượng” để nghiên cứu và làm luận văn tốt nghiệp

Ý thức được rằng đây là một vấn đề khá mới mẻ và khó khăn, nên mục tiêu đặt

ra của luận văn là: Xây dựng được cách tính độ đo tương tự giữa các đối tượng qua việc tính toán độ đo tương tự của các thuộc tính tuỳ theo kiểu của chúng, chọn một thuật toán phân cụm phù hợp thông qua việc đánh giá trên tập dữ liệu kiểu hỗn hợp chuẩn của “UCI Machine Learning” Trên cơ sở đó, thử nghiệm phân cụm dữ liệu các đối tượng trong một lớp đối tượng trên mô hình CSDL hướng đối tượng Sau thời gian tìm hiểu, nghiên cứu và thực hiện luận văn, về cơ bản luận văn đã được hoàn thành

Luận văn gồm các chương như sau:

Chương 1: Tổng quan về phát hiện tri thức từ cơ sở dữ liệu (KDD) và khai phá

dữ liệu (DM) - Chương này giới thiệu các kiến thức cơ sở về KDD và DM, quá trình KDD, quá trình DM, các kỹ thuật tiếp cận trong DM và ứng dụng của DM

Chương 2: Các kỹ thuật phân cụm dữ liệu: Trình bày khái quát về phân cụm

dữ liệu, các phương pháp phân cụm, ưu nhược điểm của các phương pháp này, cũng như các độ đo để đánh giá chất lượng cụm Qua đó ta có thể thấy được khả năng phân cụm của từng phương pháp, khả năng áp dụng vào các bài toán thực tiễn

Chương 3: Phân cụm các đối tượng dữ liệu trong một lớp đối tượng trên mô

hình cơ sở dữ liệu hướng đối tượng: Phần đầu chúng tôi trình bày tổng quan về mô

Trang 11

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

hình CSDL hướng đối tượng Phần tiếp theo, chúng tôi tập trung vào việc xây dựng

độ đo tương tự/ khoảng cách giữa các kiểu đối tượng, nghiên cứu các cách tiếp cận trong phân cụm đối tượng trên mô hình CSDL hướng đối tượng

Chương 4: Cài đặt thử nghiệm: Các độ đo tương tự, thuật toán phân cụm đối

với CSDL được trình bày trong chương 3 sẽ được kiểm định bằng chương trình với các tập dữ liệu cụ thể Sau đó kết quả thử nghiệm sẽ được đánh giá bằng độ đo chất

lượng cụm External index (Purity)

Chương 5: Tóm lược những kết quả đạt được của luận văn và hướng nghiên

cứu tiếp theo

Mặc dù đã rất cố gắng song bản luận văn chắc không thể tránh khỏi có những thiếu sót Vì vậy, rất mong được hội đồng và quý Thầy, Cô góp ý

Cuối cùng tôi xin gửi lời cảm ơn chân thành tới toàn thể hội đồng bảo vệ, các Thầy, Cô giáo trong Viện Công nghệ thông tin & Truyền thông, đặc biệt là PGS.TS Nguyễn Kim Anh đã tận tình giúp đỡ, hướng dẫn tôi hoàn thành luận văn này Nhân đây tôi cũng xin gửi lời cảm ơn tới ban lãnh đạo trường Đại học Nha Trang, các đồng nghiệp trong Khoa CNTT- Trường ĐHNT và gia đình đã tạo mọi điều kiện thuận lợi cho tôi trong suốt khóa học này

Hà Nội, ngày 25 tháng 10 năm 2010

Thực hiện đề tài Phạm Thị Kim Ngoan

Trang 12

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT

HIỆN TRI THỨC TỪ CƠ SỞ DỮ LIỆU 1.1 Giới thiệu chung về phát hiện tri thức và khai phá dữ liệu

Trong những năm qua, với sự phát triển mạnh mẽ của công nghệ thông tin và truyền thông, các ứng dụng của công nghệ thông tin ngày càng thâm nhập sâu và rộng vào mọi lĩnh vực của đời sống, kinh tế - xã hội Sau thời gian ứng dụng công nghệ thông tin, các cơ quan, công ty đang sở hữu một khối dữ liệu rất lớn Với mong muốn dự đoán các xu thế và hành vi sẽ diễn ra trong tương lai dựa trên cơ sở

dữ liệu (CSDL) khổng lồ sẵn có trong quá khứ, và yêu cầu dữ liệu phải được xử lý với tốc độ nhanh để trợ giúp việc ra quyết định Các phương pháp thống kê truyền thống tỏ ra kém hiệu quả khi lượng dữ liệu cần xử lý là quá lớn Chính các điều này

đã thúc đẩy lĩnh vực phát hiện tri thức (KDD) và khai phá dữ liệu (DM) phát triển mạnh mẽ, thu hút sự nghiên cứu của nhiều chuyên gia

DM là một hướng nghiên cứu ra đời đầu những năm 1990, các kỹ thuật chính được áp dụng trong lĩnh vực này phần lớn được thừa kế từ lĩnh vực CSDL, trí tuệ nhân tạo, học máy, xác suất thống kê Sự phát triển nhanh của DM về phạm vi ứng dụng và các phương pháp tìm kiếm tri thức dẫn đến nhiều quan điểm khác nhau về

DM Tuy nhiên, ở một mức độ trừu tượng nhất định, chúng ta có thể định nghĩa DM như sau :

Định nghĩa : DM là một 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 CSDL lớn

Ở đây, tri thức có thể được xem như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được hiểu ra, có thể được phát hiện, hoặc có thể được học Nói cách khác, tri thức có thể được coi là

dữ liệu có độ trừu tượng và tổ chức cao

Trang 13

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Khái niệm phát hiện tri thức từ CSDL: KDD là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với các tính năng: mới, hữu ích, và có thể hiểu được

Nói một cách khác, mục đích của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu và/hoặc các mô hình đang tồn tại trong các cơ sở dữ liệu nhưng vẫn còn bị che khuất bởi hàng “núi” dữ liệu Chính vì vậy mà nhiều người coi DM và KDD là như nhau Tuy nhiên trên thực tế, khai phá dữ liệu chỉ là một bước thiết yếu

trong quá trình phát hiện tri thức trong cơ sở dữ liệu

1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu

Quá trình phát hiện tri thức có thể chia thành các bước như sau:

- Làm sạch dữ liệu (Data cleaning): Dữ liệu trong thực tế thường không đầy đủ, nhiễu, và không nhất quán Bước làm sạch dữ liệu sẽ cố gắng điền các giá trị thiếu, loại bỏ nhiễu, và hiệu chỉnh sự không nhất quán của dữ liệu Sau bước này dữ liệu

Khai phá dữ liệu (Data Mining)

Trang 14

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

thực thể trong thế giới thực từ nhiều nguồn khác nhau có thể phù hợp với nhau và tránh sự dư thừa dữ liệu

- Chọn dữ liệu (Data Selection): Chọn những dữ liệu liên quan trực tiếp đến nhiệm vụ

- Chuyển đổi dữ liệu (Data Transformation): Chuyển dữ liệu về những dạng phù hợp cho việc khai phá Bước này có thể thực hiện các phép biến đổi dữ liệu: Làm trơn, kết hợp, khái quát hóa và chuẩn hóa

- Khai phá dữ liệu (Data mining): Các kỹ thuật phân tích (phần lớn là các kỹ thuật của học máy) được áp dụng để khai thác dữ liệu, trích chọn những mẫu thông tin, những mối liên hệ đặc biệt trong dữ liệu Đây là bước quan trọng và tốn nhiều thời gian nhất của toàn quá trình KDD

- Đánh giá mẫu (Pattern evaluation): Đánh giá mẫu hoặc tri thức đã thu được theo những tiêu chí nhất định

- Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức khai phá được cho người sử dụng 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 biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật, …

Tóm lại: KDD là một quá trình kết xuất ra tri thức từ kho dữ liệu mà trong đó khai phá dữ liệu là công đoạn quan trọng nhất

Trang 15

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

1.3 Quá trình khai phá dữ liệu

Về bản chất DM là giai đoạn duy nhất rút trích và tìm ra được các mẫu, các mô hình hay tri thức tiềm ẩn có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán Đây là giai đoạn quan trọng nhất trong quá trình phát hiện tri thức từ CSDL, các tri thức này hỗ trợ trong việc ra quyết định, điều hành trong khoa học và kinh doanh

Mô tả dữ liệu: Là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc

tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được

Dự đoán: Là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được

phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu, trên cơ sở đó chiết xuất

ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến quan tâm

Hình 1.2: Quá trình phát hiện tri thức từ CSDL

Trang 16

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Quá trình DM bao gồm ba bước như sau:

- Bước một: Thu thập và tiền xử lý dữ liệu, công việc đầu tiên là tích hợp và

chỉnh sửa dữ liệu Dữ liệu được thu thập từ nhiều nguồn khác nhau nên có thể có những sai sót, dư thừa và trùng lặp Dữ liệu sau khi thu thập phải được xử lý sao cho thuật toán DM có thể hiểu được

- Bước hai: Khai phá dữ liệu, là công việc chính, sử dụng các thuật toán khác

nhau để khai phá các kiến thức tiềm ẩn trong dữ liệu

- Bước ba: Sau xử lý, là quá trình ước lượng kết quả khai phá theo yêu cầu của

người dùng Các kết quả được ước lượng bởi những quy tắc nào đó, nếu cuối cùng kết quả không thỏa mãn yêu cầu, chúng ta phải làm lại với kỹ thuật khác cho đến khi có kết quả mong muốn

1.4 Các kỹ thuật tiếp cận trong khai phá dữ liệu

Theo quan điểm của học máy (Machine Learning), thì các kỹ thuật khai phá dữ liệu bao gồm:

- Học có giám sát (Supervised Learning): Là quá trình phân lớp các đối tượng 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

- Học không có giám sát (Unsupervised Learning): Là quá trình phân chia một tập các đối tượng thành các lớp hay cụm (clusters) tương tự nhau mà không biết trước các thông tin về lớp và không có các ví dụ huấn luyện

- Học nửa giám sát (Semi-Supervised Learning): Là quá trình phân chia một tập các đối tượng thành các lớp dựa trên một tập nhỏ các ví dụ huấn luyện và một số thông tin về một số nhãn lớp đã biết

Nếu căn cứ vào các lớp bài toán cần giải quyết thì DM gồm các kỹ thuật sau:

Trang 17

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

- Luật kết hợp (association rules): Phương pháp này nhằm phát hiện ra các luật

kết hợp giữa các thành phần dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được

- Phân tích chuỗi theo thời gian: Tương tự như khai phá luật kết hợp nhưng có

thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong

lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao

- Phân lớp và dự đoán (Classification and prediction): Xếp một đối tượng vào một trong những lớp đã biết trước

- Hồi qui (Regression): Là việc học một hàm ánh xạ từ một tập dữ liệu thành

một biến dự đoán có giá trị thực Nhiệm vụ hồi qui tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính để dự báo là liên tục chứ không rời rạc Việc dự báo các giá trị số thường được làm bởi các phương pháp thống kê cổ điển, chẳng hạn như hồi qui tuyến tính

- Phân cụm (Clustering):

Phân cụm là kỹ thuật DM tương tự như phân lớp dữ liệu Tuy nhiên, phân cụm dữ liệu là quá trình học không được giám sát, là quá trình nhóm những đối tượng vào các cụm tương ứng, để những đối tượng trong cùng một cụm có độ tương

tự cao, và những đối tượng trong các cụm khác nhau có độ tương tự thấp Trong phân lớp dữ liệu, một đối tượng thuộc về lớp đã được xác định trước, trong khi phân cụm là không xác định trước các cụm

Trong phân cụm, những đối tượng được nhóm lại cùng nhau dựa theo một hàm mục tiêu nào đó, hàm này xác định độ tương tự hoặc phi tương tự (khoảng cách)

giữa các đối tượng

- Tổng hợp (Summarization): Là công việc liên quan đến các phương pháp tìm

kiếm một mô tả cô đọng cho tập con dữ liệu Các kỹ thuật tổng hợp thường được áp

dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự động

Trang 18

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có ba phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp và Phân cụm dữ liệu

1.5 Ứng dụng của khai phá dữ liệu

DM là một lĩnh vực mới phát triển nhưng thu hút được khá nhiều nhà nghiên cứu nhờ vào những ứng dụng thực tiễn của nó Sau đây là một số lĩnh vực ứng dụng thực tế điển hình của DM:

- Trong tài chính, ngân hàng, kinh doanh:

o Xây dựng mô hình dự báo rủi ro tín dụng

o Tìm kiếm tri thức, qui luật của thị trường chứng khoán và đầu tư bất động sản

o Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài chính, thị trường và chứng khoán

o Dự đoán bán hàng

o Phân tích dữ liệu marketing

- Thương mại điện tử:

o Công cụ tìm hiểu, định hướng thúc đẩy, giao tiếp với khách hàng

o Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp với từng loại khách hàng trong một phân khu thị trường nhất định

o Phát hiện việc dùng thẻ tín dụng giả trên mạng và là công cụ hữu ích cho dịch

vụ quản lý rủi ro cho thương mại điện tử

- Trong lĩnh vực sinh học:

o Chuẩn đoán triệu chứng, phương pháp trong điều trị y học

o Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền

o Phân tích chuỗi

o Dự đoán cấu trúc Protein và dự đoán hàm

Trang 19

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

o Tìm ra các lớp Protein cùng họ

- Trong lĩnh vực khoa học:

o Phân tích hóa sinh

o Nghiên cứu các bộ cảm ứng xa vệ tinh

o Phân tích các ảnh trong y học

- Phân tích CSDL và hỗ trợ quyết định::

o Quản lý và phân tích thị trường

o Quản lý và phân tích sự rủi ro, quản lý và dò tìm lỗi

- Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web

- Điều khiển và lập lịch trình

1.6 Vai trò của phân cụm dữ liệu trong khai phá dữ liệu

Có nhiều phương pháp khai phá dữ liệu được nghiên cứu, song một trong các phương pháp được nhiều người quan tâm và phát triển nhất là phân cụm dữ liệu Phân cụm dữ liệu là một kỹ thuật quan trọng trong DM dùng để nhóm các đối tượng

có những đặc điểm tương tự lại với nhau Nó là công cụ để khám phá ra các nhóm đối tượng tự nhiên Từ đó người ta có thể đi sâu vào phân tích và nghiên cứu từng cụm đối tượng để khám phá, tìm kiếm các tri thức tiềm ẩn, hữu ích hỗ trợ cho việc

ra quyết định

Ngày nay, các kỹ thuật phân cụm được ứng dụng rộng rãi trong nhiều lĩnh vực

và đã đem lại nhiều thành công trong quá trình phát hiện tri thức

Tuy nhiên, các nghiên cứu về phân cụm thường tập trung trên các dữ liệu có kiểu định lượng và định tính Gần đây, dữ liệu có kiểu hỗn hợp (vừa có thuộc tính định lượng và vừa có thuộc tính định tính) xuất hiện ngày càng nhiều trong các CSDL nên vấn đề phân cụm trên kiểu dữ liệu hỗn hợp đang được nhiều người quan tâm

Trang 20

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Kết chương

Khai phá dữ liệu là một môn khoa học liên ngành: Cơ sở dữ liệu, trí tuệ nhân tạo, học máy, trực quan hóa và thống kê toán học, nghiên cứu các kỹ thuật “đào núi tìm vàng” nhằm phát hiện những thông tin có giá trị, tiềm ẩn trong các CSDL lớn Chương này đã trình bày tóm tắt về phát hiện tri thức từ các CSDL và khai phá dữ liệu, bao gồm: Các khái niệm và định nghĩa về phát hiện tri thức và khai phá dữ liệu, quy trình phát hiện tri thức và khai phá dữ liệu, các kỹ thuật và một số ứng dụng quan trọng của khai phá dữ liệu Cuối cùng là vai trò của phân cụm trong khai phá dữ liệu

Trang 21

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

CHƯƠNG 2: KỸ THUẬT PHÂN CỤM DỮ LIỆU

2.1 Khái quát về phân cụm dữ liệu

Phân cụm dữ liệu (PCDL) là một kỹ thuật được phát triển mạnh mẽ trong những năm gần đây do có nhiều ứng dụng trong thực tế Nhìn từ góc độ tự nhiên là một việc hết sức bình thường mà chúng ta vẫn thực hiện hàng ngày, ví dụ như phân nhóm học sinh khá, giỏi trong lớp, nhóm nhà cửa theo loại nhà, giá trị và vị trí địa lý,.… Ở một mức cơ bản nhất người ta đưa ra định nghĩa PCDL như sau:

2.1.1 Định nghĩa phân cụm dữ liệu

Theo [19],[20] định nghĩa: "Phân cụm dữ liệu 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, tri thức hữu ích cho việc ra quyết định"

Như vậy , PCDL là quá trình phân chia một tập dữ liệu ban đầu thành các cụm

dữ liệu sao cho các phần tử trong cùng một cụm "tương tự" (Similar) với nhau và các phần tử trong các cụm khác nhau sẽ "phi tương tự" (Dissimilar) với nhau

Hình 2.1: Minh họa phân cụm dữ liệu

Trang 22

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

2.1.2 Ứng dụng của phân cụm dữ liệu

Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người PCDL có nhiều ứng dụng như: nghiên cứu thị trường, nhận dạng mẫu, phân tích dữ liệu và xử

lý ảnh

- Trong sinh học: PCDL có thể được dùng để nhóm các mẫu gene với các chức

năng tương tự nhau

- Trong kinh doanh: PCDL giúp các nhà marketing khám phá sự khác nhau

giữa các nhóm khách hàng dựa trên thông tin khách hàng và các đặc trưng của các nhóm khách hàng dựa trên các mẫu mua hàng

- Thư viện: Phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau để

cung cấp cho độc giả

- Trong bảo hiểm: PCDL dùng để nhận dạng các nhóm công ty có chính sách

bảo hiểm với chi phí đền bù trung bình cao

- Hoạch định thành phố: PCDL giúp nhận dạng các nhóm nhà cửa theo loại

nhà, giá trị và vị trí địa lý

Hình 2.2: Minh họa mục tiêu của phân cụm

Khoảng cách giữa các cụm

là maxKhoảng cách bên

trong cụm là min

Trang 23

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

- Trong phân tích dữ liệu không gian: Phần lớn dữ liệu không gian có được từ

các ảnh vệ tinh, các thiết bị y tế, các hệ thống thông tin địa lý GIS, khám phá CSDL ảnh, … nó rất khó để người sử dụng kiểm tra một cách chi tiết PCDL có thể giúp tự động xử lý quá trình phân tích và hiểu dữ liệu vệ tinh Nó rất hữu ích cho việc nhận diện và rút trích các đặc điểm, các mẫu tồn tại trong các CSDL vệ tinh lớn Chẳng hạn như trong sử dụng đất, PCDL giúp nhận dạng các vùng đất sử dụng giống nhau khi khảo sát CSDL đất

- WWW: Có thể khám phá các nhóm tài liệu quan trọng, có nhiều ý nghĩa trong

môi trường Web Các lớp tài liệu này trợ giúp cho việc phát hiện tri thức từ dữ liệu

2.1.3 Các yêu cầu của phân cụm dữ liệu

Phân cụm là một lĩnh vực nghiên cứu với nhiều thách thức, các ứng dụng tiềm năng của nó đưa ra các yêu cầu đặc biệt Sau đây là các yêu cầu điển hình của phân cụm trong khai phá dữ liệu:

- Có khả năng làm việc với lượng dữ liệu lớn

- Có khả năng xử lý các dạng dữ liệu khác nhau: Thuật toán có khả năng ứng dụng hiệu quả trên tập dữ liệu có một kiểu như kiểu định lượng, kiểu định tính, cũng như trên tập dữ liệu hỗn hợp

- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Vì 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ị vào thích hợp đối với các CSDL lớn

- Khả năng giải quyết dữ liệu nhiễu: Do phần lớn các dữ liệu trong phân cụm đều chứa đựng các dữ liệu lỗi, dữ liệu không đầy đủ Thuật toán phân cụm không những hiệu quả với các dữ liệu nhiễu mà còn tránh dẫn đến chất lượng phân cụm thấp do nhạy cảm với nhiễu

- Khám phá các cụm có hình dáng bất kỳ

- Dễ hiểu, dễ cài đặt: Thuật toán phải dễ hiểu, dễ cài đặt và tiện lợi

Trang 24

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Như vậy, việc lựa chọn một thuật toán cho bài toán là bước then chốt cho việc giải quyết vấn đề phân cụm, sự lựa chọn phụ thuộc vào đặc tính dữ liệu cần phân cụm, mục đích của ứng dụng hoặc xác định độ ưu tiên giữa chất lượng của các cụm hay tốc độ thực hiện thuật toán

2.1.4 Các vấn đề cơ bản của phân cụm

Phân cụm phải đi giải quyết các vấn đề cơ bản sau:

- 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 cụm dữ liệu

- Xây dựng thuật toán phân cụm và các 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

Theo các nghiên cứu, đế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 Hơn nữa các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của các cụm dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán phân cụm dữ liệu phù hợp

2.1.5 Các giai đoạn phân cụm

Phân cụm dữ liệu được chia thành các giai đoạn sau [19],[20]:

- Trích chọn đặc trưng (Feature Selection): Trích chọn các đặc trưng thích hợp đối với tập dữ liệu của bài toán, tránh tồn tại những đặc trưng dư thừa, để áp dụng một cách hiệu quả các kỹ thuật DM

- Lựa chọn thuật toán phân cụm (Algorithm Selection): Chọn thuật toán phân cụm sao cho phù hợp nhất với tập dữ liệu và yêu cầu đã cho Độ đo tương tự (similarity measure) hoặc phi tương tự (dissimilarity measure) và điều kiện phân cụm trong mỗi thuật toán là những đặc điểm chính cần xem xét để quyết định lựa chọn một thuật toán phân cụm hiệu quả đối với bài toán

Trang 25

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

- Xác định tính hợp lệ (Validation): Giai đọan này thường dựa vào việc kiểm tra một cách thủ công và các kỹ thuật trực quan để xác nhận kết quả phân cụm Đối với tập dữ liệu lớn có thể so sánh kết quả với các thuật toán đã có để xác nhận kết quả

- Phân tích – giải thích (Interpretation): Các chuyên gia trong lĩnh vực phải kết hợp kết quả phân cụm với các minh chứng thử nghiệm khác phân tích, giải thích đưa ra kết luận đúng đắn cho người sử dụng

2.1.6 Cấu trúc dữ liệu trong phân cụm dữ liệu

Các thuật toán PCDL hầu hết sử dụng hai cấu trúc dữ liệu điển hình sau:

Algorithm result

Final cluster

Interpretation

Trang 26

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

n

ip if

i

p f

x x

x

x x

x

x x

1 1

11

- Ma trận phi tương tự: Lưu trữ một tập các trạng thái ở gần nhau mà chúng sẵn

có ở tất cả các cặp đối tượng Được biểu thị bởi một ma trận n x n

) 2 , ( ) 1 , (

0 ) 2 , 3 ( ) 1 , 3 (

0 ) 1 , 2 ( 0

n d n d

d d

d

M M M M M

Với d(i,j) là sự khác nhau hoặc sự phi tương tự giữa các đối tượng i và j Nói chung, d(i,j) là số không âm và gần bằng 0 khi đối tượng i và j là tương tự nhau mức cao hoặc “gần” với đối tượng khác

Nhiều thuật toán PCDL thực hiện trên ma trận phi tương tự Nếu dữ liệu được trình bày dưới dạng một ma trận dữ liệu, đầu tiên nó có thể được chuyển vào ma trận phi tương tự trước khi áp dụng các thuật toán PCDL

Không có định nghĩa duy nhất về sự tương tự và phi tương tự giữa các đối

tượng dữ liệu mà định nghĩa này tuỳ thuộc vào loại dữ liệu khảo sát.“Sự tương tự / phi tương tự được đánh giá như thế nào?” Thông thường được biểu diễn qua độ đo

khoảng cách d(i,j) Lý tưởng, mọi độ đo khoảng cách phải thoả mãn các điều kiện sau:

- d(i,j) ≥ 0 cho biết khoảng cách là một số không âm

- d(i,i) = 0 cho biết khoảng cách của một đối tượng tới chính nó thì bằng 0

- d(i,j) = d(j,i) cho biết khoảng cách là một hàm đối xứng

Trang 27

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

- d(i,j) ≤ d(i,h) + d(h,j) bất đẳng thức tam giác này cho biết khoảng cách trực tiếp từ i tới j không lớn hơn khoảng cách đi theo đường vòng qua bất kỳ một điểm h nào

2.2 Các phương pháp trong phân cụm dữ liệu

Có nhiều cách tiếp cận PCDL, việc lựa chọn phương pháp nào tuỳ thuộc vào kiểu dữ liệu, mục tiêu và ứng dụng cụ thể Hiện nay, các phương pháp phân cụm có thể phân loại theo các cách tiếp cận chính sau:

2.2.1 Phương pháp phân hoạch

Cho trước một cơ sở dữ liệu với n đối tượng hay các bộ dữ liệu, theo phương pháp phân hoạch dữ liệu được chia thành k phân hoạch, mỗi phân hoạch tương ứng với một nhóm /cụm (k ≤ n) thoả các yêu cầu sau:

- Mỗi cụm chứa ít nhất một đối tượng

- Mỗi đối tượng thuộc về một cụm duy nhất

Trong phân cụm dựa trên phương pháp phân hoạch, các ứng dụng thường sử dụng một trong hai thuật toán phổ biến: (1) Thuật toán k-means với mỗi cụm được đại diện bởi giá trị trung bình của các đối tượng trong cụm; (2) Thuật toán k-medoids với mỗi cụm được đại diện bởi một trong số các đối tượng định vị gần tâm của cụm

™ Thuật toán k-means ( MacQueen’67)

Giải thuật k-means đối với việc phân chia dựa trên giá trị trung bình của các đối tượng trong cụm

Trang 28

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Input: Số cụm k và một cơ sở dữ liệu chứa n đối tượng

5) Kết thúc: Khi không có sự thay đổi nào

Ưu điểm của k- means:

- Thuật toán khá đơn giản

- Áp dụng hiệu quả trên tập dữ liệu lớn

- Độ phức tạp tính toán: O(nkt) với n là số đối tượng, k là số cụm, t là số lần

lặp Thông thường k, t << n

Nhược điểm của k- means:

- Có thể áp dụng chỉ khi xác định được giá trị trung bình

Hình 2.5: Phân cụm một tập các điểm dựa trên k-means Hình 2.4: Thuật toán k-means

Trang 29

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

- Cần chỉ định trước số cụm- k

- Không thể xử lý nhiễu và outliers

- Không thích hợp đối với các cụm có dạng lồi hay các cụm có kích thước

khác nhau

™ Thuật toán k- modes:

Cho X = {X1, X2, , Xn} là tập n đối tượng định tính được mô tả bởi m thuộc tính định tính A1, A2, , Am

Một mode của X là một vector Q = [q1, q2, , qm] nó cực tiểu hóa biểu thức:

X D

1

) , ( )

, (

Input: Số cụm k và một cơ sở dữ liệu chứa n đối tượng

Output: Một tập k cụm đã tối thiểu hoá tổng các độ đo không tương đồng của tất

cả các đối tượng tới mode gần nhất của chúng

K-modes algorithm:

1) Khởi tạo: Chọn tuỳ ý k đối tượng giữ vai trò là các mode ban đầu;

2) Lặp:

3) Ấn định mỗi đối tượng vào cụm có mode gần nó nhất;

4) Tính hàm mục tiêu - là tổng các độ đo không tương đồng của tất cả các đối tượng tới mode gần nhất của chúng;

5) Đổi mode x bằng một đối tượng y nếu như việc thay đổi này làm giảm hàm mục tiêu;

6) Kết thúc: Khi không có sự thay đổi nào

Hình 2.6: Thuật toán k-modes

Trang 30

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Vì thuật toán K-modes có quá trình phân cụm giống như K-means nên nó kế thừa được tính hiệu quả cũng như một số hạn chế của K-means

Ngoài hai thuật toán trên, để giải quyết với các tập dữ liệu lớn, một phương pháp dựa trên việc lấy mẫu gọi là CLARA (Clustering large applications) đã được phát triển bởi Kaufman và Rousseeuw Để cải thiện chất lượng và khả năng mở rộng của CLARA, một giải thuật phân cụm khác được giới thiệu gọi là CLARANS (Clustering Large Applications based upon RANdomized Search) Thay vì lấy giá trị trung bình của các đối tượng trong một cụm như một điểm tham khảo, các thuật toán này lấy một đối tượng đại diện trong cụm, gọi là medoid, nó là điểm đại diện được định vị trung tâm nhất trong cụm

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

Phương pháp phân cụm phân cấp thực hiện nhóm các đối tượng dữ liệu vào trong một cây các cụm Kết quả phân cụm theo phương pháp phân cấp được biểu diễn dưới dạng hình cây, lưu lại quá trình gom hoặc phân chia nhóm Trong cây các cụm: Các lá của cây biểu diễn từng đối tượng; các nút trong biểu diễn các cụm

Phương pháp này không cần xác định trước số cụm Số cụm được xác định bằng việc cắt ngang sơ đồ hình cây tại mức thích hợp Có hai loại phân cấp chính: tích tụ và phân chia

Hình 2.7: Minh họa cây kết quả phân cụm phân cấp

Trang 31

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

™ Phân cụm phân cấp tích tụ:

Tiếp cận tích tụ (gộp) còn được gọi là tiếp cận "bottom - up", ban đầu mỗi đối tượng lập thành một nhóm riêng biệt Sau đó hoà nhập lần lượt các đối tượng hay các cụm gần nhau lại với nhau Kết thúc khi tất cả các cụm được hoà nhập thành một (mức cao nhất của hệ thống phân cấp), hay gặp một điều kiện dừng (nếu có)

Thuật toán AGNES (Agglomerative Nesting): Kỹ thhuật này sử dụng phương pháp khoảng cách ngắn nhất, mỗi cụm được đại diện bởi tất cả các điểm dữ liệu trong cụm, và độ tương đồng giữa hai cụm được đo bởi độ tương đồng của cặp điểm

dữ liệu gần nhất thuộc về các cụm khác nhau AGNES hoà nhập các nút (tức là các đối tượng hay các cụm riêng lẻ) có khoảng cách nhỏ nhất, cứ thế cho tới khi hoà nhập thành một cụm duy nhất, hoặc thỏa một điều kiện dừng (nếu có)

Input: Một cơ sở dữ liệu chứa n đối tượng, ma trận khoảng cách n x n ( độ đo

khoảng cách giữa các đối tượng), điều kiện dừng (nếu có)

Output: Một cây các cụm

Aggolomerative algorithm:

1) Khởi tạo: Ban đầu coi mỗi đối tượng là một cụm;

2) Lặp:

3) Gom hai cụm có khoảng cách gần nhất thành một cụm;

4) Tính toán lại khoảng cách giữa cụm mới và các cụm cũ;

5) Kết thúc: Tất cả các đối tượng được nhóm vào một cụm kích thước n,

hoặc thỏa điều kiện dừng (nếu có);

Hình 2.8: Thuật toán AGNES

Trang 32

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

™ Phân cụm phân cấp phân chia:

Tiếp cận phân chia còn được gọi là tiếp cận "top - down", lúc đầu tất cả các đối tượng trong cùng một cụm Trong mỗi lần lặp kế tiếp, một cụm được chia vào trong các cụm nhỏ hơn cho tới khi cuối cùng mỗi đối tượng trong một cụm, hay cho tới khi gặp một điều kiện kết thúc

Quá trình phân chia hay tích tụ các cụm dựa trên độ đo tương tự, hoặc khoảng cách giữa hai cụm Giả sử có thể tính được khoảng cách giữa đối tượng p và p’, và

kí hiệu khoảng cách đó là d(p,p’), ni là số phần tử của cụm Ci Các công thức tính khoảng cách giữa hai cụm Ci , Cj là:

i j C

p p C j

i j i

n n C C

Ưu điểm của các phương pháp phân cấp:

- Khái niệm đơn giản, lý thuyết tốt

- Khi cụm được tích tụ/ phân chia, quyết định là vĩnh cửu, vì vậy số các phương

án khác cần xem xét bị rút giảm

Nhược điểm:

- Do việc tích tụ/ phân chia các cụm là vĩnh cửu nên quyết định sai là không thể

khắc phục được

- Tính co dãn thấp: Độ phức tạp là O(n2), hoặc O(n3) với n là số đối tượng

- Gặp vấn đề khi các nhóm có kích thước khác nhau và có dạng hình lồi

⇒ Tích hợp phương pháp phân cấp với phương pháp phân hoạch (dựa trên khoảng cách) Một số thuật toán điển hình: HIMIC, BIRCH (Balance Iterative Reducing &

Trang 33

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Clustering using Hierachies), CURE (Clustering Using Representative), ROCK (Robust Clustering using linKs), CHAMELEON

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

Để tìm ra các cụm với hình dạng tuỳ ý, các phương pháp phân cụm dựa trên mật độ đã được phát triển, nó kết nối các miền với mật độ đủ cao vào trong các cụm hay phân cụm các đối tượng dựa trên phân bố hàm mật độ

Các thuật toán điển hình: DBSCAN (Density-Based Spatial Clustering of

Applications with Noise), OPTICS (Ordering Points To Identify the Clustering structure), DENCLUE (DENsity- based CLUstEring), CLIQUE (Clustering In QUEst)

Hình 2.9: Minh họa thuật toán phân cụm dựa trên mật độ

™ Thuật toán DBSCAN

Để tìm ra một cụm, DBSCAN bắt đầu từ một điểm p tuỳ ý và tìm tất cả các điểm đến được mật độ từ p với tham số Eps và Minpts Nếu p là điểm nhân thì điểm này thuộc cụm, nếu p là điểm biên, không có điểm nào đến được mật độ từ p và xét điểm tiếp theo

Các bước chính của thuật toán như sau:

1) Chọn ngẫu nhiên 1 phần tử p;

Trang 34

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

2) Xét các yếu tố: Eps (là bán kính của các láng giềng) và Minpts (là số các láng giềng tối thiểu) với phần tử p đã chọn Nếu thỏa mãn các yếu tố trên thì p

là điểm nhân của một cụm Ta lấy tất cả các điểm đến được mật độ từ điểm p trong phạm vi Eps, Minpts gom vào cụm với điểm p

Nếu không thỏa mãn các yếu tố trên (tức là p không phải là điểm nhân) thì

ta quay lại bước 1) xét với một điểm khác Cứ như thế xét cho tất cả các phần

tử ta thu được các cụm cần, những phần tử không thuộc cụm nào là phần tử ngoại lai, nhiễu

Ưu điểm của thuật toán DBSCAN:

- Có thể tìm ra các cụm có hình thù bất kỳ

- Có thể áp dụng cho các tập dữ liệu không gian đa chiều

Nhược điểm: Số điểm tối thiểu(Minpts) được chọn là khó

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

Một tiếp cận dựa trên lưới dùng cấu trúc dữ liệu lưới đa phân giải Trước tiên

nó lượng tử hoá không gian vào trong một số hữu hạn các ô mà đã hình thành nên cấu trúc lưới, sau đó thực hiện tất cả các thao tác trong cấu trúc lưới đó

Một số thuật toán điển hình: STING, CLIQUE, WAVECluster…

™ Thuật toán STING:

STING là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đó vùng không gian dữ liệu được phân rã thành số hữu hạn các ô chữ nhật, điều này có nghĩa là các

ô lưới được hình thành từ các ô lưới con để thực hiện phân cụm Có nhiều mức của các ô chữ nhật tương ứng với các mức khác nhau của phân giải trong cấu trúc lưới,

và các ô này hình thành cấu trúc phân cấp: mỗi ô ở mức cao được phân hoạch thành

số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phân cấp Các điểm dữ liệu được nạp từ CSDL, giá trị của các tham số thống kê cho các thuộc tính của đối tượng dữ liệu trong mỗi ô lưới được tính toán từ dữ liệu và lưu trữ thông qua các

Trang 35

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

tham số thống kê ở các ô mức thấp hơn Các giá trị của các tham số thống kê gồm:

số trung bình - mean, số tối đa - max, số tối thiểu - min, số đếm - count, độ lệch chuẩn - s,

Các bước chính của thuật toán như sau:

1) Các đối tượng dữ liệu ban đầu được đưa vào 1 ô;

2) Ô này được phân hoạch thành các ô thấp hơn Trong mỗi ô phân hoạch đó lại được phân hoạch tiếp thành các ô thấp hơn nữa Cứ phân hoạch như thế cho tới khi thu được các ô theo yêu cầu Các ô này chính là các cụm cần

Ưu điểm của thuật toán STING:

- Khám phá ra các cụm có hình thù bất kỳ (biên ngang, dọc theo biên của các

Độ phức tạp

Các tham

số đầu vào

Kết quả

Tiêu chuẩn phân cụm

Phương pháp phân hoạch

tâm các

Minv1, v2, ,vk (Ek)

Trang 36

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

E

) , (

d(Xj,Qi) là khoảng cách giữa đối tượng Xj và mode Qi

cụm

Medoid của các cụm

min ( TCih )

=

j jih

Gán các đối tượng

dữ liệu vào các cụm

) , ( min

) ,

Gán các đối tượng

dữ liệu vào các cụm

q p V

r q k

i i l

n

p p link n

E

1

) , ( θ

vi là trung tâm của cụm i

link(pq, pr): số láng giềng chung giữa pq và pr

cụm

Gán các đối

Tại mỗi bước, các cụm có cặp đại diện gần nhất được hợp

Trang 37

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

tượng

dữ liệu vào các cụm

thành một

Phân cụm dựa trên mật độ

DBSCAN Numerical O(nlogn) Bán

kính cụm

Gán các điểm

dữ liệu vào các cụm

Hòa nhập các điểm có mật độ đến được thành một cụm

Phân cụm dựa trên lưới

STING Spatial

data

O(K)

K là số ô lưới tại mức thấp nhất

Số đối tượng trong một

ô

Các đối tượng được phân cụm

Chia vùng không gian thành các ô có cấu trúc thứ bậc

Mỗi ô ở mức cao được chia thành các ô nhỏ hơn ở mức thấp hơn kế tiếp

2.3 Một số thuật toán phân cụm dữ liệu hỗn hợp điển hình

Bài toán phân cụm với dữ liệu hỗn hợp là bài toán thường gặp trong thực tế Hiện nay, dữ liệu trong các CSDL thực tế không chỉ có một kiếu như kiểu số hay kiểu phạm trù (phi số), mà có cả dữ liệu thuộc hai loại trên (dữ liệu hỗn hợp) Theo [23], [28] có hai hướng tiếp cận đối với bài toán phân cụm dữ liệu hỗn hợp: Xây dựng công thức khoảng cách hợp nhất áp dụng cho dữ liệu hỗn hợp, hoặc phân cụm song song

Trang 38

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

- Cách tiếp cận xây dựng một công thức tính khoảng cách hoặc độ tương tự hợp nhất có thể áp dụng cho dữ liệu hỗn hợp: d = f(d n,d c), trong đó dn là độ đo khoảng cách xác định trên các thuộc tính kiểu số, dc là độ đo khoảng cách xác định trên các thuộc tính phạm trù Độ đo khoảng cách hợp nhất là một hàm số của dn và

dc Một số thuật toán điển hình: k-prototypes, AGNES , HIMIC

- Hướng tiếp cận phân cụm song song:

o Đầu tiên, tập dữ liệu hỗn hợp ban đầu được chia làm hai tập con: một tập là

dữ liệu xác định trên thuộc tính số và một tập là dữ liệu xác định trên thuộc tính phạm trù (phi số)

o Áp dụng những thuật toán tốt nhất có thể cho mỗi tập dữ liệu

o Kết quả phân cụm trên dữ liệu số và dữ liệu phạm trù được kết hợp với nhau (Kết quả của các thuật toán phân cụm là các đối tượng trong cụm được gán nhãn

là nhãn của cụm chứa nó Các nhãn là không đối sánh được, và coi nó như một thuộc tính phạm trù Vậy có thể coi kết quả của phân cụm là một tập dữ liệu phạm trù với thuộc tính phạm trù là nhãn) Khi kết hợp hai kết quả phân cụm ta

sẽ được tập dữ liệu phạm trù Thuật toán phân cụm dữ liệu kiểu phạm trù được dùng để thu được kết quả cuối cùng

Ngoài ra có thể có cách tiếp cận tương tự như phân cụm song song, sau khi chia

dữ liệu thành hai tập con, chỉ phân cụm cho tập dữ liệu với thuộc tính số, sau khi được kết quả phân cụm thì kết hợp với các thuộc tính phạm trù, ta sẽ được một tập

dữ liệu phạm trù Sau đó tiếp tục áp dụng thuật toán phân cụm cho tập dữ liệu phạm trù này để được kết quả cuối cùng

Với hướng tiếp cận song song có thể sử dụng thuật toán CEBMDC (Cluster Esembler Based Mixed Data Clustering) để phân cụm

Trang 39

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

Input: D (tập dữ liệu đầu vào gồm n bộ)

Output: Mỗi một đối tượng được gán nhãn của cụm

3) Áp dụng thuật toán phân cụm dữ liệu cho tập ND – sử dụng CURE

4) Kết hợp kết quả phân cụm ở hai bước trên thành một tập dữ liệu phạm trù CombinedCD

5) Áp dụng thuật toán Squeezer cho tập dữ liệu CombinedCD

Hình 2.10: Thuật toán CEBMDC

Ưu điểm của thuật toán CEBMDC: Tận dụng những ưu điểm của các thuật toán phân cụm cho dữ liệu thuần kiểu (số hoặc phi số) Chọn những thuật toán phù hợp

- Xác định xu hướng phân cụm của dữ liệu: nhận biết liệu các cấu trúc có thật

sự tồn tại trong dữ liệu

- So sánh kết quả phân cụm với kết quả đã có bên ngoài, chẳng hạn như so sánh với các nhãn lớp được cho

Trang 40

Phân cụm các đối tượng phức tạp trong một lớp đối tượng

- So sánh kết quả của hai thuật toán phân cụm khác nhau, đánh giá kết quả phân cụm nào tốt, phù hợp với dữ liệu mà không tham khảo kết quả bên ngoài → chọn một thuật toán tốt đối với tập dữ liệu

- Chọn các giá trị của tham số cho thuật toán phân cụm: Xác định chính xác số cụm

- Chọn độ đo khoảng cách tốt trên dữ liệu: Chọn đặc trưng và trích chọn đặc trưng là các trường hợp đặc biệt của cách này

Để đo chất lượng cụm ta có thể sử dụng các loại chỉ số (index) Chỉ số là một hàm để đánh giá các kỹ thuật phân cụm Thông thường nó tạo ra một số mà theo đó người dùng có thể nhận biết cách phân cụm nào là tốt hơn Có ba loại chỉ số thường dùng là: External index, Internal index và Relative index Trong đó, External index được sử dụng phổ biến hơn hai chỉ số còn lại [5]

- External index: Sử dụng để đo mức độ các cụm tương đồng với các nhãn lớp

đã được cung cấp sẵn Hai độ đo có thể được sử dụng là Entropy hoặc Purity

m

m

p =

Trong đó: mj là số mẫu của cụm j;

mij là số mẫu của lớp i thuộc cụm j Sau đó sử dụng sự phân bố này, tính toán entropy của mỗi cụm j là ej theo công thức:

e

1

2 ( ) log

Ngày đăng: 27/07/2017, 20:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Kim Anh (2004), “Nguyên lý của các hệ CSDL”, NXB ĐHQG Hà Nội Sách, tạp chí
Tiêu đề: “Nguyên lý của các hệ CSDL”
Tác giả: Nguyễn Kim Anh
Nhà XB: NXB ĐHQG Hà Nội
Năm: 2004
[2] Nguyễn Ngọc Bình, Hồ Tú Bảo, Thân Văn Cường, “Độ đo tương tự hồn hợp cho dữ liệu với các thuộc tính kiểu số, ký hiệu và thứ tự” Sách, tạp chí
Tiêu đề: “Độ đo tương tự hồn hợp cho dữ liệu với các thuộc tính kiểu số, ký hiệu và thứ tự
[3] Trương Ngọc Châu (2010), Chuyên đề NCS, “Cơ sở dữ liệu hướng đối tượng”.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: “Cơ sở dữ liệu hướng đối tượng”
Tác giả: Trương Ngọc Châu
Năm: 2010
[1]. Ajith Abraham, L. C. Jain, Berend J. Von der Zwaag (2004), “Innovations in intelligent systems” Sách, tạp chí
Tiêu đề: “Innovations in intelligent systems
Tác giả: Ajith Abraham, L. C. Jain, Berend J. Von der Zwaag
Năm: 2004
[2]. Akila Sarirete and Jean Vaucher, “Similarity Measures for the Object Model” Sách, tạp chí
Tiêu đề: “Similarity Measures for the Object Model
[3]. Amir Ahmad and Lipika Dey (2007), “A method to compute distance between two categorical values of same attribute in unsupervised learning for categorical data set”, ScienceDirect Sách, tạp chí
Tiêu đề: “A method to compute distance between two categorical values of same attribute in unsupervised learning for categorical data set”
Tác giả: Amir Ahmad and Lipika Dey
Năm: 2007
[4] Armin Stahl (2007), “Retrieving Relevant Experiences” Sách, tạp chí
Tiêu đề: “Retrieving Relevant Experiences
Tác giả: Armin Stahl
Năm: 2007
[5] Ana Fred(April 2009), “From Single Clustering to Ensemble Methods”, Instituto superior Técnico, Universidade Técnico de Lisboa Sách, tạp chí
Tiêu đề: “From Single Clustering to Ensemble Methods”
[6] Ho Tu Bao, David Cheung and Huan Liu (2005), “Advances in Knowledge Discovery and Data Mining”, 9 th Pacific-Asia Conference, Hanoi, Vietnam Sách, tạp chí
Tiêu đề: “Advances in Knowledge Discovery and Data Mining”
Tác giả: Ho Tu Bao, David Cheung and Huan Liu
Năm: 2005
[7] B.Bahmani Firouzi, T. Niknam, and M. Nayeripour (2009), “A New Evolutionary Algorithm for Cluster Analysis” Sách, tạp chí
Tiêu đề: “A New Evolutionary Algorithm for Cluster Analysis
Tác giả: B.Bahmani Firouzi, T. Niknam, and M. Nayeripour
Năm: 2009
[8] Chuanjun Li B. Prabhakaran Si-Qing Zheng, ”Similarity measure for multi- attribute data” Sách, tạp chí
Tiêu đề: ”Similarity measure for multi-attribute data
[9]. Chung-Chian Hsu , Yu-Cheng Chen (2007), “Mining of mixed data with application to catalog marketing”, ScienceDirect Sách, tạp chí
Tiêu đề: “Mining of mixed data with application to catalog marketing”
Tác giả: Chung-Chian Hsu , Yu-Cheng Chen
Năm: 2007
[10]. Chung-Chian Hsu and Yan-Ping Huang (2008), “Incremental clustering of mixed data based on distance hierarchy”, ScienceDirect Sách, tạp chí
Tiêu đề: “Incremental clustering of mixed data based on distance hierarchy”
Tác giả: Chung-Chian Hsu and Yan-Ping Huang
Năm: 2008
[11]. Chung-Chian Hsu , Chin-Long Chen, Yu-Wei Su (2007), “Hierarchical clustering of mixed data based on distance hierarchy”, ScienceDirect Sách, tạp chí
Tiêu đề: “Hierarchical clustering of mixed data based on distance hierarchy”
Tác giả: Chung-Chian Hsu , Chin-Long Chen, Yu-Wei Su
Năm: 2007
[12] Gavin Finnie and Zhaohao Sun (2002), “Similarity and Metrics in Case-Based Reasoning” Sách, tạp chí
Tiêu đề: “Similarity and Metrics in Case-Based Reasoning
Tác giả: Gavin Finnie and Zhaohao Sun
Năm: 2002
[13]. Gilles Bisson, “Why and How to Define a Similarity Measure for Object Based Representation Systems” Sách, tạp chí
Tiêu đề: “Why and How to Define a Similarity Measure for Object Based Representation Systems
[14] Guadalupe J. Torres, Ram B. Basnet, Andrew H. Sung, Srinivas Mukkamala, and Bernardete M. Ribeiro (2009), “A Similarity Measure for Clustering and its applications” Sách, tạp chí
Tiêu đề: “A Similarity Measure for Clustering and its applications
Tác giả: Guadalupe J. Torres, Ram B. Basnet, Andrew H. Sung, Srinivas Mukkamala, and Bernardete M. Ribeiro
Năm: 2009
[1]. M. Matteucci. (2008). A Tutorial on Clustering Algorithms. Available: http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/ Link
[3] T, Kardi. (2008). Similarity Measurement. Available: http://people.revoledu.com/kardi\/tutorial/Similarity/ Link
[4] Trang web đầu ngành về KTDL - Kdnuggets : www.kdnuggets.com [5] Kho dữ liệu chuẩn UCI: http://archive.ics.uci.edu/ml/ Link

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

w