Thuật toán Tham số đầu vào Thích hợp với Cấu trúc cụm Xử lý phần tử ngoại lai
Độ phức tạp tính toán Các phƣơng pháp phân cụm phân cấp
k-means Số các cụm Các cụm tách rời Hình cầu Không O(Ikn)
PAM Số các cụm Các cụm tách rời, tập dữ liệu nhỏ Hình cầu Không O(Ik(n - k)2)
CLARA Số các cụm Tập dữ liệu tương đối lớn Hình cầu Không O(ks2+ k(n - k))
CLARANS Số các cụm, số tối đa các láng giềng
Tập dữ liệu không gian Hình cầu Không O(kn2)
Các phƣơng pháp phân cụm phân cấp BIRCH Yếu tố nhánh, đường
kính cụm
Tập dữ liệu lớn Hình cầu Có O(n)
CURE Số các cụm, số cụm đại diện
Tập dữ liệu trung bình Hình bất kỳ Có O(n2 log n)
Các phƣơng pháp phân cụm dựa trên mật độ DBSCAN Bán kính của cụm, số
tối thiểu các điểm trong các cụm
DENCLUE Bán kính của các cụm, số tối thiểu các đối tượng
Tập dữ liệu lớn Hình bất kỳ Có O(n log n)
OPTICS Bán kính của các cụm (min, max), số tối thiểu các đối tượng
Tập dữ liệu lớn Hình bất kỳ Có O(n log n)
Các phƣơng pháp phân cụm dựa trên lƣới STING Số các cells trong mức
thấp nhất, Số các đối tượng trong cell
Tập dữ liệu không gian lớn Các giới hạn đứng và giới hạn ngang
Có O(n)
WaveCluster Số các cells cho từng chiều, sóng, Số các
ứng dụng biến đổi
Tập dữ liệu không gian lớn Hình bất kỳ Có O(n)
CLIQUE Kích thước của lưới, số tối thiểu các điểm trong mỗi lưới
Tập dữ liệu lớn đa chiều Hình bất kỳ Có O(n)
3.6. Các thuật toán phân cụm dữ liệu kiểu hạng mục
Chúng ta coi các thuộc tính CSDL có giá trị kiểu hạng mục (categorical). Các giá trị này không thể được sắp xếp một cách đơn lẻ, và do đó, phân cụm dữ liệu kiểu hạng mục thực sự là một thách thức. Chúng ta tổng kết các đặc trưng của các dữ liệu như vậy trong danh sách dưới đây [9]-[17]-[24]:
Dữ liệu kiểu hạng mục không sắp xếp đơn lẻ: Có một số cách để sắp xếp nhưng không có cách nào là có hiệu quả vượt trội
Dữ liệu kiểu hạng mục có thể được trực quan hoá phụ thuộc vào một sự sắp xếp đặc biệt.
Dữ liệu kiểu hạng mục định nghĩa cấu trúc tiên nghiệm (priori structure) để làm việc.
Dữ liệu kiểu hạng mục có thể được ánh xạ lên trên các số đơn trị, như là một hệ quả, khoảng cách Euclidean có thể được sử dụng để xác định các lân cận của nó khi các hệ quả là không chắc chắn.
Guha và các cộng sự đưa ra một ví dụ: giả sử CSDL của các đối tượng 1 tới 6 được cho bởi các bộ như sau: (a) {1, 2, 3, 5} , (b) {2, 3, 4, 5} , (c) {1, 4} , và (d) {6} . Các đối tượng này có thể được xem như là các vector 0 và 1 biểu thị sự có mặt của các đối tượng này bên trong các bộ dữ liệu tương ứng. Bốn bộ dữ liệu trở thành:
{1, 2, 3, 5} {1, 1, 1, 0, 1, 0} {2, 3, 4, 5} {0, 1, 1, 1, 1, 0} {1, 4} {1, 0, 0, 1, 0, 0} {6} {0, 0, 0, 0, 0, 1}
Sử dụng khoảng cách Euclidean giữa bộ dữ liệu (a) và (b), ta có:
2 2 2 2 2 2 1 2
(1 0 0 1 0 0 ) 2
Đây là khoảng cách nhỏ nhất giữa các cặp của các bộ dữ liệu, trộn (a) và (b) sử dụng một giải thuật phân cấp dựa theo trọng tâm. Trọng tâm của cụm mới là {0.5, 1, 1, 0.5, 1, 0}. Trong các bước dưới đây, (c) và (d) có khoảng cách nhỏ nhất, và như vậy chúng sẽ được trộn với nhau. Tuy nhiên, việc đó cũng tương ứng với việc trộn bộ dữ liệu {1, 4} với bộ dữ liệu {6}, không có các đối tượng chung, giả thiết rằng việc phù hợp dựa trên sự có mặt (presence) là quan trọng hơn việc phù hợp dựa trên sự vắng mặt (absence). Sau đó, chúng ta đạt được kết luận rằng khi sử dụng ánh xạ
không trong cụm tương tự cuối cùng được xếp cùng nhau. Trong trường hợp đặc biệt này, khoảng cách Hamming sẽ thực hiện tốt hơn.
Rõ ràng, chúng ta cần các phương pháp khác nhau, và các độ đo tương tự đặc biệt khác nhau, để khám phá các nhóm “tự nhiên” của dữ liệu kiểu hạng mục.
3.6.1. Thuật toán k-modes
Thuật toán đầu tiên hướng về phía các tập dữ liệu kiểu hạng mục là mở rộng của thuật toán k-means, gọi là thuật toán k-modes. Ý tưởng của thuật toán tương tự với k-means và cấu trúc thuật toán không thay đổi. Chỉ khác là sử dụng độ đo tương tự để so sánh các đối tượng dữ liệu. [17]-[24]
Những điểm khác nhau đặc biệt là:
Sử dụng một độ đo phi tương tự (dissimilarity measure). Means được thay thế bởi modes
Sử dụng một phương thức dựa trên tần xuất để cập nhật các modes.
3.6.1.1. Độ đo phi tương tự
Cho X và Y là hai đối tượng kiểu hạng mục được mô tả bởi m thuộc tính hạng mục. Độ đo phi tương tự giữa X và Y được định nghĩa bởi tổng các thuộc tính hạng mục không phù hợp tương ứng của hai đối tượng. Số các thuộc tính không phù hợp càng ít thì hai đối tượng càng giống nhau.. Độ đo này thường được tham chiếu tới độ phù hợp đơn giản (Kaufman và Rousseeuw, 1990). Hình thức:
1 1 ( , ) ( , ) m j j j d X Y x y (1) Trong đó: j j x 0 ( , ) x 1 j j j j y x y y (2) 3.6.1.2. Tập hợp kiểu
Cho X là tập các đối tượng kiểu hạng mục được mô tả bởi các thuộc tính A1,A2,…, Am.
Định nghĩa 1: Một kiểu (mode) X={X1,X2,…,Xn} là một vector Q=[q1,q2,…,qm]
cực tiểu hoá: 1 1 ( , ) ( , ) n i i D X Q d X Q
3.6.1.3. Tìm kiểu của một tập hợp
Cho
,
k j c
n là số các đối tượng có kiểu hạng mục ck,j thứ k trong thuộc tính Aj và
, r( , ) ck j j k j n f A c X n
là tần xuất tương ứng của hạng mục ck,j trong X.
Định lý 1: Hàm D(X, Q) là được cực tiểu hoá nếu: f Ar( j q Xj ) f Ar( j ck j, X) với qj ck,j (j=1,…,m)
Định lý 1 định nghĩa một cách để tìm Q khi biết X, và điều đó thực sự quan
trọng vì nó cho phép sử dụng mô hình k-means để phân cụm dữ liệu hạng mục. Định lý cũng bao hàm rằng kiểu của tập dữ liệu X là không duy nhất. Ví dụ, kiểu
của tập {[a, b], [a, c], [c, b], [b, c] } cũng là kiểu của [a, b] hay [a, c].
3.6.1.4. Thuật toán k-modes
Khi (1) được sử dụng như một độ đo phi tương tự cho các đối tượng kiểu hạng mục, giá trị của hàm: 1 1 ( , ) ( , ) k n i,l i l l i P W w d X Q Q với 1 1 1 0,1 1 ,1 k i,l l i,l w i n w i n l k trở thành , , 1 1 ( , ) ( , ) k n m i,l i j l j l i j=1 P W w x q Q ở đây wi,l W và Ql = [ql,1 , ql,2 , ..., ql,m] Q.
Để cực tiểu hoá giá trị hàm, thuật toán k-means cơ bản có thể biến đổi bằng cách sử dụng so khớp đơn giản độ đo phi tương tự để giải quyết P1, sử dụng các kiểu (modes) cho phân cụm thay vì means và lựa chọn các kiểu phù hợp với định lý 1 để giải quyết P2.
Trong giải thuật cơ bản chúng ta cần tính lại tổng giá trị P với toàn bộ tập dữ liệu, mỗi lần thu được Q hay W mới. Trong thực tế, để cho việc tính toán được hiệu quả hơn chúng ta sử dụng thuật toán dưới đây:
Khởi tạo k modes cho từng cụm.
Cấp phát một đối tượng tới cụm có kiểu gần nhất tới nó phù hợp với (1). Cập nhật kiểu cho cụm sau mỗi lần cấp phát theo với định lý 1.
Sau khi tất cả các đối tượng được cấp phát cho các cụm, kiểm tra lại độ phi tương tự của các đối tượng đối với các mode hiện thời. Nếu một đối tượng được tìm thấy có kiểu gần nhất thuộc về một cụm khác chứ không phải cụm hiện thời, cấp phát lại đối tượng tới cụm đó và cập nhật lại kiểu cho cả hai cụm.
Lặp lại bước 3 cho tới khi không còn đối tượng nào có thể thay đổi được các cụm sau một chu trình kiểm tra đầy đủ đối với toàn bộ tập dữ liệu.
Việc chứng minh sự hội tụ của thuật toán này là chưa có (Anderberg, 1973). Tuy nhiên, thực tế sử dụng nó đã chỉ ra rằng nó luôn hội tụ.
Giống như thuật toán k-means, thuật toán k-modes cũng cung cấp giải pháp tối ưu cục bộ phụ thuộc vào các mode khởi tạo ban đầu và thứ tự của các đối tượng
trong tập dữ liệu. Hiện tại, thuật toán k-modes có hai phương pháp lựa chọn mode
khởi tạo. Phương pháp đầu tiên lựa chọn k bản ghi khác nhau đầu tiên của tập dữ liệu làm k modes khởi tạo. Phương pháp thứ hai gồm các bước như sau:
Tính toán các tần xuất của tất cả các hạng mục tới tất cả các thuộc tính và lưu giữ chúng trong một mảng hạng mục theo thứ tự giảm dần được chỉ ra trong hình 1. Ở đây, ci,j biểu thị hạng mục i của thuộc tính j và f c( i j, ) f c( i1,j) với f(c i, j) là tần
xuất của hạng mục ci, j.
Gán tần xuất các hạng mục thường xuyên nhất cho k modes khởi tạo. Với ví dụ như trong hình 3.20, giả sử k = 3. Ta gán Q1 = [q1,1 = c1,1, q1,2= c2,2 , q1,3 = c3,3 , q1,4 = c1,4], Q2 = [q2,1 = c2,1 , q2,2 = c1,2 , q2,3 = c4,3 , q2,4 = c2,4] , Q3 = [q3,1 = c3,1 , q3,2 = c2,2 , q3,3 = c1,3 , q3,4 = c3,4]. 1,1 1,2 1,3 1,4 2,1 2,2 2,3 2,4 3,1 3,3 3,4 4,1 4,3 5,3 c c c c c c c c c c c c c c Hình 3.20. Mảng hạng mục của tập dữ liệu với 4 thuộc tính có số hạng mục tƣơng ứng là 4, 2, 5, 3
Bắt đầu với Q1. Lựa chọn bản ghi tương tự nhất với Q1 và thay thế Q1 với bản ghi mode khởi tạo đầu tiên. Sau đó lựa chọn bản ghi tương tự nhất với Q2 và thay thế Q2 với bản ghi mode khởi tạo thứ hai. Tiếp tục xử lý cho tới khi Qk được thay thế. Trong các lựa chọn này Ql Qt với lt.
Bước 3 được thực hiện để tránh xuất hiện các cụm rỗng. Mục đích của phương pháp lựa chọn này là tạo ra một sự đa dạng các modes khởi tạo, để có thể dẫn tới
một kết quả phân cụm tốt hơn.
3.6.2. Thuật toán ROCK
ROCK (RObust Clustering using linKs) là thuật toán phân cụm dữ liệu hạng
mục [9]-[17]-[20]. Năm 1999, Guha và các cộng sự đã đề xuất một cách tiếp cận mới dựa trên một khái niệm mới gọi là liên kết (links) giữa các đối tượng dữ liệu. Ý tưởng này giúp khắc phục các vấn đề nảy sinh khi sử dụng các hệ Euclidean qua các vector, trong đó mỗi vector đại diện cho một bộ trong cơ sở dữ liệu mà các mục là các định danh có giá trị tuyệt đối. Thuật toán đưa ra một cách định nghĩa mới về khoảng cách giữa đối tượng dữ liệu bằng cách sử dụng khái niệm số đối tượng dữ liệu lân cận chung và số lượng các điểm dữ liệu lân cận chung này phải lớn hơn một ngưỡng cho trước. Sau đó thuật toán áp dụng các bước của thuật toán phân cấp để phân cụm dữ liệu. Chính xác hơn, ROCK liên quan đến một số định nghĩa như sau:
3.6.2.1. Đối tượng dữ liệu lân cận
Hai đối tượng dữ liệu X và Y được gọi là lân cận nếu độ tương đồng sim(X, Y) của hai đối tượng dữ liệu lớn hơn ngưỡng θ cho trước: sim(X, Y) ≥ θ. Hàm sim(X, Y) là hàm tính độ tương đồng giữa hai đối tượng dữ liệu đã biết như các hàm khoảng cách, hàm non-metric. Ví dụ đối với cơ sở dữ liệu Market Basket, độ tương đồng giữa hai đối tượng dữ liệu T1, T2 được định nghĩa như sau:
sim(T1,T2)= | T | | T | 2 1 2 1 T T 3.6.2.2. Độ liên kết
Hai đối tượng dữ liệu định danh X và Y, độ liên kết link(X, Y) giữa hai đối
tượng dữ liệu X, Y là số các đối tượng lân cận chung của đối tượng dữ liệu X và đối tượng dữ liệu Y.
Gọi sim(pi , pj) là độ tương đồng của hai đối tượng dữ liệu pi, pj thì độ liên kết giữa pi, pj như sau:
Hình 3.21. Số các đối tƣợng lân cận chung của hai đối tƣợng dữ liệu i, j
3.6.2.3. Hàm tiêu chuẩn
Để có thể mô tả được các cụm tốt nhất, thuật toán đưa ra khái niệm hàm tiêu chuẩn, khi đó cụm tốt nhất sẽ là cụm giá trị của hàm tiêu chuẩn cực đại. Bắt nguồn từ tư tưởng để các đối tượng dữ liệu trong một cụm tương đồng với nhau, ta cần phải cực đại tổng các giá trị link(X, Y) của bất kì đối tượng dữ liệu X, Y trong một
cụm và cực tiểu hóa giá trị link(X, Y) nếu hai đối tượng dữ liệu X, Y nằm ở cụm
khác nhau. Từ đó thuật toán đưa ra khái niệm hàm tiêu chuẩn sau:
, 1 ( ) 1 ) , ( 2 1 f i C y C x k i i n y x link n E
với Ci là cụm thứ i có niđối tượng dữ liệu. Tuy nhiên, mặc dù hàm tiêu chuẩn đảm bảo các điểm có nhiều liên kết với nhau sẽ thuộc về cùng một cụm, nhưng hàm lại không đảm bảo tất cả các điểm sẽ được đặt vào cùng một cluster đơn. Do đó, hàm không “ép” các điểm mà giữa chúng có rất ít link phải được tách thành các
cluster khác nhau.
Để giải quyết vấn đề trên, trong hàm tiêu chuẩn E được định nghĩa ở trên đã
thực hiện chia toàn bộ số link của tất cả các điểm trong cụm Ci cho toàn bộ số link
cần phải có trong Ci, sau đó nhân kết quả với số điểm dữ liệu ni của Ci. Ta ước lượng tổng số link trong cụm Ci là ni1+2f(), trong đó, hàm f() phụ thuộc vào tập dữ
liệu cũng như loại cụm dữ liệu mong đợi với thuộc tính như sau: mỗi điểm thuộc về cụm Ci sẽ có khoảng nif(θ) lân cận trong Ci. Nếu có hàm f như vậy, ta giả sử ni1+2f(θ) là số liên kết mong đợi giữa các cặp đối tượng trong Ci. Bằng việc thực hiện chia tổng số liên kết cho số liên kết mong đợi, ta đã loại được trường hợp đặt các điểm có ít liên kết vào cùng một cụm, bởi vì việc đặt chúng vào cùng một cụm sẽ làm cho số liên kết mong đợi của cụm sẽ tăng lên lớn hơn rất nhiều so với số liên kết thực sự trong cụm, do đó làm giảm giá trị của hàm tiêu chuẩn.
Từ đó thuật toán đưa ra một số khái niệm liên quan:
Liên kết trong (interconnectivity) giữa hai cụm C1 và C2 được biểu diễn bằng số các cross-link giữa chúng.
1, 2 ( , )
X C Y C
cross link link X Y
Số các liên kết được kỳ vọng trong cụm Ci được xác định bởi ni1 2 ( ) f . Trong đó, ( ) 1 1 f .
Thuật toán ROCK đo độ tương đồng của hai cụm bằng cách so sánh tổng số liên kết trung gian (aggregate interconnectivity) của hai cụm với một mẫu liên kết
trong tĩnh (static interconnectivity model) do người dùng định nghĩa. Từ các khái niệm trên đây, thuật toán ROCK được mô tả như sau.
3.6.2.4. Thuật toán ROCK
Tổng quan về thuật toán ROCK được mô tả như hình sau:
Hình 3.22. Tổng quan về ROCK
Sau khi ta lấy ra một mẫu cụm ngẫu nhiên từ cơ sở dữ liệu, áp dụng thuật toán phân cấp thuật toán xác định được độ liên kết giữa các đối tượng dữ liệu trong mẫu. Các đối tượng dữ liệu sẽ được gán vào các cụm theo đánh giá dựa trên hàm tiêu chuẩn.
Thuật toán dựa vào hàm tiêu chuẩn là độ đo goodness trong cụm. Đối với cặp cluster Ci ,Cj thì liên kết link[Ci ,Cj] giữa hai cụm này là:
, ( , )
q i r j q r p C p C
cross link link p p
Khi đó độ đo goodness g(Ci ,Cj) để trộn 2 cluster Ci , Cj còn được gọi là độ đo sự phù hợp (goodness measure) và được cho bởi biểu thức:
1 2 ( ) 1 2 ( ) 1 2 ( )