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 độ
Trang 1ĐẠ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
Trang 2DANH 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_distk(p2,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
Trang 3DANH 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
LOF Local Outlier Factor
DBSCAN A Density-Based Algorithm for Discovering
Clusters in Large Spatial Databases with Noise
Trang 4MỤ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
Trang 5MỞ ĐẦ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à
Trang 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
Trang 7Vì 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
Trang 8CHƯƠ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
Trang 9Cá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 24
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
Trang 10trư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
Trang 11Hì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 [xij] với xij 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 xi
n i
x x
j
r kj
ij x x k
Trang 12Cá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 xi=xk
5 d(i,k)d(i,m) d(m,k) 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 / 1 2
/ 1
1
2
)]
( ) [(
)
|
| (
d j k
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
Trang 13tượ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
Trang 14cụ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
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:
Trang 15Với x là một điểm trong không gian biểu diễn các đối tượng, và mi là giá trị trung bình của cụm Ci
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 means và thuật toán EM, thuật toán 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
K-Để 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]
Trang 164.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 Ci 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 Ci, xác xuất để xuất hiện đối tượng tại vị trí x được ký hiệu là P(x|i) với:
|
| ) 2 (
)
| (
x P
i x P
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 Wi, i, Mi được tính toán trong bước 4 bằng cách sử dụng công thức sau: Wi =
D x
x i P
D x
i
x i P
x i P x
)
| (
)
| (
D x
T i i
x i P
x x
x i P
)
| (
) )(
x
P ))(
Trang 17Khi 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á
Trang 18trì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 {Xi} 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à:
) ,
(N LS ,SS
CF
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
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
Trang 19CF 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
Trang 204.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
)
,
(v i v j nếu hai đỉnh v ivà v j 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 Ci và Cj theo độliên thông tương đối RI(Ci ,Cj) và tính chất đóng tương đối RC(Ci,Cj).Độ 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(Ci,Cj) là
tỷ số giữa độ liên thông của cụm Ci và cụm Cj với tổng trung bình giữa độ liên thông của cụm Ci và cụm Cj Tương tự, tính đóng RC(Ci,Cj) giữa hai cụm Ci và Cj được định nghĩa là tỷ số giữa tính đóng của cụm Ci và cụm Cj với tổng trung bình tính đóng của cụm Ci và cụm Cj 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
Trang 21Thuậ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 p1,…, pi, 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 p1,…, pi
- 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à
Trang 22C2 đượ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
Trang 23Cũ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
Trang 24Hì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:
Trang 25Trong 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 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:
Top- 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
Trang 26được khôi phục lại, và tiến trình tiếp theo được thực hiện cho đến khi chúng gặp các yêu cầu của truy vấn
4.4.2 WaveCluster: Clustering Wavelet transformation
WaveCluster là thuật toán phân cụm đa chiều với việc tổng hợp dữ liệu bằng cách sử dụng cấu trúc lưới đa chiều trong vùng dữ liệu Sau đó sử dụng biến đổi sóng để biến đổi các khoảng đặc trưng gốc, tìm kiếm các vùng dày đặc trong khoảng được biến đổi
Trong tiếp cận này, mỗi ô tổng hợp thông tin của một nhóm các điểm có thể ánh xạ vào ô Thông tin tổng quát này là đặc thù làm thích hợp với bộ nhớ lưu trữ trong để sử dụng biến đổi sóng đa chiều và các phân tích cụm tiếp theo
Một biến đổi sóng là kỹ thuật xử lý tín hiệu để phân tích một tín hiệu thành chuỗi các dải sóng con Mô hình sóng có thể ứng dụng cho các tín hiệu n-chiều bằng cách áp dụng một chiều sóng biến đổi n lần Sự cuộn lại với một nhân thích hợp trả về trong một khoảng được biến đổi sẽ là các cụm tự nhiên dễ xác định Các cụm có thể được xác định bằng việc tìm kiếm các vùng trong vùng mới
Biến đổi sóng có thể sử dụng hữu ích trong phân cụm với các ưu điểm sau:
Cung cấp phân cụm giám sát Nó sử dụng khối hình nón để lọc các vùng nơi chứa các điểm cụm, cùng thời gian đó, nó khử nhiễu các thông tin yếu bên ngoài biên các cụm Do đó, các vùng dày đặc trong vùng đặc trung ban đầu sẽ hút các điểm gần nó nhất, và ngăn chặn các điểm xa nó Điều này có nghĩa là các cụm trong dữ liệu tự động đứng yên tại đó và xóa các vùng xung quanh chúng Do đó,
ưu điểm khác là biến đổi sóng có thể tự động thực hiện loại bỏ các phần tử ngoạilai
Trang 27Hình : Một ví dụ của vùng dữ liệu đặc trung 2-chiều
Hình : các vùng đặc trung đa năng của 10 a) mức 1; b) mức 2; c) mức 3
Khả năng đa năng của biến đổi sóng có thể giúp nhận ra các cụm có mức thay đổi chính xác cao
Ví dụ, hình 10 đưa ra một mẫu vùng hai chiều đặc trưng, với mỗi điểm trong hình ảnh đại diện cho thuộc tính hoặc giá rtị của một đối tượng trong tập dữ liệu khôgn gian Hình 11 đưa ra kết quả biến đổi sóng tại các giải pháp khác nhau,
từ một mức mịn (mức 1) đến mức thô (scale3) Tại mỗi mức có 4 dải con đưa ra tại điểm trái cao hơn cung phần tư thứ nhất làm nổi bật các lân cận trung bình xung quanh mỗi điểm dữ liệu Dải sóng con tại góc phải trên góc phần tư thứ hai làm nổi bật các cung của dữ liệu Dải sóng con tại góc trái dưới góc phần tư thứ 3 làm nối bật các cung dọc, trong khi tại góc phải dưới làm nổi bật góc
Thuật toán phân cụm dựa trên sóng có thời gian là rất nhanh, với độ phức tạp tính toán là O(n), với n là số đối tượng trong CSDL Thuật toán thực hiện có thể dễ dang song song hóa
WaveCluster là thuật toán dựa trên lưới và mật độ Nó thích nghi với tất cả các yêu cầu của một thuật toán phân cụm tốt: nó có thể thực hiện tên các tập dữ liệu lớn một cách có hiệu quả, khám phá ra các cụm với dình dạng bất kỳ, loại bỏ các phần tử ngoại lai, và khôngn hạy cảm với đầu vào Trong nghiên cứu thực nghiệm, WaveCluster làm tốt hơn BIRCH, CLARANS và DBSCAN về cả hai tiêu chuẩn là tính hiệu quả và chất lượng của các cụm