Điều kiện dừng của thuật toán thƣờng chọn một trong các điều kiện sau:
1. t = Tmax trong đó Tmax là số số lần lặp cho trƣớc 2. t t 1
F F trong đó ∆ là hằng số bé cho trƣớc 3. Tới khi các cụm không đổi.
Khi tập dữ liệu không quá lớn thì ngƣời ta dùng điều kiện dừng 3. Thuật toán này khi dùng điều kiện 3 sẽ cho cực trị địa phƣơng của F. Để có cực trị toàn cục ngƣời ta phải tìm phƣơng pháp khắc phục, chẳng hạn dùng giải thuật di truyền hoặc khởi tạo nhiều klần và chọn F nhỏ nhất.
Nếu tâm khởi tạo không tốt thì có cụm rỗng (hay tâm chết). Ngoài ra khi có nhiễu thì thuật toán này không ổn định. Ngƣời ta khắc phục bằng thuật toán K-Medoids
2.1.2. Thuật toán phân cụm K-centroid
Không giống nhƣ thuật toán K-Means, thay cho việc lấy giá trị trung bình, thuật toán K- Medoids sử dụng một đối tƣợng trong một cụm làm tâm cụm. Điều này làm cho thuật toán K-Medoids [1] tránh đƣợc ảnh hƣởng của 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.
Cụ thể đƣợc đặc tả nhƣ sau:
Thuật toán k- centroid
Input: Số lƣợng cụm K, và một cơ sở dữ liệu chứa n đối tƣợng.
Output: 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 K đối tƣợng chọn ngẫu nhiên trong D làm tâm cụm. 2. Lặp khi điều kiện dừng chƣa thỏa mãn
2.1. Phân hoạch D thành k cụm bằng cách gán mỗi đối tƣợng vào cụm mà nó gần tâm nhất.
2.2. Tính trọng tâm (trung bình) các cụm theo các đối tƣợng đã đƣợc phân hoạch ở bƣớc 2.1. và chọn phần tử mới gần trong tâm nhất làm tâm mới. Điều kiện dừng nhƣ thuật toán k-means. Các biến thể của thuật toán này là: PAM ( Partitioning Around Medoids ); CLARA (Clustering LARge Applications); CLARANS
2.2. Phƣơng pháp phân cấp.
Một phƣơng pháp phân cụm phân cấp [1, 8] bằng cách nhóm các đối tƣợng vào một cây của cụm. Việc xây dựng cây đƣợc thực hiện theo hai cách: một là từ dƣới lên (Bottom-up) hoặc từ trên xuống (Top-Down). Cách thực hiện từ dƣới lên hay ngƣời ta còn gọi là “sát nhập”, cách từ trên xuống gọi là “chia”. Thực hiện từ dƣới lên là mỗi đối tƣợng ta coi nhƣ là một nhóm, sau đó sát nhập các đối tƣợng hay các nhóm theo các hàm tính khoảng cách giữa các tâm của hai nhóm. Điều này đƣợc lặp lại cho đến khi tất cả các nhóm đƣợc trộn vào làm một nhóm hoặc cho đến khi thỏa mãn một số điều kiện để kết thúc. Thực hiện theo phƣơng pháp từ trên xuống là bắt đầu với tất cả các đối tƣợng nằm trong một cụm. Mỗi một bƣớc lặp, một cụm đƣợc tách ra nhỏ hơn theo một tiêu chí nào đó. Quá trình này lặp đi lặp lại cho đến khi mỗi đối tƣợng là một cụm, hoặc cho đến khi nó thỏa mãn một số điều kiện để kết thúc.
Với quy tắc liên kết để chọn cặp cụm trộn cho trƣớc, phƣơng pháp trộn bao gồm các bƣớc sau.
1. Khởi tạo mỗi phần tử làm một cụm i xi
2. Khi c ≥ 1 thực hiện lặp:
Chọn hai cụm gần nhất ivà j theo quy tắc chọn
trộn ivà jthành ij i j (còn c-1 cụm) Giảm c.
. Ví dụ. Trong mục này ta giả thiết đã có quy tắc liên kết và không bàn cụ thể tới cách chọn cụm trộn. Phƣơng pháp "dƣới lên" phân cụm tập dữ liệu S={a, b,c ,d, e} có thể thực hiện nhƣ sau:
Bƣớc 0: Mỗi đối tƣợng dữ liệu đƣợc gán cho mỗi cụm, nhƣ vậy các cụm ban đầu là {a},{b},{c},{d},{e}.
Bƣớc 1: {a} và {b} là đƣợc gộp vào thành một cụm lớn hơn là {a,b} và các cụm thu đƣợc là : {a, b}, {c},{d},{e}.
Bƣớc 2: Gộp cụm {d},{e} thành {d, e}. Các cụm thu đƣợc là {a, b}, {c},{d, e}.
Bƣớc 3: Gộp cụm {c } với {d,e} thành {c, d, e}. Các cụm thu đƣợc là {a, b}, {c,d, e}.
Bƣớc 4: Gộp cụm hai cụm {c, d, e} với {a,b} thành {a, b, c, d, e}. Quá trình trên đƣợc mô tả trong hình 2.2.
Hình 2.2: Ví dụ về trộn và tách của phân cụm phân cấp trên tập đối tượng {a, b, c, d, e}
Trong cả hai cách phân loại phân cấp này, ta có thể xác định số cụm dự kiến và điều kiện để kết thúc. Có bốn độ đo khoảng cách sử dụng rộng rãi giữa các cụm, ở đây |p-
Agglomerative (AGNES)
Divisive (DIANA)
p’| là khoảng cách giữa hai đối tƣợng hoặc điểm p và p’; mi là trung bình của cụm Ci và ni là số đối tƣợng trong Ci. Khoảng cách nhỏ nhất: dmin(Ci, Cj) = m in , ' i j pC pC |p-p’| Khoảng cách lớn nhất: dmax(Ci, Cj) = m a x , ' i j pC pC |p-p’| Khoảng cách có nghĩa: dmean(Ci, Cj) = |mi - mj|
Khoảng cách trung bình: davg(Ci, Cj) =
' 1 ' i j p C p C i j p p n n
Khi thuật toán sử dụng khoảng cách nhỏ nhất dmin(Ci, Cj) để đo khoảng cách giữa các cụm, đôi khi nó còn đƣợc gọi là nearest-neighbor. Nếu thuật toán sử dụng khoảng cách xa nhất dmax(Ci, Cj), thuật toán đó còn có tên gọi thuật toán phân cụm fathest-
neighbor.
Ta thấy thuật toán AGNES và DIANA thƣờng sử dụng các hàm đánh giá đơn giản để trộn hoặc tách các cụm. Thực tế ta thấy rằng các bƣớc trộn và tách là không thuận nghịch, vì vậy các phƣơng pháp đƣa ra thƣờng cho kết quả phân cụm không chính xác. Các thuật toán BIRCH, ROCK khắc phục đƣợc các nhƣợc điểm này.
2.2.1. Thuật toán BIRCH
BIRCH [10, 20] đƣợc thiết kế để phân cụm dữ liệu số với số lƣợng lớn bằng cách tích hợp phân cụm phân cấp (trạng thái khởi đầu phân cụm vi mô) và các phƣơng pháp phân cụm khác chẳng hạn nhƣ phân cụm lặp (trạng thái sau phân cụm vĩ mô). Nó vƣợt qua hai sự khó khăn của phƣơng pháp phân cụm tích lũy: Thứ nhất là khả năng mở rộng và thứ hai là khả năng không quay lại đƣợc bƣớc trƣớc đó.
BIRCH đƣa ra hai khái niệm: đặc trƣng phân cụm và cây đặc trƣng phân cụm (CF tree), đƣợc sử dụng để tóm tắt các đại diện cụm. Những cấu trúc này giúp phƣơng pháp phân cụm hiệu quả, đạt kết quả tốt và nó có khả năng thực hiện trên các bộ dữ liệu lớn, và nó đảm bảo sự linh động của dữ liệu đầu vào.
Chúng ta sẽ xét sâu hơn các cấu trúc vừa đề cập đến. Cho n đối tƣợng dữ liệu với d chiều, chúng ta có thể xác định cụm trung tâm x0, bán kính R, và đƣờng kính D của cụm nhƣ sau: 1 0 n i i x x n
2 1 n i o i x x R n 2 1 1 ( 1) n n i j i j x x D n n
Ở đây R là khoảng cách trung bình từ các đối tƣợng thành viên tới tâm của cụm và D là khoảng cách trung bình giữa các cặp trong cụm. Cả hai R và D thể hiện tính gần gũi của cụm xung quanh tâm. Một đặc trƣng phân cụm (CF) là một vector 3 chiều tổng hợp thông tin về các cụm của đối tƣợng. Cho n đối tƣợng d chiều trong một phân cụm, {xi}, khi đó CF của cụm đƣợc định nghĩa là:
CF = {n, LS, SS}
ở đây n là số điểm trong cụm, LS là tổng tuyến tính của n điểm (có nghĩa là, LS= 1 n i i x ),
SS là tổng bình phƣơng của các điểm dữ liệu (có nghĩa là, 2 1 n i i x ) Hình 2.3: Cấu trúc cây CF
Cây CF có chứa nút trong và nút lá, nút trong là nút chứa các nút con còn nút lá thì không có nút con. Nút trong lƣu trữ tổng các đặc trƣng của cụm (CF) của các nút con của nó. Một cây (CF) đƣợc đặc trƣng bởi hai tham số: Tham số nhánh (Branching factor - B) và ngƣỡng (Threshold - T). B xác định tối đa các nút con của một nút lá trong của cây. T là khoảng cách tối đa giữa bất kì một cặp đối tƣợng trong nút lá của cây, khoảng cách này còn gọi là đƣờng kính của các cụm con đƣợc lƣu tại các nút lá. Hai tham số này nó ảnh hƣởng đến kích thƣớc của cây CF.
CF1 CF2 --- CFk
CF11 CF12 --- CF1k
Mức gốc
BIRCH áp dụng một kĩ thuật nhiều giai đoạn: Thực hiện quét một lần tập dữ liệu tạo ra một phân cụm tốt ban đầu, và có thể quét một hoặc nhiều lần sau đó để cải tiến chất lƣợng. Thuật toán BIRCH thực hiện gồm hai giai đoạn chính là:
Giai đoạn 1: BIRCH quét CSDL để xây dựng một cây CF khởi tạo, mà đƣợc lƣu trữ trong bộ nhớ, có thể đƣợc xem nhƣ là một sự nén ở nhiều mức của dữ liệu để cố gắng bảo vệ cấu trúc phân cụm có sẵn của dữ liệu.
Giai đoạn 2: BIRCH lựa chọn một thuật toán phân cụm để phân cụm các nút lá của cây CF, cố gắng loại bỏ các phân cụm mà dữ liệu nằm thƣa thớt hay còn gọi là phân cụm dƣ thừa và nhóm các phân cụm thành một phân cụm lớn hơn.
Ở bƣớc đầu tiên, khi một đối tƣợng đƣợc thêm vào một cụm, nếu đƣờng kính của cụm này lớn hơn giá trị ngƣỡng T thì các cụm sẽ đƣợc phân chia lại. Khi đó ta sẽ đƣợc tập các cụm mới. Ở bƣớc thứ hai, có thể áp dụng một thuật toán phân cụm bất kì để thực hiện việc phân tách hoặc hợp nhất các cụm lại.
Thuật toán BIRCH có ƣu điểm là tốc độ thực hiện PCDL nhanh và có thể áp dụng với CSDL lớn, thuật toán này cũng thực sự hiệu quả khi áp dụng với tập dữ liệu tăng trƣởng theo thời gian. Độ phức tạp tính toán của thuật toán này là O(n), trong đó n là số lƣợng đối tƣợng đƣợc phân cụm. Tuy nhiên, BIRCH có một số hạn chế sau: Thuật toán này sử dụng bán kính hoặc đƣờng kính để kiểm soát ranh giới các cụm do đó nó có thể không xử lý tốt nếu các cụm không có hình dạng cầu và chất lƣợng của các cụm sẽ khám phá không đƣợc tốt. Thuật toán BIRCH không phù hợp với dữ liệu với số chiều cao.
2.2.2. Thuật toán ROCK.
ROCK (RObust Clustering using linKs) là một thuật toán phân cụm phân cấp cho các thuộc tính phạm trù (định danh) [10], khám phá các khái niệm về liên kết (số lƣợng của hàng xóm chung giữa hai đối tƣợng) với dữ liệu là các thuộc tính phạm trù. Thuật toán phân cụm truyền thống phân cụm dữ liệu với các thuộc tính Boolean và phân cụm sử dụng hàm tính khoảng cách. Tuy nhiên, các thực nghiệm cho thấy rằng các biện pháp khoảng cách nhƣ vậy cho kết quả phân cụm dữ liệu không cao với dữ liệu phạm trù. Hơn thế nữa, hầu hết các thuật toán phân cụm chỉ đánh giá sự tƣơng tự giữa các điểm khi phân cụm, có nghĩa là ở mỗi bƣớc các điểm tƣơng tự nhất đƣợc sát nhập vào một cụm duy nhất. Cách tiếp cận này “địa phƣơng hóa” dễ bị lỗi. Ví dụ, hai cụm riêng biệt có thể có một vài điểm hoặc giá trị ngoại lai ở gần, do vậy dựa trên sự tƣơng tự giữa các điểm để đƣa ra quyết định phân cụm có thể gây ra hai cụm đƣợc sát nhập. ROCK có cách tiếp cận toàn cục hơn với việc nhóm bằng cách xem xét các vùng lân cận của các cặp điểm riêng
rẽ. Nếu hai điểm tƣơng tự là láng giềng của nhau thì hai điểm có thể thuộc cùng một cụm và nhƣ vậy có thể đƣợc sáp nhập.
Thật vậy, hai điểm pi và pj là láng giềng của nhau nếu sim(pi, pj) , trong đó sim là hàm tƣơng tự và là một ngƣỡng dùng quy định. Chúng ta có thể chọn sim là một khoảng cách số hoặc thậm chí không phải là khoảng cách số đƣợc chuẩn hóa để giá trị của nó nằm trong khoảng 0 và 1, với giá trị lớn hơn cho thấy rằng các điểm tƣơng tự hơn. Số lƣợng các liên kết giữa pi và pj đƣợc định nghĩa là số lƣợng các láng giềng chung giữa pi và pj. Nếu số lƣợng các liên kết giữa hai điểm là lớn, khi đó nó có nhiều khả năng thuộc về cùng một cụm. Bằng việc xem xét các điểm dữ liệu lân cận trong mối quan hệ giữa các cặp cá thể của các điểm, ROCK là đáng tin cậy hơn nhiều so với các phƣơng pháp phân cụm chuẩn mà chỉ tập trung vào sự tƣơng tự của các điểm.
ROCK là một biện pháp tốt để sử dụng đánh giá các phân cụm. Lấy mẫu ngẫu nhiên đƣợc sử dụng để mở rộng các tập dữ liệu lớn. Độ phức tạp xấu nhất của thuật toán ROCK là O(n2+nmmma+n2logn) trong đó mm và ma tƣơng ứng là số lƣợng tối đa và trung bình của láng giềng, và n là số của các đối tƣợng.
2.3. Phƣơng pháp phân cụm dựa trên mật độ.
Để phát hiện ra các cụm với hình dạng tùy ý, phƣơng pháp phân cụm dựa trên mật độ [8] đã đƣợc phát triển. Thông thƣờng coi cụm nhƣ các khu vực dày đặc của các đối tƣợng trong không gian dữ liệu đƣợc phân cách bởi các khu vực mật độ thƣa (đại diện cho nhiễu). DBSCAN phát triển các cụm theo một phân tích kết nối dựa trên mật độ. OPTICS mở rộng DBSCAN để tạo ra một cụm đƣợc thiết lập trƣớc thu đƣợc từ một loạt các thiết lập tham số. DENCLUE đối tƣợng cụm dựa trên một tập hợp các chức năng phân bố mật độ.
Thuật toán DBSCAN
DBSCAN là một phƣơng pháp phân cụm dựa trên mật độ kết nối các khu vực với mật độ đủ cao. Thuật toán phát triển các khu vực có mật độ đủ cao thành các cụm và phát hiện ra các cụm hình dạng tùy ý trong cơ sở dữ liệu không gian với nhiễu. Nó định nghĩa một cụm nhƣ là một tập tối đa của mật độ kết nối các điểm.
Ý tƣởng của thuật toán: Thuật toán yêu cầu hai tham số đầu vào là ε và MinPts.
Các khu vực lân cận trong vòng một bán kính ε của một đối tƣợng nhất định đƣợc gọi là ε - láng giềng của đối tƣợng.
Nếu vùng lân cận ε của một đối tƣợng có chứa ít nhất một số lƣợng tối thiểu các đối tƣợng MinPts thì đối tƣợng đƣợc gọi là một đối tƣợng cốt lõi.
Cho một tập các đối tƣợng D, chúng ta nói rằng một đối tƣợng p thuộc trong phạm vi mật độ trực tiếp của đối tƣợng q nếu p nằm trong ε - láng giềng của đối tƣợng q và q là một đối tƣợng cốt lõi.
Một đối tƣợng p nằm trong phạm vi mật độ của đối tƣợng q đối với ε và MinPts trong một tập các đối tƣợng D, nếu có một chuỗi các đối tƣợng p1, …, pn, ở đây p1=q và pn=p và pi+1 nằm trong phạm vi mật độ trực tiếp của pi đối với ε và MinPts, với 1 i n , pi D.
Một đối tƣợng p nằm trong phạm vi mật độ liên kết của đối tƣợng q đối với ε và MinPts trong một tập các đối tƣợng D, nếu có một đối tƣợng o D, trong đó cả p và q đều nằm trong phạm vi mật độ của o với ε và MinPts.
Ví dụ hình 2.4 cho một ε nhất định đại diện bán kính của vòng tròn và xét MinPts = 3. Dựa trên định nghĩa:
Trong những điểm dán nhãn m, p, o và r là các đối tƣợng cốt lõi bởi vì mỗi một ε - láng giềng đều có chứa ít nhất ba điểm.
q nằm trong phạm vi trực tiếp của m, m nằm trong phạm vi trực tiếp của p và ngƣợc lại.
q nằm trong phạm vi gián tiếp của p, tuy nhiên p không nằm trong phạm vi của q và q không phải là đối tƣợng cốt lõi.
o, r và s đều có liên kết mật độ.
Một cụm dựa trên mật độ là một tập hợp các đối tƣợng có liên kết mật độ kết nối tối đa với phạm vi liên kết mật độ. Mỗi đối tƣợng không có trong bất kỳ cụm nào đƣợc gọi là nhiễu.
"Làm thế nào để DBSCAN tìm ra cụm?" DBSCAN tìm kiếm cho các cụm bằng