Tải bản đầy đủ (.pdf) (55 trang)

Một thuật toán phân cụm mờ khi số cụm không xác định

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.11 MB, 55 trang )




ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




MỘT THUẬT TOÁN PHÂN CỤM MỜ KHI SỐ CỤM
KHÔNG XÁC ĐỊNH



Lận văn Th.S công nghệ thông tin
Bùi Ngọc Thăng




Người hướng dẫn TS: Hoàng Xuân Huấn






Hà Nội 2007






2
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Biểu diễn nhị phân của một chữ cái viết tay 11
Hình 1.2 : Trộn 2 cụm theo thuật toán CURE 19
Hình 2.1: Các cụm mờ 30
Hình 2.2 : reach_dist
k
(p
2
,0) với K=4. 35
Hình 2.3. Điểm đen biểu diễn đối tƣợng. điểm màu đỏ biểu diễn tâm.Error! Bookmark not defined.
Hình 3.1: Tập dữ liệu DB1. 44
Hình 3.2: DB1 đã loại ngoại lai. Điểm hình sao biểu diễn tâm. 44
Hình 3.3: Kết quả phân cụm với Valid Clusters= 9. Các điểm màu đỏ là tâm 45
Hình 3.4: Đồ thị hàm F(k). Với k=9 hàm F(k) đạt giá trị cực đại 45
Hình 3.5: Tập dữ liệu DB2 48
Hình 3.6: Kết quả phân cụm với Valid Clusters= 11. Các tâm là các điểm màu đỏ.49
Hình 3.7: Đồ thị hàm F(k). Với k=11 hàm F(k) đạt giá trị cực đại 49


3
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT


BIRCH
Balanced Iterative Reducing and Clustering using
Hierarchies
NP-Hard

None Polynomial – Hard
EM
Expectation Maximazation
PAM
Partitioning Around Medoids
CLARA
Clustering LARge Applications
AGNES
Agglomerative Nesting (AGNES) Object
DIANA
Divisive Analysis
CURE
Clustering Using Representatives
OPTICS
Ordering Points To Identify the Clustering
Structure
STING
A Statistical Information Grid Approach to Spatial
Data Mining
FCM
Fuzzy C-Means
LOF
Local Outlier Factor
DBSCAN
A Density-Based Algorithm for Discovering
Clusters in Large Spatial Databases with Noise
DB1
Database 1
DB2
Database 2




4
MỤC LỤC
LỜI CẢM ƠN 1
DANH MỤC CÁC HÌNH VẼ 2
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT 3
MỞ ĐẦU 5
CHƢƠNG I. TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 8
1. Giới thiệu 8
2. Biểu diễn dữ liệu 9
2.1 Ma trận mẫu Error! Bookmark not defined.
2.2 Ma trận tƣơng đồng Error! Bookmark not defined.
2.3 Các kiểu dữ liệu và tỷ xích Error! Bookmark not defined.
2.4 Các hàm khoảng cách 11
3. Các thuật toán và các phƣơng pháp phân cụm dữ liệu 13
3.1 Phƣơng pháp dựa vào phân hoạch 13
3.1.1 Thuật toán K-means. 14
3.1.2 Thuật toán phân cụm K-medoids 15
3.2. Các phƣơng pháp phân cụm dựa vào phân cấp 17
3.2.1 Thuật toán BIRCH: Balanced Iterative Reducing and Clustering using
Hierarchies 17
3.2.2 Thuật toán CURE: Clustering Using Representatives 19
3.2.3 Thuật toán CHAMELEON 20
3.3. Các phƣơng pháp dựa vào mật độ. 20
3.4. Các phƣơng pháp phân cụm dựa trên lƣới 24
CHƢƠNG II. TIỀN XỬ LÝ VÀ CẢI TIẾN KHỞI TẠO CHO THUẬT TOÁN
PHÂN CỤM DỮ LIỆU MỜ 30
1. Tổng quan về phân cụm dữ liệu mờ 30

2. Phƣơng pháp loại bỏ phần tử ngoại lai. 34
3. Các vấn đề trong thuật toán FCM và cách khắc phụcError! Bookmark not defined.
Chƣơng III. ƢỚC LƢỢNG SỐ CỤM 37
1. Tổng quan về ƣớc lƣợng số lƣợng cụm 39
2. Hàm đánh giá ƣớc lƣợng số cụm 41
3. Kết quả thực nghiệm 43
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 52
TÀI LIỆU THAM KHẢO 54


5
MỞ ĐẦU

Bài toán phân cụm dữ liệu thuộc lĩnh vực học không giám sát, nhằm phân
tập dữ liệu thành các tập con, thỏa mãn điều kiện các đối tƣợng trong cũng một
tập con có độ tƣơng đồng cao, và ngƣợc lại các đối tƣợng ở các tập con khác nhau
thì có độ tƣơng đồng thấp. Hay nói cách khác, bài toán phân cụm dữ liệu là bài
toán khám phá cấu trúc của tập dữ liệu. Tùy theo đặc điểm cấu trúc của tập dữ liệu
và mục đích sử dụng, có các phƣơng pháp giải quyết khác nhau nhƣ: Phân cụm
dựa vào phân hoạch, phân cụm theo phân cấp, phân cụm dựa vào mật độ và phân
cụm dựa vào lƣới.
Tƣ tƣởng của phƣơng pháp phân hoạch là tìm cách phân chia tập dữ liệu
thành các tập không giao nhau, thỏa mãn điều kiện làm tối ƣu hàm đánh giá.
Trong mỗi tập con thƣờng có ít nhất một phần tử đại diện, phần tử đại diện có thể
là tâm của tập con đó. Mỗi đối tƣợng trong tập dữ liệu đƣợc phân vào cụm có
điểm đại diện gần với đối tƣợng đó nhất. Quá trình này lặp đi lặp lại cho tới khi
hàm mục tiêu không thay đổi. Có nhiều thuật toán áp dụng phƣơng pháp này nhƣ:
K-Means, K-Medoids, EM. Các phƣơng pháp phân cụm theo phân hoạch có thể
phân cụm dữ liệu với thời gian rất nhanh đối với các tập dữ liệu lớn tuy nhiên nó
có thể phân cụm sai trong trƣờng hợp hình dạng các cụm không phải là hình cầu,

hoặc dữ liệu chứa nhiễu và yêu cầu phải xác định trƣớc số lƣợng cụm.
Phƣơng pháp phân cấp phân tách các tập đối tƣợng theo hai cách: “Bottom -
Up” hoặc “Top - Down”. Tiếp cận “Bottom – Up” bắt đầu với mỗi đối tƣợng đƣợc
xem nhƣ một nhóm, sau đó trộn các đối tƣợng hay các nhóm theo các hàm nhƣ
hàm khoảng cách giữa các tâm của hai nhóm và điều này đƣợc thực hiện cho tới
khi tất cả các nhóm đƣợc trộn vào làm một nhóm hoặc cho tới khi điều kiện kết
thúc đƣợc thỏa mãn. Tiếp cận theo phƣơng pháp “Top-Down”, bắt đầu với tất cả
các đối tƣợng nằm trong cùng một cụm. Trong mỗi lần lặp, một cụm đƣợc tách ra
thành các cụm nhỏ hơn theo một ƣớc lƣợng nào đó. Điều này đƣợc thực hiện cho
tới khi mỗi đối tƣợng là một cụm, hoặc cho tới khi điều kiện kết thúc thỏa mãn.
Các thuật toán áp dụng phƣơng pháp này là : BIRCH, CURE, CHAMELEON.
Phần lớn các phƣơng pháp phân cụm các đối tƣợng dựa trên khoảng cách
giữa các đối tƣợng (thƣờng sử dụng khoảng cách Euclidean). Vì thế có thể chỉ tìm
thấy các cụm có dạng hình cầu và sẽ khó khăn khi khám phá các cụm có hình
dạng bất kỳ.
Đối với các phƣơng pháp đƣợc phát triển dựa trên quan niệm về mật độ.
Các cụm tiêu biểu đƣợc xét là các vùng có các đối tƣợng tập trung đậm đặc và


6
đƣợc phân chia bởi các vùng có mật độ thấp (đặc trƣng cho nhiễu). Các phƣơng
pháp dựa trên mật độ có thể sử dụng để lọc ra các nhiễu (phần tử ngoại lai), và
khám phá ra các cụm có hình dạng bất kỳ.
Các phƣơng pháp phân cụm dựa trên mật độ thƣờng sử dụng hai tham số là
Eps và Minpts để xác định các cụm có thể đƣợc khám phá. Mật độ là số các đối
tƣợng lân cận của một đối tƣợng dữ liệu theo một ngƣỡng nào đó. Với phƣơng
pháp này, khi xác định đƣợc một cụm dữ liệu thì việc phát triển thêm các đối
tƣợng mới thực hiện bằng cách kiểm tra xem số các đối tƣợng lân cận (Minpts)
của đối tƣợng này phải lớn hơn ngƣỡng Eps cho trƣớc.


Để nâng cao chất lƣợng của phân cụm, cách tiếp cận dựa trên lƣới sử dụng
cấu trúc lƣới của dữ liệu. Nó lƣợng tử hóa khoảng cách vào một số hữu hạn các ô
là cấu trúc dạng lƣới để tất cả các phép toán phân cụm thực hiện đƣợc. Ƣu điểm
chính của cách tiếp cận này là nó xử lý nhanh đặc biệt phụ thuộc vào số lƣợng của
các đối tƣợng dữ liệu, chỉ phụ thuộc vào số lƣợng các ô ở mỗi chiều trong không
gian lƣợng hóa.

Để nắm bắt hình dạng tự nhiên của cụm và tránh sự ảnh hƣởng của các
phần tử ngoại lai tốt hơn, các thuật toán phân cụm mờ đƣợc đề xuất và đã cung
cấp một cách tiếp cận khác để tìm kiếm cấu trúc của tập dữ liệu. Một trong những
đặc điểm chính của các thuật toán này là nắm bắt tính chất chƣa rõ ràng của dữ
liệu thực. Do đó, ngƣời sử dụng đƣợc cung cấp thêm thông tin về cấu trúc trong
tập dữ liệu để có thể phân cụm bằng một mô hình không mờ. Thuật toán phân cụm
dữ liệu mờ, cũng nhƣ các thuật toán dựa vào phân hoạch và phân cấp đòi hỏi
ngƣời sử dụng phải cung cấp số lƣợng cụm của tập dữ liệu. Đối với một tập dữ
liệu thông thƣờng thì chúng ta chƣa biết trƣớc số cụm, và ngƣời sử dụng thƣờng
không phải là chuyên gia để đánh giá số cụm, vì vậy một câu hỏi đƣợc đặt ra là
làm thế nào để phân cụm dữ liệu với số cụm chƣa biết trƣớc ?. Làm thế nào để tìm
kiếm tối ƣu số lƣợng cụm ?. Đối với các tập dữ liệu phức tạp thì sao?
Do đó, để có thể giải quyết đƣợc các vấn đề nêu trên trong luận văn sẽ đề
xuất một phƣơng pháp phân cụm dữ liệu mờ với số cụm không xác định. Thuật
toán này đầu tiên sẽ loại bỏ phần tử ngoại lại ra khỏi tập dữ liệu, cải tiến khởi tạo
tâm ban đầu cho thuật toán phân cụm mờ K-Means, với K là chạy trong một
khoảng cho trƣớc. Để xác định giá trị K đúng với số lƣợng cụm thực của tập dữ
liệu, tôi đề xuất hàm đánh giá chất lƣợng phân cụm cho các kết quả phân cụm của
thuật toán phân cụm mờ K-Means tƣơng ứng với mỗi giá trị của K.


7
Vì vậy, luận văn đƣợc trình bày thành 4 chƣơng. Nội dung chính trong các

chƣơng đƣợc trình bày nhƣ sau:
Chƣơng 1 trình bày cách biểu diễn dữ liệu trong máy tính nhằm phục vụ
cho quá trình phân cụm, giới thiệu độ tƣơng đồng giữa các đối tƣợng trong tập dữ
liệu, các phƣơng pháp phân cụm dữ liệu. Với mỗi phƣơng pháp phân cụm sẽ trình
bày một số thuật toán tƣơng ứng.
Chƣơng 2 trình bày về thuật toán phân cụm dữ liệu mờ, phƣơng pháp phát
hiện các phần từ ngoại lại dựa vào đặc trƣng ngoại lai cục bộ trong tập dữ liệu.
Chƣơng 3 trình bày về đề xuất thuật toán phân cụm mờ với số cụm chƣa
xác chƣa xác định. Cụ thể, luận văn sẽ trình bày phƣơng pháp loại bỏ phần tử
ngoại lại trƣớc khi phân cụm, cải tiến khởi tạo tâm ban đầu cho thuật toán phân
cụm mờ K-Means, đề xuất hàm đánh giá chất lƣợng phân cụm của thuật toán phân
cụm mờ với K chạy trong đoạn cho trƣớc. Cũng trong chƣơng này, luận văn sẽ
trình bày kết quả thực nghiệm đối với hai tập dữ liệu, đồng thời so sánh chất
lƣợng phân cụm đối với hai hàm đánh giá chất lƣợng cụm là Index Partition, và
Entropy Partition.
Cuối cùng là chƣơng kết luận, hƣớng phát triển và tài liệu tham khảo.


8
CHƢƠNG I. TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU

1. Giới thiệu
Phân cụm dữ liệu là một kỹ thuật quan trọng trong công nghệ tri thức đƣợc
ứng dụng rộng rãi và đa dạng trong các ngành khoa học nhƣ sinh học, tâm lý
học, y học, ngành marketing, thị giác máy tính, và điều kiển học v.v. Phân cụm dữ
liệu tổ chức dữ liệu bằng cách nhóm các đối tƣợng có độ tƣơng đồng cao để khám
phá cấu trúc của dữ liệu mà không yêu cầu các giả thiết cho trƣớc từ các phƣơng
pháp thống kê. Mục tiêu của phƣơng pháp phân cụm dữ liệu chỉ đơn giản là tìm
kiếm các nhóm đối tƣợng theo hình dạng tự nhiên. Các thuật toán phân cụm
hƣớng tới việc tìm kiếm cấu trúc trong dữ liệu. Phƣơng pháp này còn đƣợc gọi là

“học không thầy” hay “học không có giám sát” (Unsupervised Learning) trong
lĩnh vực nhận dạng mẫu (Pattern Recognition) nói riêng và trong trí tuệ nhân tạo
nói chung [1].
Một cụm bao gồm một tập các đối tƣợng có độ tƣơng đồng cao. Định nghĩa
về cụm đƣợc phát biểu một cách không hình thức nhƣ sau: Một cụm là một tập
các thực thể (các đối tƣợng) tƣơng tự nhau, và các thực thể ở các cụm khác nhau
thì không giống nhau.
Tùy vào từng ứng ứng dụng, đặc tính của dữ liệu và từng phƣơng pháp phân
cụm cụ thể, chúng ta có thể xem xét các dữ liệu nhƣ là các điểm trong không gian
thỏa mãn điều kiện khoảng cách giữa hai điểm bất kỳ trong một cụm bé hơn
khoảng cách giữa một điểm bất kỳ trong cụm đó với một điểm bất kỳ không thuộc
cụm hoặc các cụm có thể đƣợc mô tả nhƣ là các vùng chứa các đối tƣợng có mật
độ cao trong không gian nhiều chiều, đƣợc tách với các vùng chứa các đối tƣợng
có mật độ thấp hơn.
Chúng ta có thể dễ dàng phát biểu không hình thức về một cụm, nhƣng lại
rất khó để có thể đƣa ra một định nghĩa hình thức về cụm. Bởi vì thực tế thì các
đối tƣợng đƣợc nhóm vào trong các cụm theo các mục đích khác nhau trong từng
ứng dụng. Dữ liệu có thể cho thấy các cụm theo hình dạng và theo các kích thƣớc
cụm.
Các phƣơng pháp phân cụm dữ liệu thƣờng đƣợc chia làm 4 loại : Phƣơng
pháp dựa vào phân hoạch ( Partition Based Data Clustering Method), phƣơng
pháp phân cấp (Hierarchical Based Data Clustering Method), phƣơng pháp dựa
trên mật độ (Density Based Data Clustering Method), phƣơng pháp dựa trên lƣới
(Grid Based Data Clustering Method). Cụ thể của dữ liệu Các phƣơng pháp phân
cụm này sẽ đƣợc trình bày chi tiết phần 4 của chƣơng này.


9
Các vấn đề liên quan tới bài toán phân cụm dữ liệu là vấn đề biểu diễn dữ
liệu trong máy tính, xác định phƣơng pháp, từ đó đƣa ra thuật toán cụ thể để áp

dụng, đồng thời xác định độ tƣơng đồng giữa các đối tƣợng. Đối với các thuật
toán trong phƣơng pháp dựa vào phân hoạch thì chúng ta còn phải xây dựng hàm
đánh giá phù hợp để thuật toán cho ra kết quả phân cụm tốt.

2. Biểu diễn dữ liệu
Điều kiện đầu tiên của tất cả các ứng dụng áp dụng thuật toán phân cụm dữ
liệu là trích chọn các đặc trƣng cần thiết của các đối tƣợng trong tập dữ liệu liệu
thực, các đối tƣợng phải đƣợc biểu diễn dƣới dạng dữ liệu, tức chúng ta phải xác
định các kiểu dữ liệu cho các thuộc tính của đối tƣợng. Các thuật toán phân cụm
đƣợc áp dụng cho từng kiểu dữ liệu. Phân cụm dữ liệu là một công cụ để khai thác
dữ liệu và phải đƣợc bổ sung các kỹ thuật để hiển thị dữ liệu. Hầu hết việc hiển thị
dữ liệu là các biểu đồ biểu diễn dữ liệu trong không gian 2 chiều ( 2 đặc trƣng) để
biểu diễn các đối tƣợng. Dữ liệu nhiều chiều không phải luôn luôn chính xác khi
tạo ra hiển thị bởi một dãy các biểu đồ trong hai chiều, nhƣng với tính hợp lệ thì
việc biểu diễn này sẽ thuận lợi cho quá trình kiểm chứng các kết quả của các thuật
toán phân cụm dữ liệu.
Kiểu dữ liệu cung cấp mức độ lƣợng hóa dữ liệu. Một đặc trƣng có thể là
kiểu nhị phân, có kiểu rời rạc, hoặc liên tục. Các đặc trƣng kiểu nhị phân có chính
xác hai giá trị. Đặc trƣng nhận giá trị rời rạc là đặc trƣng có hữu hạn giá trị, lực
lƣợng của tập giá trị mà đặc trƣng rời rạc nhận đƣợc thƣờng là nhỏ. Ví dụ các mẫu
của tín hiệu tiếng nói đƣợc lƣợng hóa bởi 2
4
mức, vì vậy biểu điễn một đặc trƣng
cho một mẫu có thể đƣợc mã hóa bởi 4 bít. Tất cả các đại lƣợng và các số đƣợc
lƣu trong máy tính với số lƣợng hữu hạn các số có nghĩa, vì vậy, nói đúng ra tất cả
các đặc trƣng đều nhận giá trị rời rạc. Tuy nhiên thƣờng thuật tiện hơn khi nghĩ
rằng khi giá trị đặc trƣng nhƣ là một điểm trên đƣờng thẳng thực, một điểm có thể
nhận một giá trị thực bất kỳ trong một miền giá trị xác định. Do đó, đặc trƣng này
đƣợc gọi đặc trƣng nhận giá trị liên tục.
Tính chất thứ hai của đặc trƣng là mức tỷ xích dữ liệu, nó cho biết ý nghĩa

của các số. Mức tỷ xích dữ liệu có thể phân chia thành mức tỷ xích định tính (định
danh và số thứ tự) và mức tỷ xích định lƣợng (khoảng, tỷ lệ). Mức tỷ xích định
danh chỉ đơn giản là các số đƣợc sử dụng nhƣ là các tên. Ví dụ, câu trả lời (yes,
no) có thể đƣợc mã hóa là (0,1) hoặc (1,0) hoặc (50,100); các số này không mang
một ý nghĩa nào trong việc định tính. Với mức tỷ xích theo số thứ tự, mức chia số
yếu nhất, các số chỉ mang một ý nghĩa với một số khác. Ví dụ các mức tỷ xích
(1,2,3), (10,20,30) là tƣơng đƣơng theo các quan điểm của số thứ tự. Các đặc


10
trƣng và các chỉ số tƣơng đồng nhận giá trị nhị phân và giá trị rời rạc có thể đƣợc
mã hóa trên những mức tỷ xích định tính này.

Phân biệt các số mang ý nghĩa trong một mức chia khoảng (interval Scale),
một đơn vị tính tồn tại, việc biểu diễn các số phụ thuộc vào đơn vị này.
Tỷ xích mạnh nhất là tỷ xích theo tỷ lệ, các số mang một ý nghĩa tuyệt đối.
Điều này có nghĩa là số 0 tồn tại với một đơn vị đo lƣờng, vì vậy tỷ lệ giữa hai số
mang ý nghĩa. Ví dụ, khoảng cách giữa hai thành phố đƣợc ƣớc lƣợng trong đơn
vị là mét, dặm, hoặc là inches.

Khi đã xác định đƣợc kiểu dữ liệu các đặc trƣng của các các đối tƣợng.
Chúng ta phải đƣa ra cấu trúc dữ liệu để biểu diễn tập đối tƣợng cần phân cụm.
Thông thƣờng tập dữ liệu đƣợc biểu diễn dƣới dạng ma trận gọi là ma trận mẫu.
Chúng ta có thể đƣa ra khái niệm về ma trận mẫu nhƣ sau:

Nếu mỗi đối tƣợng trong một tập gồm n đối tƣợng đƣợc biểu diễn bởi một
tập d thuộc tính, mỗi đối tƣợng đƣợcc xem nhƣ một mẫu, hay là một vectơ d
chiều. Tập hợp này đƣợc xem nhƣ một ma trận mẫu kích thƣớc n*d. Mỗi dòng của
ma trận này xác định một mẫu và mỗi cột tƣơng ứng với một đặc trƣng. d đặc
trƣng đƣợc minh họa nhƣ một tập gồm d trục trực giao với nhau. N mẫu là các

điểm nằm trong không gian d chiều, không gian này còn đƣợc gọi là không gian
mẫu. Chúng ta sử dụng từ “mẫu” nhƣ là một điểm trong không gian mẫu, không
mô tả topô của các đối tƣợng. Một cụm đƣợc biểu diễn là một tập các mẫu gần
nhau hoặc là các đối tƣợng thỏa mãn các quan hệ không gian. Nhiệm vụ của các
thuật toán phân cụm dữ liệu là nhận ra các nhóm tự nhiên trong các không gian
nhiều chiều. Mặc dù quá trình hiển thị dữ liệu bị hạn chế trong không gian 3
chiều, nhƣng không đƣợc nghĩ rằng các bài toán phân cụm dữ liệu trong không
gian nhiều chiều cũng tƣơng tự nhƣ phân cụm dƣ liệu trong 2 hoặc 3 chiều. Một
tiện lợi của phân cụm dữ liệu là giúp chúng ta tổ chức dữ liệu nhiều chiều khi dữ
liệu không thể biểu diễn trong 2 hoặc 3 chiều.


11

Hình 1.1 Hiển thị nhị phân của một chữ cái viết tay
3. Độ tƣơng đồng
Phân cụm dữ liệu là phƣơng pháp nhóm các đối tƣợng có độ tƣơng tự hay
độ tƣơng đồng cao vào trong một nhóm, các đối tƣợng ở các nhóm khác nhau thì
có độ tƣơng đồng thấp. Độ tƣơng đồng giữa các đối tƣợng mô tả tính chất giống
hoặc khác nhau giữa chúng theo một ý nghĩa nào đó. Có rất nhiều hàm đƣợc dùng
để biểu diễn độ tƣơng đồng giữa các đối tƣợng. Tuy nhiên, trong khuôn khổ của
luận văn, phần này chỉ trình bày một số các hàm đo tƣơng đồng phổ biến hay còn
gọi là các hàm khoảng cách. Khoảng cách giữa hai mẫu thứ i và mẫu thứ k ký hiệu
là d(i,k) phải thỏa mãn các tính chất sau:
1. d(i,i)=0 với mọi i.
2. d(i,k)=d(k,i) với mọi cặp (i,k).
3. d(i,k)>=0 với mọi cặp (i,k).
Hàm đánh giá độ tƣơng đồng có thể đƣợc xác định theo một số cách. Giả sử
rằng chúng ta có một ma trận mẫu [x
ij

] với x
ij
là giá trị của đặc trƣng thứ j của mẫu
i. Tất cả các đặc trƣng là liên tục và đƣợc ƣớc lƣợng theo tỷ xích tỷ lệ. Hàm
khoảng cách phổ biến là khoảng cách Minkowski [1] dùng để ƣớc lƣợng độ bất
tƣơng đồng. Mẫu thứ i tƣơng ứng với dòng thứ i của ma trận mẫu đƣợc ký hiệu là
một vector cột x
i
.
nixxxx
T
iniii
, ,2,1,), ,,(
21


Với d là số đặc trƣng, n là số lƣợng mẫu, T ký hiệu là vector chuyển vị.
Khoảng cách Minkowski đƣợc định nghĩa nhƣ sau:
r
d
j
r
kjij
xxkid
/1
1
)||(),(




với r>=1


12
Các hàm khoảng cách Minkowski thỏa mãn tính chất các tính chất sau:
4. d(i,k)=0 nếu và chỉ nếu x
i
=x
k

5. d(i,k)
),(),( kmdmid 
với mọi (i,m,k) Bất đẳng thức tam giác
Có ba khoảng cách phổ biến sử dụng khoảng cách Minkowsky đƣợc định
nghĩa nhƣ sau:
Khoảng cách Euclidean (r=2):
2/12/1
1
2
)]()[()||(),(
ki
T
ki
d
j
kjij
xxxxxxkid 




Khoảng cách Manhattan (r=1)
)||(),(
1



d
j
kjij
xxkid

Khoảng cách Max (r

):
|)|
1
max
(),(
kjij
xx
dj
kid 



Khoảng cách Euclidean là chuẩn đƣợc dùng phổ biến nhất trong các chuẩn
theo khoảng cách Minkowski [1]. Các khái niệm hình học quen thuộc về tính bất
biến của phép tịnh tiến và phép quay của không gian mẫu là phù hợp với chuẩn
Euclidean. Các ứng dụng cụ thể tác động lớn đến việc chọn ra hàm khoảng cách
nào đƣợc sử dụng.

Ngoài các hàm khoảng cách đƣợc sử dụng để đánh giá độ tƣơng đồng của
các đối tƣợng nêu trên còn có rất nhiều cách đánh giá độ tƣơng đồng khác, tùy
thuộc vào tính chất của tập dữ liệu.
Để biểu diễn độ tƣơng đồng của tất cả các đối tƣợng trong tập dữ liệu,
ngƣời ta thƣờng sử dụng ma trận để lƣu lại giá trị tƣơng đồng giữa các cặp đối
tƣợng. Ma trận này đƣợc gọi là ma trận tƣơng đồng. Có thể đƣa ra khái niệm về
ma trận tƣơng đồng nhƣ sau:
Ma trận tƣơng đồng [d(i,j)] lƣu giá trị tƣơng đồng trong một ma trận, mỗi
dòng và mỗi cột của ma trận biểu diễn một mẫu. Trong đó d(i,j) là độ tƣơng tự
giữa mẫu thứ i và mẫu thứ j. Chúng ta bỏ qua các giá trị nằm trên đƣờng chéo
chính của ma trận tƣơng đồng khi chúng ta giả sử rằng tất cả các mẫu có cùng
mức độ tƣơng đồng với chính nó. Chúng ta cũng giả sử rằng ma trận tƣơng đồng
là ma trận có tính đối xứng, tất cả các cặp đối tƣợng có cùng một giá trị tƣơng
đồng, không phụ thuộc vào thứ tự sắp xếp.
Một ma trận tƣơng đồng có thể là đƣợc gọi là ma trận độ tƣơng tự hoặc
cũng có thể gọi là ma trận bất tƣơng đồng
Các giá trị tƣơng đồng cũng có thể là nhận giá trị nhị phân, rời rạc hoặc
nhận giá trị liên tục. Ví dụ, giả sử rằng một tập đối tƣợng đƣợc phân hoạch vào
các tập con. Giá trị nhị phân đo độ tƣơng đồng phân nhận giá trị 0 với các cặp đối


13
tƣợng ở hai tập con khác nhau và nhận giá trị bằng 1 với các cặp ở cùng một tập
con. Nếu giá trị tƣơng đồng là một số nguyên từ 1 tới n(n-1)/2 với n là số lƣợng
các đối tƣợng đƣợc xem là ma trận tƣơng đồng nhận giá trị rời rạc. Nếu ma trận
tƣơng đồng mà các phần tử nhận giá trị là khoảng cách Euclidean giữa các mẫu
trong không gian mẫu thì đƣợc xem là ma trận tƣơng đồng nhận giá trị liên tục.
Các thuật toán phân cụm nhóm các đối tƣợng, hay các dữ liệu thành phần
dựa trên độ tƣơng đồng giữa các cặp đối tƣợng. Các đối tƣợng đƣợc gọi là các
điểm, các trƣờng hợp, các thành phần trong các ứng dụng khác nhau.


4. Các phƣơng pháp và các thuật toán phân cụm dữ liệu
Phân cụm dữ liệu biểu diễn mỗi quan hệ giữa các đối tƣợng trong ma trân
tƣơng đồng. Nếu các đối tƣợng đƣợc đặc tả nhƣ là các mẫu hoặc các điểm trong
không gian metric, thì độ tƣơng đồng có thể là khoảng cách giữa các cặp đối
tƣợng, nhƣ là khoảng cách Euclidean. Ma trận mẫu và ma trận tƣơng đồng là
những dữ liệu vào cho các thuật toán phân cụm. Đã có rất nhiều thuật toán phân
cụm đƣợc xây dựng nhằm áp dụng vào các mục đích cụ thể. Các thuật toán này có
thể đƣợc phân vào một trong 4 phƣơng pháp sau đây [2]:
1. Phƣơng pháp dựa vào phân hoạch( Partition Based Data Clustering
Method).
2. Phƣơng pháp phân cấp (Hierarchical Based Data Clustering Method).
3. Phƣơng pháp dựa trên mật độ (Density Based Data Clustering
Method).
4. Phƣơng pháp dựa trên lƣới (Grid Based Data Clustering Method).
4.1 Phƣơng pháp dựa vào phân hoạch
Các thuật toán dựa vào phân hoạch để phân cụm dữ liệu là các thuật toán rất
phổ biến trong lĩnh vực phân cụm. Cho một tập D gồm n đối tƣợng trong không
gian d chiều, và một giá trị K là số lƣợng cụm. Một thuật toán phân hoạch tổ chức
các đối tƣợng vào trong K cụm thỏa mãn điều kiện tổng sai số về độ lệch của mỗi
đối tƣợng tới tâm của nó hoặc từ phân bố của một cụm là nhỏ nhất. Các thuật toán
phân cụm khác nhau thì thƣờng sử dụng các độ lệch khác nhau. Ngƣời ta thƣờng
gọi độ lệch này là độ tƣơng đồng.
Trong phần này sẽ giới thiệu các thuật toán phân cụm dựa vào phân hoạch
sau: Thuật toán K-Means (MacQueen, 1967), Thuật toán EM (Expectation
Maximazation) (Dempster et al.,1977; Yu et al.,1998; Braley et al 1998), thuật
toán K-medoids. Ba thuật toán này có các cách biểu diễn các cụm khác nhau.
Thuật toán K-Means sử dụng tâm (điểm trung bình) của các đối tƣợng trong một



14
cụm làm tâm của cụm đó trong khi thuật toán K-Medoids sử dụng đối tƣợng gần
điểm trung bình nhất làm tâm. Không giống nhƣ thuật toán K-Means và K-
Medoid, thuật toán EM sử dụng điểm trung bình và ma trận hệ số kích thƣớc d*d
biểu diễn mỗi cụm. Thay thế cho việc kết gán mỗi đối tƣợng tới một tâm duy nhất,
thuật toán EM kết gán mỗi đối tƣợng tới một cụm theo một xác xuất đƣợc tính
toán từ phân bố của mỗi cụm. Theo cách này, mỗi đối tƣợng có một xác xuất cho
mỗi cụm, tạo ra kỹ thuật phân hoạch mờ: Thuật toán Fuzzy K-Means. Thuật toán
phân cụm mờ K – Means sẽ đƣợc trình bày chi tiết trong chƣơng II.
Mặc dù các thuật toán phân cụm khác nhau tạo ra kết quả phân cụm nói
chung là khác nhau, tuy nhiên ba thuật toán phân hoạch đều có một tiếp cận chung
khi tính toán các lời giải của chúng. Thật vậy, quan sát ba thuật toán tìm kiếm K
tâm và các phân bố để làm tối ƣu hàm mục tiêu. Một khi đã xác định đƣợc K tâm
hay các phân bố tối ƣu, các đối tƣợng trong K cụm đƣợc xác định. Tuy nhiên, để
tìm kiếm K tâm hay các phân bố tối ƣu là một bài toán NP-Hard (Garey và
Johnson,1979). Do đó, một cách để tìm ra các tâm tối ƣu cục bộ phải dùng pháp
cập nhật tâm nhiều lần cho đến hàm mục tiêu đạt giá trị cực tiểu. Ba thuật toán
này có các hàm mục tiêu khác nhau và các cách thực hiện khác nhau đƣợc thể hiện
ở bƣớc 3 và 4 của thuật toán A. Một trở ngại của các thuật toán dựa vào phân
hoạch là yêu cầu phải tham số K phải biết trƣớc và chúng không có khả năng để
tìm kiếm các cụm theo hình dạng bất kỳ. Chúng ta sẽ xem xét các thuật toán một
cách chi tiết hơn.
Thuật toán A :
Input: số lƣợng cụm K, và một cơ sở dữ liệu chứa N đối tƣợng.
Outut: một tập gồm K cụm thỏa mãn điều kiện cực tiểu hóa hàm mục tiêu
E.
Phƣơng pháp:
1) Khởi tạo chọn ngẫu nhiên K tâm cho lời giải ban đầu.
2) repeat
3) phân hoạch các đốii tƣợng trong cơ sở dữ liệu theo lời giải hiện tại.

4) cập nhật các tâm theo các đối tƣợng đã đƣợc phân hoạch ở bƣớc 3.
5) until (không thay đổi hàm E);
4.1.1 Thuật toán K-means
Thuật toán K-means (MacQueue, 1967) sử dụng giá trị trung bình của các
đối tƣợng trong một cụm là tâm cụm. Hàm mục tiêu đƣợc sử dụng trong thuật
toán là hàm sai số bình phƣơng đƣợc định nghĩa nhƣ sau:
 
 

k
i Cx
i
i
mxE
1
2
||



15
Với x là một điểm trong không gian biểu diễn các đối tƣợng, và m
i
là giá trị
trung bình của cụm C
i
.
Thuật toán K-means cơ bản dựa theo cấu trúc của thuật toán A. Trong bƣớc
3 của thuật toán, K-means gán mỗi đối tƣợng và trong tâm gần nhất của nó tạo ra
tập các cụm mới. Trong bƣớc 4, tất cả các tâm của cụm mới đƣợc tính toán bằng

giá trị trung bình của các đối tƣợng trong mỗi cụm. Quá trình này lặp đi lặp lại
cho tới khi hàm mục tiêu E không thay đổi.
Thuật toán K-means là tƣơng đối mềm dẻo và hiệu quả trong việc xử lý các
tập dữ liệu lớn bởi vì độ phức tạp tính toán của thuật toán là O(NKt), với N là tổng
số các đối tƣợng, K là số lƣợng cụm, và t là số vòng lặp. Thông thƣờng thì K<<N
và t<<N. Thuật toán dừng khi đạt đƣợc lời giải cục bộ.
Nhƣợc điểm của thuật toán K-means sẽ phân cụm tồi khi dữ liệu chứa nhiễu
và các phần tử ngoại lại, chỉ cần một số lƣợng nhỏ dữ liệu nhiễu nhƣ thế cũng đã
ảnh hƣởng tới giá trị trung bình.
4.1.2 Thuật toán phân cụm K-medoids
Không giống nhƣ thuật toán K-means và thuật toán EM, thuật toán K-
medoids sử dụng đối tƣợng trong một cụm là tâm cụm đó để thay thế cho việc lấy
giá trị trung bình của các đối tƣợng trong một cụm. Điều này làm cho thuật toán
K-medoids tránh đƣợc nhiễu và phần tử ngoại lai. Tuy nhiên, độ phức tạp của
thuật toán này cao hơn độ phức tạp của thuật toán K-means.
Để thực hiện bƣớc 4 trong thuật toán A, thuật toán K-medoids trƣớc đây
nhƣ PAM ( Partitioning Around Medoids ) (Kaufman & Rousseeuw, 1990) lặp tất
cả K tâm và cố gắng thay thế mỗi tâm bởi N-K đối tƣợng còn lại. Với mỗi sự thay
thế này, nếu hàm sai số bình phƣơng E giảm, thì sự thay thế đƣợc giữ lại, và vòng
lặp tiếp theo của thuật toán A đƣợc thực hiện. Tuy nhiên, nếu không có sự thay thế
nào đƣợc tìm thấy sau khi đã thực hiện xong K tâm, tức là không làm giảm hàm E
thì thuật toán sẽ kết thúc với nghiệm tối ƣu cục bộ.
Do độ phức tạp lớn nên thuật toán phân hoạch nhƣ PAM chỉ thực hiện hiệu
quả đối với các tập dữ liệu nhỏ, nhƣng sẽ không phù hợp với các tập dữ liệu lớn.
Để thực hiện với các tập dữ liệu lớn, phƣơng pháp phân cụm dựa trên mẫu
(Sampling – based method) là CLARA (Clustering LARge Applications) đã đƣợc
phát triển bởi Kaufman & Rousseeuw. Thuật toán chọn một phần của dữ liệu thực
làm mẫu thay cho việc xem toàn bộ tập dữ liệu. Các tâm đƣợc chọn từ các mẫu sử
dụng thuật toán PAM và độ bất tƣơng đồng trung bình đƣợc tính cho toàn bộ tập
dữ liệu. Nếu có một tập các tâm mới có độ bất tƣơng đồng thấp hơn lời giải tốt

nhất trƣớc đó, thì lời giải tốt nhất đƣợc thay thế bởi tập tâm mới này, chi tiết thuật
toán xem ở [2].


16
4.1.3 Thuật toán EM (Expectation Maximization)
Thay thế việc mỗi một cụm sử dụng một điểm, Thuật toán EM biểu diễn
mỗi cụm bằng cách sử dụng phân bố xác xuất. Phân bố Gaussian thƣờng đƣợc sử
dụng bởi vì lý thuyết ƣớc lƣợng mật độ (Density Estimation Theory), một phân bố
một độ bất kỳ cũng có thể xấp xỉ bởi sự kết hợp của các phân bố Gaussian. Phân
bố Gaussian d chiều biểu diễn một cụm C
i
bằng cách tham số hóa bởi giá trị trung
bình của cụm
i

và ma trận hệ số
dd 
. Với một phân bố cụm C
i
, xác xuất để xuất
hiện đối tƣợng tại vị trí x đƣợc ký hiệu là
)|( ixP
với:
)|( ixP
=
)()()(
2
1
1

||)2(
1
ii
T
i
xMx
i
d
e
M




(2)
Với ký hiệu T là ký hiệu của chuyển vị tới vector dòng, |M
i
| là định thức của
ma trận M
i
và M
i
-1
là ma trận nghịch đảo. Bằng cách kết hợp các phân bố khác
nhau tại x, hàm mật độ xác xuất của mô hình hỗn hợp sẽ là:
P(x)=


k
i

i
ixPW
1
)|(
(3)
Với W
i
là một phần cơ sở dữ liệu đƣợc biểu diễn bởi C
i
. Một đối tƣợng
trong thuật toán phân cụm EM có thể là thành viên của mỗi cụm trong K cụm với
các xác xuất khác nhau. Xác xuất của mỗi đối tƣợng x nằm trong cụm C
i
đƣợc
tính toán nhƣ sau:
)|( xiP
=
)(
)|(
xP
ixP
W
i
(4)
Trong thuật toán A, sau khi khởi tạo ngẫu nhiên, thuật toán EM sẽ tính toán
độ phụ thuộc của mỗi đối tƣợng trong bƣớc 3 bằng cách áp dụng công thức 2 và 4.
Các giá trị mới của W
i
,
i


, M
i
đƣợc tính toán trong bƣớc 4 bằng cách sử dụng
công thức sau: W
i
=

Dx
xiP
n
)/(
1
(5)





Dx
Dx
i
xiP
xiPx
)|(
)|(.

(6)
M
i

=





Dx
Dx
T
ii
xiP
xxxiP
)|(
))()(|(

(7)
Với hàm mục tiêu, thuật toán EM cố gắng làm cực đại hàm log Likehood
của mô hình hỗn hợp :
E=

Dx
xP ))(log(
(8)


17
Khi hàm E tăng không đáng kể giữa hai vòng lặp liên tiếp nhau thì thuật
toán dừng. Cũng giống nhƣ hai thuật toán K-means và K-medoids, thuật toán EM
hội tụ tới tối ƣu cục bộ.
4.2. Các phƣơng pháp phân cụm dựa vào phân cấp

Phƣơng pháp phân cấp tạo phân tách các tập đối tƣợng theo dạng rẽ nhánh –
một cây tách cơ sở dữ liệu một cách đệ quy vào các tập con nhỏ hơn. Quá trình tạo
cây theo hai cách: “Bottom - Up” hoặc “Top - Down”. Tiếp cận “Bottom - Up”,
còn đƣợc gọi là tiếp cận “vun đống”, bắt đầu với mỗi đối tƣợng đƣợc xem nhƣ
một nhóm, sau đó trộn các đối tƣợng hay các nhóm theo các hàm nhƣ hàm khoảng
cách giữa các tâm của hai nhóm và điều này đƣợc thực hiện cho tới khi tất cả các
nhóm đƣợc trộn vào làm một nhóm hoặc cho tới khi điều kiện kết thúc đƣợc thỏa
mãn. Tiếp cận theo phƣơng pháp “Top-Down”, bắt đầu với tất cả các đối tƣợng
nằm trong cùng một cụm. Trong mỗi lần lặp, một cụm đƣợc tách ra thành các cụm
nhỏ hơn theo một ƣớc lƣợng nào đó. Điều này đƣợc thực hiện cho tới khi mỗi đối
tƣợng là một cụm, hoặc cho tới khi điều kiện kết thúc thỏa mãn.
Các thuật toán phân cụm trƣớc đây theo phƣơng pháp phân cấp nhƣ
AGNES và DIANA (Kaufman & Rousseeuw, 1990) thƣờng phải sử dụng các hàm
đánh giá đơn giản để tách hoặc trộn các cụm. Thực tế thì các bƣớc trộn hoặc tách
là không thuật nghịch, do đó các phƣơng pháp đƣa ra thƣờng cho kết quả phân
cụm sai.
Để nâng cao hiệu quả của thuật toán theo phân cấp, các phƣơng pháp gần
đây cố gắng theo một trong hai tiếp cận sau đây. Tiếp cận đầu tiên đƣợc trình bày
bởi các thuật toán nhƣ CURE (Guha et al., 1998) và CHAMELEON (Karypis et
al., 1999) sử dụng các quy tắc phức tạp hơn khi tách hoặc trộn các cụm. Mặc dù
việc tách hoặc trộn các cụm vẫn không thuận nghịch trong tiếp cận này, nhƣng các
lỗi tạo ra là rất ít bởi vì đây là một phƣơng pháp tốt hơn đƣợc sử dụng để trộn và
tách. Tiếp cận thứ hai đƣợc biểu diễn bởi các thuật toán nhƣ BIRCH (Zhang et
all., 1996) là để xác định kết quả ban đầu bằng các sử dụng thuật toán “vung
đống” và sau đó sử dụng lặp tìm vị trí tâm để làm mịn kết quả.
4.2.1 Thuật toán BIRCH: Balanced Iterative Reducing and Clustering using
Hierarchies
BIRCH là một phƣơng pháp phân cụm phân cấp theo “Bottom - Up”. Tƣ
tƣởng chính của BIRCH là nén các đối tƣợng dữ liệu vào trong các cụm con và
sau đó thực hiện phân cụm với các cụm con này. Để trộn các cụm con, số lƣợng

các cụm phải bé hơn hoặc bằng số lƣợng đối tƣợng dữ liệu và do đó cho phép quá


18
trình phân cụm thực hiện trong bộ nhớ trong. Các kết quả trong thuật toán chỉ cần
quét qua cơ sở dữ liệu một lần.
Trong thuật toán BIRCH, mỗi một cụm con đƣợc biểu diễn bởi đặc trƣng
của cụm đó là bộ ba mô tả tóm tắt thông tin về nhóm các đối tƣợng trong cụm đó.
Cho N đối tƣợng {X
i
} trong không gian d chiều. Một cụm CF(Clustering Feature)
của một cụm con đƣợc định nghĩa là:
),(
,SSLS
NCF



Trong đó, N là số lƣợng các đối tƣợng trong một cụm,
LS

là tổng của N
điểm tức
LS

=



N

i
i
X
1
và SS là tổng bình phƣơng của N điểm dữ liệu, SS=
2
1



N
i
i
X
.
Các CF này đƣợc lƣu trong cây đặc trƣng cụm (Clustering feature tree: CF
tree), đƣợc sử dụng để mô tả tóm tắt cụm. Cây CF đƣợc gọi là cây cân bằng theo
độ cao nếu cây đó chứa các CF cho thuật toán phân cụm theo phân cấp. Các đỉnh
không phải là lá lƣu các tổng các CF của các đỉnh còn và do đó, mô tả tóm tắt
thông tin phân cụm về các đỉnh con của chúng. Một cây CF có hai tham số: Nhân
tố nhánh B, và ngƣỡng T. Nhân tố nhánh là số lƣợng cực đại các đỉnh con mà một
đỉnh trong có thể có. Tham số ngƣỡng là đƣờng kính tối đa của các cụm con đƣợc
lƣu trữ tại mỗi đỉnh lá của cây. Hai tham số này ảnh hƣởng đển cỡ của cây kết
quả.
Cây CF đƣợc xây dựng một cách tự động theo cách các đối tƣợng đƣợc
chèn vào. Một đối tƣợng đƣợc chèn vào một lá gần nhất (Cụm con). Nếu đƣờng
kính của một cụm con đƣợc lƣu trữ trong đỉnh lá sau khi chèn lớn hơn giá trị
ngƣỡng thì sau đó đỉnh lá này và có thể có các đỉnh khác sẽ đƣợc tách. Sau khi
chèn một đối tƣợng mới, thông tin đƣợc truyền về gốc của cây. Cỡ của cây có thể
bị thay đổi bằng cách thay đổi giá trị ngƣỡng. Nếu giá trị ngƣỡng tạo ra cây CF

không lƣu đƣợc trong bộ nhớ trong thì giá trị ngƣỡng đƣợc tăng lên và cây CF
đƣợc xây dựng lại mà không cần thiết đọc lại tất cả các đối tƣợng trong cơ sở dữ
liệu. Sau khi cây CF đƣợc xây dựng, một thuật toán phân cụm bất kỳ, nhƣ các
thuật toán phân cụm theo phân hoạch đƣợc sử dung để thực hiện quá trình phân
cụm trong bộ nhớ trong. Để cải tiến chất lƣợng phân cụm hơn nữa, một hoặc
nhiều lần quét cơ sở dữ liệu có thể đƣợc thực hiện. Độ phức tạp thuật toán là
O(N), với N là số lƣợng đối tƣợng đƣợc phân cụm.
Các kết quả thực hiện cho thấy thuật toán có tính mềm dẻo đối với số lƣợng
các đối tƣợng, và chất lƣợng phân cụm là tốt. Tuy nhiên, khi một đỉnh trong cây


19
CF chỉ thỏa mãn về giới hạn số lƣợng các đối tƣợng theo kích thƣớc của nó, một
đỉnh không phải luôn luôn tƣơng ứng với một cụm thực mang tính tự nhiên nhƣ
ngƣời sử dụng mong muốn. Hơn nữa, nếu các cụm không phải có hình dạng là
hình cầu, BIRCH không thực hiện tốt bởi vì nó sử dụng khái niệm bán kính hoặc
đƣờng kính để điều khiển giới hạn của một cụm. Xem chi tiết thuật toán này ở [7]
4.2.2 Thuật toán CURE: Clustering Using Representatives
Không giống các phƣơng pháp vun đống truyền thống nhƣ AGNES, CURE
là một phƣơng pháp vun đống sử dụng quy tắc phức tạp để trộn các cụm.
Có hai ý tƣởng chính mà CURE sử dụng để đạt đƣợc các cụm có chất lƣợng
cao. Đầu tiên, thay cho việc sử dụng các tâm hoặc các đối tƣợng để biểu diễn tâm
một cụm, số lƣợng các đối tƣợng xác định đƣợc lựa chọn để biểu diễn mỗi cụm.
Thứ hai, các đối tƣợng đƣợc lựa chọn để biểu diễn cụm đƣợc co tới các tâm của
cụm bằng nhân tố co

nằm trong đoạn [0,1].
Tại mỗi bƣớc của thuật toán, hai cụm có các cặp biểu diễn các cụm gần
nhau nhất đƣợc trộn vào với nhau. Tiếp cận này cho phép CURE điều chỉnh tốt
hình dạng của các cụm không phải là hình cầu. Các cụm co trợ giúp loại bỏ ảnh

hƣởng của các phần tử ngoại lai. Do đó, CURE là một thuật toán mạnh tránh đƣợc
các phần tử ngoại lai và nhận ra các cụm không phải là hình cầu và có cỡ tùy ý.
Nó mềm dẻo đối với các cơ sở dữ liệu lớn mà không ảnh hƣởng với chất lƣợng
cụm. Hình 1.2 biểu diễn quá trình trộn hai cum con với nhau theo CURE và việc
co các điểm dữ liệu tới tâm cụm đƣợc tạo ra. Các điểm đen ở trong hình là các
điểm đƣợc chọn để biểu diễn mỗi cụm con. Xem chi tiết thuật toán này ở [8].


Hình 1.2 : Trộn 2 cụm theo thuật toán CURE
Các điểm đại diện
gần nhau nhất
Trộn


20
4.2.3 Thuật toán CHAMELEON
Tƣơng tự nhƣ thuật toán CURE, CHAMELEON là thuật toán phân cụm cố
gắng cái tiến chất lƣợng phân cụm bằng cách sử dụng chuẩn phức tạp hơn khi trộn
hai cụm với nhau.
Hai cụm đƣợc trộn với nhau nếu tính chất liên thông và tính đóng của cụm
kết quả là tƣơng tự nhƣ tính liên thông và tính đóng của hai cụm con.
Để tạo ra các cụm con ban đầu, đầu tiên CHAMELEON tạo ra đồ thị
G=(V,E) với mỗi đỉnh v
V
biểu diễn đối tƣợng dữ liệu và trọng số cạnh
),(
ji
vv
nếu hai đỉnh
i

v

j
v
thuộc K - láng giềng của nhau. Trọng số của mỗi cạnh
trong đồ thị G biểu diễn tính đóng giữa hai đối tƣợng dữ liệu đƣợc kết nối.Có
nghĩa là cạnh sẽ đƣợc đánh trọng số nếu hai đối tƣợng dữ liệu là gần nhau. Sau đó
CHAMELEON sử dụng thuật toán phân hoạch đồ thị để phân hoạch G một cách
đệ quy vào trong nhiều đồ thị con không liên thông với nhau bằng cách sử dụng
phƣơng pháp min-cut trên đồ thị G tại mỗi bƣớc của quá trình đệ quy. Thuật toán
min-cut trên đồ thị G phân hoạch G vào trong hai phần có kích thƣớc bằng nhau
thỏa mãn tổng trong số các cách bị cắt là bé nhất. Mỗi đồ thị con sau đó đƣợc xử
lý nhƣ là một cụm ban đầu và sau đó sử dụng lặp đi lặp lại thuật toán phân cụm
phân cấp theo “Bottom- Up” để kết hợp hai cụm có độ tƣơng đồng nhất, quá trình
này lặp đi lặp lại cho tơi khi thỏa mãn điều kiện kết thúc. Quá trình này đƣợc minh
họa trong hình 4.
CHAMELEON xác định độ tƣơng đồng giữa hai cụm C
i
và C
j
theo độliên
thông tƣơng đối RI(C
i
,C
j
) và tính chất đóng tƣơng đối RC(C
i
,C
j
).Độ liên thông

của một cụm đƣợc định nghĩa là tổng trọng số các cạnh đƣợc loại bỏ khi thực hiện
thuật toán min-cut trên một cụm, định nghĩa độ liên thông tƣơng đối RI(C
i
,C
j
) là
tỷ số giữa độ liên thông của cụm C
i
và cụm C
j
với tổng trung bình giữa độ liên
thông của cụm C
i
và cụm C
j
. Tƣơng tự, tính đóng RC(C
i
,C
j
) giữa hai cụm C
i
và C
j
đƣợc định nghĩa là tỷ số giữa tính đóng của cụm C
i
và cụm C
j
với tổng trung
bình tính đóng của cụm C
i

và cụm C
j
. Xem chi tiết thuật toán này ở [9].
4.3. Các phƣơng pháp dựa vào mật độ
Hầu hết các phƣơng pháp phân hoạch truyền thống phân cụm đều dựa trên
khoảng cách giữa các đối tƣợng. Các phƣơng pháp này chủ yếu tìm ra các cụm có
dạng hình cầu và rất khó để tìm ra các cụm có hình dạng ngẫu nhiên. Phƣơng pháp
phân cụm dựa vào mật độ xem các cụm nhƣ là các vùng có mật độ các đổi tƣợng
lớn trong không gian dữ liệu. Các phƣơng pháp dựa vào mật độ có thể sử dụng để
loại bỏ nhiễu, và phát hiện ra các cụm có hình dạng ngẫu nhiên.


21
Thuật toán dựa vào mật độ đầu tiên là thuật toán DBSCAN(Ester et al.,
1996), thuật toán này xem xét mật độ theo lân cận của mỗi đối tƣợng, nếu số
lƣợng các đối tƣợng trong khoảng cách

của một đối tƣợng lớn hơn MinPts thì
đối tƣợng đó đƣợc xem là nằm trong một cụm. Bởi vì các cụm tìm đƣợc phụ thuộc
vào tham số

và MinPts, nên thuật toán DBSCAN dựa trên khả năng của ngƣời
sử dụng để lựa chọn tập tham số tốt.

Để tránh đƣợc vấn đề này, năm 1999 Ankerst để xuất phƣơng pháp sắp xếp
các cụm đƣợc gọi là OPTICS. OPTICS tính toán việc sắp xếp các cụm có tham số
để phân cụm tự động. Xem chi tiết hai thuật toán này ở [2].

4.3.1 DBSCAN: phƣơng pháp phân cụm dựa trên mật độ của các vùng đƣợc
liên kết với mật độ đủ lớn

DBSCAN (Density - Based Spatial Clustering of Applications with noise). (Ester
et al.,1996)
DBSCAN là một thuật toán phân cụm dựa vào mật độ. Thuật toán nhóm các
vùng có mật độ đủ cao vào trong các cụm, và tìm kiếm các cụm với hình dạng tự
nhiên trong trong các tập dữ liệu không gian. Thuật toán yêu cầu 2 tham số đầu
vào là

và Minpts. Các đối tƣợng nằm trong hình cầu bán kính

của một đối
tƣợng đƣợc gọi là

-lận cận của đối tƣợng đó và và đối tƣợng có ít nhất là Minpts
đối tƣợng khác là e-lân cận thì đƣợc gọi là đối tƣợng lõi (Core Object). Phân cụm
dữ liệu theo thuật toán DBSCAN áp dụng các luật sau đây:
- Một đối tƣợng có thể nằm trong một cụm nếu và chỉ nếu nó nằm
trong e-lân cận của một đối tƣợng lõi thuộc cụm đó.
- Một đối tƣợng lõi o nằm thuộc e-lân cận của một đối tƣợng lõi p khác
thì o bắt buộc phải nằm cùng một cụm với p.
- Một đối tƣợng không lõi q nằm trong e-lân cận của các đối tƣợng
p
1
,…, p
i
, i>0, thì q phải nằm cùng một cụm chứa ít nhất một đói tƣợng lõi thuộc
p
1
,…, p
i.


- Một đối tƣợng không lõi r không nằm thuộc e-lân cận của một đối
tƣợng lõi bất kỳ thì đƣợc xem là nhiễu.

Ví dụ: Xem xét hình dƣới đây với

là bán kính của hình tròn và Minpts
=3. Chúng ta biểu diễn các đối tƣợng lõi là các điểm hình tròn, còn các đối tƣợng
không lõi là các điểm có dạng hình tròn. Trong hình… biểu diễn hai cụm, C1 và


22
C2 đƣợc tìm kiếm bởi thuật toán DBSCAN. Các đối tƣợng dữ liệu nằm trong C1
hoặc C2 đều thuộc

- lân cận của ít nhất một đối tƣợng lõi nằm trong C1 hoặc C2
và không có hai đối tƣợng lõi nào thỏa mãn thuộc

-lân cận của nhau và do đó
chúng có thể năm ở các cụm khác nhau. Đối tƣợng không lõi M nằm trong

-lân
cận của T và R, với T là đối tƣợng lõi thuộc C1 và R là đối tƣợng lõi thuộc C2.
Điều này dẫn tới có thể phân M vào C1 hoặc C2 khi nó là biên của hai cụm. Cuối
cùng, đối tƣợng S có thể đƣợc xem là nhiễu bởi vì nó là một đối tƣợng không lõi
và không thuộc

-lân cận của các đối tƣợng lõi.


Để tìm kiếm các cụm , DBSCAN kiểm tra


- lân cận của mỗi đối tƣợng
trong cơ sở dữ liệu. Nếu

-lân cận của một điểm p chứa nhiều hơn MinPts, một
cụm mới với p là đối tƣợng lõi đƣợc tạo ra. Các đối tƣợng trong

-lân cận của p
đƣợc phân vào cụm mới này. Các đối tƣợng lõi trong lân cận này sẽ đƣợc xử lý
tƣợng tự nhƣ p và điều này làm cho kích thƣớc của cụm tăng lên. Khi không còn
đối tƣợng lõi để xử lý, các đối tƣợng lõi khác trong cơ sở dữ liệu sẽ đƣợc tìm kiếm
và tạo nên một cụm mới khác. Chú ý rằng trong quá trình làm tăng kích thƣớc của
cụm theo thuật toán DBSCAN, một đối tƣợng lõi đã nằm trong một cụm khác có
thể bị phân cụm đang xử lý và kết quả là làm trộn hai cụm với nhau. Quá trình kết
thúc khi không có điểm nào đƣợc phân vào các cụm.

4.3.2. OPTICS: Ordering Point To Identify the Clustering Structure
Mặc dù thuật toán DBSCAN có thể tìm kiếm các cụm với hình dạng tự
nhiên của trong trong tập dữ liệu chứa nhiễu, tuy nhiên nó bị ảnh hƣởng rất lớn
bởi hai tham số là

và MinPts. Để tìm kiếm các cụm đƣợc xem là chấp nhận
đƣợc, ngƣời sử dụng có thể chạy thuật toán này nhiều lần trong các tập giá trị káhc
nhau của hai tham số. Nếu không có một hƣớng dẫn nào để lựa chọn hai tham số
này thì tổng thời gian thực hiện có thể là rất lớn và dẫn đến không khả thi.
Để khắc phục khó khăn này, phƣơng pháp xếp loại một cụm đƣợc gọi là
OPTICS (Ordering Point To Identify the Clustering Structure) đã đƣợc đề xuất.


23

Cũng giống nhƣ thuật toán DBSCAN, thuật toán OPTICS yếu cầu hai tham số đầu
vào là

và MinPts. Tuy nhiên, thay cho việc tạo ra kết quả phân cụm của một
cặp giá trị của hai tham số này, thuật toán OPTICS một dãy các điểm dữ liệu có
thứ tự là kết quả của việc phân cụm với giá trị thấp hơn

và với cùng một giá trị
của MinPts có thể dễ dàng xác định và tính toán.
Bằng cách kiểm tra thuật toán DBSCAN, có thể dễ dàng thấy rằng mới một
hằng số MinPts, giảm

tới giá trị mới

‟ sẽ tạo ra hai tác động:
- Một đối tƣợng lõi có thể trở thành không lõi bởi vì nó không có ít nhất
MinPts đối tƣợng trong

‟- lân cận của nó.
- Một đối tƣợng không lõi ban đầu trong

-lân cận của một số đối tƣợng
lõi có thể trở thành nhiễu bởi vì chúng không nằm trong

‟- lân cận của
các đối tƣợng lõi hoặc bởi vì các đối tƣợng lõi này đã trở thành các đối
tƣợng không phải là lõi.
Do đó có thể thấy rằng, hai tác động này sẽ tạo ra kết quả tập các cụm
mà các tập này nằm hoàn toàn trong các tập các cụm đƣợc tìm thấy với giá trị cao
hơn của


. Do đó, để tạo ra một tập các cụm đƣợc sắp xếp, chỉ cần lƣu các giá trị
ngƣỡng cho mỗi đối tƣợng dữ liệu thỏa mãn tạo động của một giá trị

nào đó.
Các giá trị cần đƣợc lƣu là khoảng cách lõi và khoảng đạt đƣợc:
- Khoảng cách lõi của một đối tƣợng p ký hiệu là core(p) là khoảng cách
nhỏ nhất thỏa mãn core(p)-lân cận chứa đúng MinPts đối tƣợng. Nếu p
không là đối tƣợng lõi với

ban đầu thì khoảng cách lõi của p không
xác định.
- Khoảng cách đạt đƣợc của đối tƣợng p đối với đối tƣợng o, ký hiệu là
reach(o,p) là khoảng cách nhỏ nhất thỏa mãn p nằm trong reach(o,p)-lân
cận của o và o còn là đối tƣợng lõi đối với reach(o,p). Nếu o không là
đối tƣợng lõi với

, thì reach(o,p) không xác định.
Thuật toán OPTICS tạo ra một thứ tự các đối tƣợng trong cơ sở dữ liệu,
ngoài ra còn lƣu khoảng cách lõi và khoảng các đạt đƣợc phù hợp cho mỗi đối
tƣợng. Những thông tin này đủ để tìm kiếm tất cả các cụm với

‟ bất kỳ nhỏ
hơn

đƣợc sử dụng để xếp loại.
Xếp phân cụm cho một tập dữ liệu có thể đƣợc biểu diễn bởi đồ họa, điều
này trở giúp cho chúng ta có thể hiểu hơn về cụm. Ví dụ, trong hình…. là biểu đồ
cho tập dữ liệu 2 chiều, biểu đồ biểu diễn tổng quan về dữ liệu và các cụm của
chúng. Đã có mốt số phƣơng pháp đƣợc phát triển để hiển các cấu trúc cụm trong

không gian nhiều chiều.


24

Hình
4.4. Các phƣơng pháp phân cụm dựa trên lƣới
Các phƣơng pháp phân cụm dựa vào mật độ nhƣ DBSCAN, OPTICS phải
đổi có thể sẽ thất bại trong không gian dữ liệu với số chiều cao và phải thiết lập
các tham số

và MinPts. Để nâng cao hiệu quả của phân cụm, tiếp cận phân cụm
dựa trên lƣới sử dụng cấu trúc dữ liệu dạng lƣới. Tiếp cận này phân chia không
gian dữ liệu vào một số lƣợng hữu hạn các ô tạo nên dạng hình lƣới. Tiện lợi
chính của tiếp cận này là thời gian xử lý nhanh và nó không phụ thuộc vào số
lƣợng các đối tƣợng dữ liệu, chỉ phụ thuộc vào số lƣợng các ô ở mỗi chiều trong
không gian lƣợng hóa.
Một số thuật toán cơ bản của tiếp cận dựa trên lƣới là thuật toán STING,
thuật toán này tìm kiếm theo thống kê các thông tin nằm trong các ô. Thuật toán
WaveCluster phân cụm dữ liệu sử dụng phƣơng pháp biến đối sóng và thuật toán
CLIQUE trình bày cách tiếp cận dựa vào mật độ và dựa vào lƣới để phân cụm dữ
liệu nằm trong không gian với số chiều lớn. Xem chi tiết ở [2]

4.4.1. STRING: A STatistical INformation Grid approach
STING là một cấu trúc dữ liệu đa mức dựa trên lƣới, trong không gian
dữ liệu đƣợc chia thành các ô hình chữ nhật. Có các ô tƣơng ứng với các mức
khác nhau để giải quyết bài toán, cách phân chia ô nhƣ vậy tạo ra một cấu trúc
phân cấp: mỗi ô ở mức cao đƣợc phân chia thành một số ô ở mức thấp hơn tiếp
theo. Thông tin thống kê liên quan tới thuộc tính của mỗi ô nhƣ mean, maximum,
minimum đƣợc tính toán trƣớc và lƣu trữ. Những thông tin thông kê này sẽ trợ

giúp cho quá trình truy vấn nhƣ sau:


25

Trong hình … trình bày 3 tầng liên tiếp nhau của cấu trúc STING, mỗi ô
ở tầng trên đƣợc phân chia thành bốn ô ở tầng tiếp theo. Các tham số thống kê ở
mức cao có thể đƣợc dễ dàng tính toán bởi các tham số từ các ô ở mức thấp hơn.
Các tham số này bao gồm: số lƣợng đối tƣợng trong ô: count, giá trị trung bình:
mean, độ lệch chuẩn: s, giá trị nhỏ nhất của thuộc tính của các đối tƣợng trong ô:
min, giá trị lớn nhất của thuộc tính của các đối tƣợng trong ô: max và kiểu phân
bố trong các ô. Dữ liệu đƣợc đƣa vào trong cấu trúc lƣới bắt đầu từ mức thấp nhất.
Các tham số count, m, s, min, max ở mức này đƣợc tính toán trực tiếp từ dữ liệu.
Giá trị của phân bố có thể đƣợc đặt bởi ngƣời sử dụng. Kiếu phân bố ở ô mức cao
đƣợc tính toán dựa trên các kiểu phân bố ở các ô tƣơng ứng ở mức thấp kề nó theo
một ngƣỡng cho trƣớc. Nếu các phân bố ở mức thấp giống nhau và bị lỗi khi kiểm
tra bởi ngƣỡng, kiểu phân bố ở ô mức cao sẽ là không xác định (đƣợc đặt là none).
Để thực hiện phân cụm trên cấu trúc lƣới, ngƣời sử dụng cung cấp mật
độ ở các ô nhƣ là tham số đầu vào. Sử dụng tham số này, áp dụng tiếp cận Top-
down, phƣơng pháp dựa trên lƣới tìm các vùng có mật độ chấp nhận đƣợc bằng
việc thực hiện các thao tác sau:
 Một tần với cấu trúc phân cấp đƣợc xác định để thực hiện tiến trình
trả lời truy vấn. Tầng này bao gồm một số lƣợng nhỏ các ô. Với mỗi ô trong tầng,
tính khoảng chắc chắn mà các ô trong đó sẽ trở thành một cụm. Các ô không chắc
chắn sẽ bị loại bỏ.
 Các ô thỏa mãn truy vấn đƣợc tinh chỉnh lại bằng cách lặp lại thủ tục
tại mức tiếp theo của cấu trúc.
 Tiến trình này đƣợc lặp lại cho đến khi mức cuối cùng đƣợc tìm thấy.
Tại đó, nếu truy vấn xác định đƣợc kết quả, các vùng chứa các ô thích hợp thỏa
mãn truy vấn đƣợc trả về. Trƣờng hợp khác, dữ liệu rơi vào các ô thiƣch hợp

×