Tải bản đầy đủ (.docx) (68 trang)

Thuật toán phân cụm dữ liệu nửa giám sát

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

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
2 KHOA CÔNG NGHỆ THÔNG TIN
--------------o0o--------------

ĐỖ THỊ PHƯƠNG

THUẬT TOÁN PHÂN CỤM DỮ
LIỆU NỬA GIÁM SÁT

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

Người hướng dẫn khoa
học: TS. TRỊNH ĐÌNH
THẮNG

Trang 1


Hà Nội - 2012

Trang 2


Mục Lục
LỜI CẢM ƠN
LỜI CAM
ĐOAN
MỞ ĐẦU........................................................................................................4


Chƣơng 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU...................................10
1.1. Tổng quan về khám phá tri thức trong cơ sở dữ liệu........................10
1.2. Khái niệm khai phá dữ liệu (Data mining).....................................12
1.3. Các phƣơng pháp khai phá dữ liệu.................................................12
1.3.1. Các nhiệm vụ của khai phá dữ liệu................................................12
1.3.2. Phân loại...........................................................................................13

1.4. Ứng dụng của khai phá dữ liệu.......................................................14
Chƣơng 2: PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN ĐIỂN HÌNH... 15
2.1. Khái niệm phân cụm dữ liệu.............................................................15
2.2. Các kiểu dữ liệu và độ đo tƣơng tự................................................15
2.2.1. Phân loại kiểu dự liệu dựa trên kích thƣớc miền...........................15
2.2.2. Phân loại kiểu dữ liệu dựa trên hệ đo...........................................15
2.2.3. Phép đo độ tƣơng tự, phi tƣơng tự...............................................16

2.3. Các ứng dụng của phân cụm dữ liệu...............................................20
2.4. Các phƣơng pháp và thuật toán điển hình liên quan đến phân cụm dữ
liệu không giám sát...........................................................................20
2.4.1. Phân cụm phân hoạch....................................................................20
2.4.2. Phân cụm phân cấp.......................................................................26


2.4.3. Thuật toán K-Tâm........................................................................... 32

2.5. Các phƣơng pháp và thuật toán điển hình liên quan đến PCDL nửa
giám sát.............................................................................................34
2.5.1. K-Means bán giám sát với một phần dữ liệu đã gán nhãn: Seeded-

KMeans và Constrained-KMeans......................................................... 35
2.5.2. K-Means bán giám sát trên cơ sở các ràng buộc: COP-Kmeans.. 38


Chƣơng 3: XÂY DỰNG ỨNG DỤNG..........................................................40
3.1. Giới thiệu ngôn ngữ Visual Basic 6.0.............................................40
3.1.1. Cấu trúc một đề án (Project)......................................................... 40
3.1.2. Một số điều khiển........................................................................... 41
3.1.3. Thuộc tính, phƣơng thức và sự kiện............................................41
3.1.4. Mô hình truy cập cơ sở dữ liệu bằng ADO.................................. 42
3.1.5. Hệ quản trị Cơ sở dữ liệu ACCESS............................................. 43

3.2. Xây dựng ứng dụng........................................................................ 44
3.2.1. Giới thiệu......................................................................................... 44
3.2.2. Bài toán............................................................................................ 45
3.2.3. Cài đặt thuật toán phân cụm nửa giám sát với dữ liệu hỗn hợp....49
3.2.4. Giao diện chƣơng trình...................................................................51
KẾT LUẬN VÀ ĐỊNH HƢỚNG PHÁT TRIỂN............................................54
1. Kết luận..............................................................................................54
2. Định hƣớng phát triển............................................................................55
TÀI LIỆU THAM KHẢO................................................................................... 56


MỞ ĐẦU
1. Lý do chọn đề tài
Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không
ngừng của ngành Công nghệ thông tin nói chung và trong các ngành công
nghệ phần cứng, phần mềm, truyền thông và hệ thống các dữ liệu phục vụ
trong các lĩnh vực kinh tế - xã hội nói riêng thì việc thu thập thông tin cũng
nhƣ nhu cầu lƣu trữ thông tin càng ngày càng lớn. Việc tin học hoá một cách
ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũng nhƣ nhiều lĩnh
vực hoạt động khác đã tạo ra cho chúng ta một lƣợng dữ liệu lƣu trữ khổng
lồ. Hàng triệu CSDL đã đƣợc sử dụng trong các hoạt động sản xuất, kinh

doanh, quản lí; trong đó, có nhiều CSDL cực lớn cỡ Gigabyte, thậm chí là
Terabyte. Trong tình hình đó, các kĩ thuật khai phá dữ liệu đã trở thành
một lĩnh vực thời sự của nền Công nghệ thông tin.
Một vấn đề đƣợc đặt ra là phải làm sao trích chọn đƣợc những thông
tin có ý nghĩa từ tập dữ liệu lớn, để từ đó có thể giải quyết đƣợc các yêu cầu
của thực tế nhƣ trợ giúp ra quyết định, dự đoán,… Khai phá dữ liệu (Data
mining) đã ra đời nhằm giải quyết các yêu cầu đó. Quá trình khai phá dữ
liệu đƣợ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 lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ
liệu… Hiện nay, ngoài thuật ngữ khai phá dữ liệu, ngƣời ta còn dùng một số
thuật ngữ khác có ý nghĩa tƣơng tự nhƣ: khai phá tri thức từ cơ sở dữ liệu
(knowlegde mining from databases), trích lọc dữ liệu (knowlegde
extraction), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data
dredging). Nhiều ngƣời coi khai phá dữ liệu và một thuật ngữ thông dụng
khác là khám phá tri thức trong cơ sở dữ liệu (Knowlegde Discovery in
Databases – 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 khám phá
tri thức trong cơ sở dữ liệu.
Ngay từ những ngày đầu khi xuất hiện, Data mining đã trở thành một
trong những xu hƣớng nghiên cứu phổ biến trong lĩnh vực học máy tính và
công nghệ tri thức. Data mining có nhiều hƣớng quan trọng và một trong các
hƣớng đó là phân cụm dữ liệu (Data Clustering). Phân cụm dữ liệu đƣợc hiểu
là quá trình tìm kiếm để phân ra các cụm dữ liệu, các mẫu dữ liệu từ tập cơ sở
dữ liệu lớn. Phân cụm dữ liệu là một phƣơng pháp học không giám sát.
Trong những năm trở lại đây, do phƣơng pháp phân cụm dữ liệu không
giám sát còn nhiều nhƣợc điểm chƣa đáp ứng đƣợc nhu cầu sử dụng thông
tin. Để giải quyết vấn đề đó, một hƣớng đi mới đó là phƣơng pháp phân
cụm dữ liệu nửa giám sát, ra đời dựa trên cơ sở học không giám sát và học

có giám sát. Dù là một phƣơng pháp phân cụm chƣa hoàn thiện nhƣng nó đã
phần nào khắc phục đƣợc những hạn chế và phát huy ƣu điểm của phƣơng
pháp phân cụm không giám sát.
Do đó, em chọn đề tài: “Thuật toán phân cụm dữ liệu nửa giám sát” để
trình bày trong bài khóa luận tốt nghiệp của mình.
2. Mục đích nghiên cứu
Trong bài khóa luận này em xin trình bày theo các mục đích sau:


Tìm hiểu qua về các quá trình khám phá tri thức, khai phá dữ liệu.



Tìm hiểu về phân cụm dữ liệu và một số thuật toán phân cụm dữ liệu
không giám sát.



Trên nền tảng lý thuyết về khai phá dữ liệu và một số thuật toán phân
cụm không giám sát tiến tới đi sâu vào tìm hiểu, phân tích, đánh giá


một số thuật toán của phƣơng pháp phân cụm dữ liệu nửa giám sát.
(Thuật toán Seeded-KMeans và Constrained-KMeans).


Xây dựng một chƣơng trình demo, mô phỏng hoạt động của phƣơng
pháp phân cụm dữ liệu nửa giám sát.

3. Phạm vi nghiên cứu

Data mining là một lĩnh vực thu hút đƣợc rất nhiều sự quan tâm của các
nhà nghiên cứu, với nhiều ngành ứng dụng. Một trong các hƣớng đó là phân
cụm dữ liệu, với các phƣơng pháp phân cụm khác nhau. Ở khóa luận này, em
xin trình bày về một số phƣơng pháp phân cụm dữ liệu nửa giám sát với các
thuật toán tiêu biểu nhƣ thuật toán Seeded-Kmeans và Constrained-Kmeans.
4. Ý nghĩa khoa học và thực tiễn
Nếu đề tài “Thuật toán phân cụm dữ liệu nửa giám sát” đƣợc nghiên
cứu thì sẽ đạt hiệu quả phân cụm tối ƣu hơn phân cụm dữ liệu không giám sát
và sẽ giúp xử lý dữ liệu nhanh hơn, giảm thời gian, công sức để tìm kiếm,
phát hiện các cụm, các mẫu dữ liệu trong tập dữ liệu lớn để cung cấp thông tin
trợ giúp việc ra quyết định, dự đoán.
5. Phương pháp nghiên cứu

a. Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây
dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các
vấn đề của đề tài.
b.

Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chƣơng trình phù

hợp với yêu cầu thực tiễn. Nội dung xử lý nhanh đáp ứng đƣợc yêu cầu ngày
càng cao của ngƣời sử dụng.


c.

Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận đƣợc


nghiên cứu và kết quả đạt đƣợc qua những phƣơng pháp trên.
6. Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận và định hƣớng phát triển thì luận văn của
em bao gồm ba chƣơng:
Chƣơng 1: Tổng quan về khai phá dữ liệu.
Chƣơng 2: Phân cụm dữ liệu và các thuật toán điển hình.
Chƣơng 3: Xây dựng ứng dụng.


DANH SÁCH CÁC HÌNH
Hình 1: Quá trình khám phá tri thức trong CSDL.
Hình 2: Các thiết lập để xác định danh giới các cụm ban đầu.
Hình 3:Tính toán trọng tâm của các cụm mới.
Hình 4: Phân cụm phân cấp Top-down và Bottom-up.
Hình 5: Các cụm dữ liệu đƣợc khám phá bởi CURE.
Hình 6: Cấu trúc cây CF.


DANH SÁCH CÁC CỤM TỪ VIẾT TẮT

STT Viết tắt

Cụm từ tiếng Anh

Cụm từ tiếng Việt

1

CNTT


Information Technology

Công nghệ thông tin

2

CSDL

Database

Cơ sở dữ liệu

3

KDD

Knowledge Discovery in

Khám phá tri thức

Database

trong cơ sở dữ liệu

4

KPDL

Data mining


Khai phá dữ liệu

5

PCDL

Data Clustering

Phân cụm dữ liệu

6

MTĐT

Electronic Computer

Máy tính điện tử


Chương 1
TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Tổng quan về khám phá tri thức trong cơ sở dữ liệu
Các yêu cầu về thông tin trong các loại hoạt động nhƣ công tác quản lý,
hoạt động kinh doanh, phát triển sản xuất và dịch vụ, đặc biệt là trong việc ra
quyết định giải quyết một vấn đề ngày càng đòi hỏi chất lƣợng cao hơn.
Ngƣời làm quyết định không những cần dữ liệu mà còn cần có thêm nhiều
hiểu biết, nhiều tri thức để hỗ trợ cho việc ra quyết định của mình. Để giải
quyết vấn đề đó thì kỹ thuật khám phá tri thức trong cơ sở dữ liệu (Knowledge
Discovery in Databases- KDD) đã ra đời. Khám phá tri thức trong cơ sở dữ

liệu là lĩnh vực liên quan đến các ngành nhƣ: xác suất thống kê, học máy, trực
quan hóa dữ liệu, tính toán song song,… Quá trình KDD có thể chia thành 5
bƣớc thực hiện nhƣ sau:
1.

Trích chọn dữ liệu: Xác định mục đích của quy trình khai phá dữ liệu
dựa trên quan điểm của ngƣời dùng, thu thập và chuẩn bị dữ liệu để
khai phá.

2.

Tiền xử lý dữ liệu: Nhằm mục đích loại bỏ sự trùng lặp dữ liệu, cắt tỉa
những thông tin có thể gây nhiễu, tập hợp những thông tin cần thiết cho
mô hình hoá, chọn các phƣơng pháp xử lý những thông tin bị khiếm
khuyết.

3.

Chuyển đổi dữ liệu: Thực hiện thu gọn dữ liệu, phép ánh xạ dữ liệu, tìm
những đặc trƣng phù hợp để mô tả và khai phá dữ liệu.

4.

Khai phá dữ liệu: Chọn nhiệm vụ khai phá dữ liệu nhƣ phân lớp, gom
cụm, hồi qui, kết hợp… Từ nhiệm vụ đã chọn, sử dụng các thuật toán


và các phƣơng pháp đã biết để tìm kiếm các mẫu trong dữ liệu, chọn ra
các mẫu hữu ích.
5.


Trình bày và đánh giá: Từ các mẫu khai phá đƣợc tiến hành đánh giá
hoặc phiên dịch thành những tri thức hiểu đƣợc.
Trình bày,
đánh giá
Tri
thức

Khai phá
Chuyển
đổi
Tiền xử lý
dữ liệu

Trích
chọn DL

Các
mẫu

DL qua tiền xử


DL đã chuyển
đổi

DL
đã chọn

Hình 1: Quá trình khám phá tri thức trong CSDL



1.2. Khái niệm khai phá dữ liệu (Data mining)
Data mining là một công đoạn, cũng là một khâu quan trọng nhất trong
quá trình KDD. Do sự phát triển mạnh mẽ của Data mining về phạm vi các
lĩnh vực ứng dụng trong thực tế và các phƣơng pháp tìm kiếm nên có rất
nhiều khái niệm khác nhau về Data mining. Ở đây em xin nêu ra một định
nghĩa gắn gọn và dễ hiểu về Data mining nhƣ sau:
Data mining là một quá trình tìm kiếm, chắt lọc các tri thức mới, tiềm ẩn, hữu
dụng trong tập dữ liệu lớn.
1.3. Các phương pháp khai phá dữ liệu
1.3.1. Các nhiệm vụ của khai phá dữ liệu
Một số nhiệm vụ của khai phá dữ liệu:


Phân lớp và dự đoán: Xếp đối tƣợng vào một trong các lớp đã biết
trƣớc, dự báo giá trị có thể đúng của những dữ liệu bị thiếu hoặc sự phân
bố của thuộc tính nào đó trong dữ liệu. Phân lớp còn đƣợc gọi là học
có giám sát.



Luật thuộc tính: Tóm tắt những thuộc tính chung của tập dữ liệu nào đó
trong cơ sở dữ liệu.



Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng tƣơng đối đơn
giản. Giả sử có hai tập thuộc tính {A1, A2,…An} và {B1, B2,…Bm} thì
luật kết hợp có dạng (A1 A2…An) (B1 B2…Bm )




Khai thác mẫu tuần tự: Tƣơng tự nhƣ khai thác luật kết hợp nhƣng có
thêm tính thứ tự và tính thời gian. Một luật mô tả mẫu tuần tự có dạng
tiêu biểu X → Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc
xuất hiện kế tiếp biến cố Y. Hƣớng tiếp cận này có tính dự báo cao.




Phân cụm: Sắp xếp các đối tƣợng theo từng cụm (số lƣợng và tên của
cụm chƣa đƣợc biết trƣớc). Các đối tƣợng đƣợc gom cụm sao cho mức
độ tƣơng tự giữa các đối tƣợng trong cùng một cụm là lớn nhất và mức
độ tƣơng tự giữa các đối tƣợng nằm trong các cụm khác nhau là nhỏ
nhất. Phân cụm còn đƣợc gọi là học không có giám sát.
1.3.2. Phân loại
Data mining đƣợc phân loại theo hai quan điểm sau:
a. Theo quan điểm của học máy



Học có giám sát: Là quá trình gán nhãn lớp cho các đối tƣợng trong tập
dữ liệu dựa trên một bộ các đối tƣợng huấn luyện và các thông tin về
nhãn lớp đã biết.



Học không giám sát: Là quá trình phân chia một tập dữ liệu thành các
lớp hay cụm dữ liệu tƣơng tự nhau mà chƣa biết trƣớc các thông tin về

nhãn lớp.



Học nửa giám sát: Là quá trình chia một tập dữ liệu thành các lớp con
dựa trên một số thông tin bổ trợ cho trƣớc.
b. Theo các lớp bài toán cần giải quyết



Phân lớp và dự đoán: Đƣa mỗi đối tƣợng vào một trong các lớp đã biết
trƣớc. Phân lớp và dự đoán còn đƣợc gọi là học có giám sát.



Luật kết hợp: Là dạng luật biểu diễn tri thức ở dạng khá đơn giản. Một
luật kết hợp đƣợc mô tả nhƣ sau:
Nếu a thì b với xác suất p



Phân tích chuỗi theo thời gian: Giống nhƣ khai phá luật kết hợp nhƣng
có thêm tính thứ tự và thời gian.
Trang 13




Phân cụm (Clustering): Nhóm các đối tƣợng thành từng cụm dữ liệu.
Đây là phƣơng pháp học không giám sát.




Mô tả khái niệm: Mô tả, tổng hợp và tóm tắt khái niệm. Ví dụ nhƣ tóm
tắt văn bản.

1.4.


Ứng dụng của khai phá dữ liệu
Bảo hiểm, tài chính và thị trường chứng khoán: Phân tích tình hình tài
chính và dự báo giá của các loại cổ phiếu trong thị trƣờng chứng khoán.
Danh mục vốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận.



Điều trị y học và chăm sóc y tế: Phân tích mối liên hệ giữa triệu chứng
bệnh, chẩn đoán và phƣơng pháp điều trị (chế độ dinh dƣỡng, thuốc).



Sản xuất và chế biến: Qui trình, phƣơng pháp chế biến và xử lý sự cố.



Text mining & Web mining: Phân lớp văn bản và các trang web, tóm tắt
văn bản.




Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học,
tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và
một số bệnh di truyền.



Lĩnh vực viễn thông: Các ứng dụng Data mining đƣợc phát triển trong
ngành viễn thông đƣợc chia thành 3 nhóm ứng dụng khác nhau là phát
hiện gian lận, các ứng dụng hỗ trợ tiếp thị và quản lý khách hàng, cuối
cùng là các ứng dụng về phát hiện và xử lý lỗi hệ thống mạng.



Lĩnh vực khác: Môi trƣờng, thể thao, âm nhạc,…


Chương 2
PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN ĐIỂN
HÌNH
2.1. Khái niệm phân cụm dữ liệu
Phân cụm dữ liệu là một kỹ thuật phát triển mạnh mẽ trong nhiều năm
trở lại đây do các ứng dụng và lợi ích to lớn của nó đối với các lĩnh vực trong
thực tế. Ở một mức cơ bản nhất, ngƣời ta định nghĩa phân cụm dữ liệu nhƣ
sau:
Phân cụm dữ liệu là một kỹ thuật trong Data mining 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 và quan trọng trong tập
dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định.
Do đó, 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 đối tƣợng trong một cụm thì “tương tự” nhau và các
đối tƣợng trong các cụm khác nhau thì “phi tương tự” với nhau. Số cụm dữ

liệu đƣợc xác định bằng kinh nghiệm hoặc bằng một số phƣơng pháp phân
cụm.
2.2. Các kiểu dữ liệu và độ đo tương tự
2.2.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ị là vô hạn không đếm đƣợc.



Thuộc tính rời rạc: Nếu miền giá trị là tập hữu hạn hoặc đếm đƣợc.
2.2.2. Phân loại kiểu dữ liệu dựa trên hệ đo
Giả sử có hai đối tƣợng x, y và các thuộc tính xi, yi tƣơng ứng với thuộc

tính thứ i của chúng. Chúng ta có các lớp kiểu dữ liệu nhƣ sau:




Thuộc tính định danh: Là dạng thuộc tính khái quát hóa 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ự, có nhiều


hơn hai phần tử - nghĩa là nếu x và y là hai đối tƣợng thuộc tính thì chỉ có
thể xác định là x ≠ y hoặc 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 đƣợc định lƣợng. Nếu x và y là hai thuộc tính thứ tự thì ta
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: Nhằm để đo các giá trị theo xấp xỉ tuyến tính. Với
thuộc tính khoảng, ta có thể xác định một thuộc tính là đứng trƣớc hay
đứng sau thuộc tính khác với một khoảng là bao nhiêu. Nếu xi > yi thì ta
nói x cách y một khoảng xi  tƣơng ứng với thuộc tính thứ i
yi



Thuộc tính tỷ lệ: Là thuộc tính khoảng cách nhƣng đƣợc xác định một
cách tƣơng đối so với điểm mốc. Thí dụ nhƣ thuộc tính chiều cao hoặc
cân nặng lấy giá trị 0 làm mốc.
Ngƣời ta còn đặc biệt quan tâm đến dữ liệu không gian. 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 rời rạc: Có thể là một điểm trong không gian nhiều
chiều và cho phép ta xác định đƣợc khoảng cách giữa các đối tƣợng dữ
liệu trong không gian.



Dữ liệu không gian liên tục: Bao gồm một vùng trong không gian.
2.2.3. Phép đo độ tương tự, phi tương tự
Khi các đặc tính của dữ liệu đƣợc xác định, ngƣời ta tìm cách thích

hợp để xác định “khoảng cách” giữa các đối tƣợng. Đâ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 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
Trang 16


các đối tƣợng càng lớn và ngƣợc lại. Ứng với mỗi kiểu dữ liệu thì có một
hàm tính độ

Trang 17


đo tƣơng tự để xác định khoảng cách giữa 2 phân tử của cùng một kiểu dữ
liệu. Tất cả các độ đo đều đƣợ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 ngƣợc lại thì không đúng. Độ đo ở đây
có thể là tƣơng tự hoặc phi tƣơng tự.
Một tập dữ liệu X là không gian metric nếu:


Với mỗi cặp x, y thuộc X đều xác định đƣợc một số thực d(x, y) theo một
quy tắc nào đó và đƣợc gọi là khoảng cách của x, y.



Quy tắc đó phải thoả mãn các tính chất sau:
1.

d(x, y) > 0 nếu x ≠ y

2.


d(x, y) = 0 nếu x = y

3.

d(x, y) = d(y, x) với mọi x, y

4.

d(x, y) <= d(x, z) + d(z, y)

Hàm d(x, y) đƣợc gọi là một metric của không gian. Các phần tử của X
đƣợc gọi là các điểm của không gian này.
Sau đây là một số phép đo độ tƣơng tự áp dụng đối với các kiểu thuộc
tính dữ liệu khác nhau:


Kiểu thuộc tính nhị phân
Thuộc tính nhị phân chỉ có hai giá trị là 0 và 1. Trong đó 0 có nghĩa là sai và

1 có nghĩa là đúng.

y:1

y:0

x: 1






x: 0





+ +


+

+



Nếu ta đặt = +++. Với x, y là đối tƣợng có tất cả
thuộc tính đều ở dạng nhị phân.Trong đó , , , đƣợc hiểu nhƣ
sau:
là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tƣợng x,
y.
là tổng số các thuộc tính có giá trị 1 trong x và 0 trong y.
là tổng số các thuộc tính có giá trị 0 trong x và 1 trong y.
là tổng số các thuộc tính có giá trị là 0 trong cả hai đối tƣợng x, y.
Khi đó độ tƣơng tự đƣợc cho nhƣ
sau:
1.

 


d (x, y) 



Hệ số đối sánh đơn giản:

Ở đây x và y có vai trò nhƣ nhau, tức là chúng đối xứng và cùng trọng số.
2.

Hệ số Jacard:

d (x, y)







Công thức này đƣợc áp dụng trong trƣờng hợp mà trọng số của các thuộc tính
có giá trị 1 lớn hơn rất nhiều các thuộc tính có giá trị 0, tức là các thuộc tính
nhị phân ở đây không đối xứng.


Kiểu thuộc tính khoảng (Interval)
Sau khi chuẩn hóa, độ đo phi tƣơng tự của x và y đƣợc tính bằng các

metric khoảng cách sau:
n


1.

Khoảng cách Minkowski:

d (x, y) 
(x
y


)

1/ q

, q N

*

q
i

i

i1
n

2.

2 1/ 2


Khoảng cách Euclidean: d (x, y)
( xi
yi

)

i1

Nó là trƣờng hợp của khoảng cách Minkowski với q = 2.


n

Khoảng cách Manhattan: d (x, y) (xi yi )

3.

i1

Nó là trƣờng hợp của khoảng cách Minkowski với q = 1.


Kiểu thuộc tính định danh (Nominal)
Độ đo phi tƣơng tự giữa hai đối tƣợng x và y đƣợc xác định qua công

thức:
d (x, y)


p

m
p

Trong đó: m là số thuộc tính đối sánh tƣơng ứng trùng
nhau. p là tổng số các thuộc tính.


Kiểu thuộc tính thứ tự (Ordinal)
Độ đo phi tƣơng tự đƣợc tính thông qua các bƣớc sau:

1.

Gọi f là một thuộc tính thứ tự, giá trị của f ứng với đối tƣợng thứ i
là xif. Giả sử f có Mf trạng thái có thứ tự: 1, 2, …, Mf. Ta thay thế
mỗi xif bởi giá trị tƣơng ứng rif [1,Mf].

2.

Vì mỗi thuộc tính f có thứ tự có số lƣợng các trạng thái khác nhau nên
ta cần làm cho rif thuộc khoảng [0,1] để mỗi thuộc tính đều có cùng trọng
số. Do đó rif đƣợc thay thế
bởi

3.

1
zif 
rif f 1
M


Cuối cùng ta sử dụng công thức tính độ phi tƣơng tự của thuộc tính
khoảng với zif đại diện cho giá trị thuộc tính f của đối tƣợng thứ i.



Kiểu thuộc tính tỷ lệ (Ratio)


Có nhiều cách để tính độ tƣơng tự giữa các thuộc tính tỉ lệ. Một trong


số đó là việc sử dụng công thức tính logarit để chuyển mỗi thuộc tính tỉ lệ
xi về dạng thuộc tính khoảng i = log(xi).
2.3. Các ứng dụng của phân cụm dữ liệu


Thương mại: PCDL có thể giúp các thƣơng nhân khám phá ra các nhóm
khách hàng quan trọng có các đặc trƣng tƣơng đồng nhau và đặc tả họ từ
các mẫu mua bán trong CSDL khách hàng.



Sinh học: PCDL đƣợc sử dụng để xác định các loài sinh vật, phân loại
các gene với chức năng tƣơng đồng và thu đƣợc các cấu trúc trong các
mẫu.



Phân tích dữ liệu không gian: PCDL có thể hỗ trợ giúp ngƣời dùng tự
động phân tích và xử lý các dữ liệu không gian trong kho dữ liệu không

gian đồ sộ.



Lập quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý.



Địa lý: Phân lớp các động vật, thực vật, đƣa ra đặc trƣng của chúng.



Khai phá Web: PCDL có trợ giúp cho việc khám phá tri thức Web, khám
phá ra các mẫu truy cập của khách hàng đặc biệt hay khám phá ra cộng
đồng Web.

2.4. Các phương pháp và thuật toán điển hình liên quan đến phân cụm
dữ liệu không giám sát
2.4.1. Phân cụm phân hoạch
Phƣơng pháp phân cụm phân hoạch nhằm phân một tập dữ liệu có n
phần tử cho trƣớc thành k nhóm dữ liệu, sao cho mỗi phần tử dữ liệu chỉ
thuộc về một nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần
tử dữ liệu. Các thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác


×