CHƯƠNG 2 CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU
2.3 Thuật toán phân cụm dữ liệu bản đồ không gian véc tơ
2.3.2. Phương pháp phân cấp
Phương pháp phân cấp tạo ra một phân rã của tập đối tượng dữ liệu dưới dạng cây (dendrogram, theo Hy Lạp thì dendron là “cây”, gramma là “vẽ”), trong đó chia đệ quy cơ sở dữ liệu thành các tập con nhỏ hơn, để minh họa trật tự các cụm được sinh ra. Cây có thể biểu diễn dưới 2 dạng là bottom-up và top- down.
Tiếp cận bottom-up hay còn gọi là tiếp cận hội tụ (agglomerative), bắt đầu với mỗi đối tƣợng thành lập một cụm riêng biệt. Sau đó tiến hành hợp hoặc nhóm các đối tƣợng theo một vài tiêu chí đo nhƣ khoảng cách giữa trung tâm của 2 nhóm. Thuật toán kết thúc khi tất cả các nhóm đƣợc hợp thành một nhóm (nút gốc của cây) hoặc thỏa mãn điều kiện dừng.
Còn tiếp cận top-down đƣợc gọi là tiếp cận phân chia (divisive), bắt đầu coi tất cả các đối tượng trong một cụm. Tại mỗi bước lặp thì cụm được phân chia thành cụm nhỏ hơn theo tiêu chí nào đó. Việc phân chia dừng khi mỗi đối tƣợng là một cụm hoặc thỏa mãn điều kiện dừng.
Ưu điểm của phương pháp này là kết hợp linh hoạt vào mức độ chi tiết, dễ dàng xử lý với bất kỳ kiểu đo độ tương tự/khoảng cách nào, thích hợp với mọi kiểu dữ liệu thuộc tính. Tuy nhiên, phương pháp tồn tại nhược điểm là điều kiện để dừng vòng lặp rất mơ hồ, không cụ thể. Mặt khác, phương pháp không duyệt lại các mức trước khi xây dựng để cải tiến chất lượng các cụm.
Thuật toán xuất hiện sớm nhất của phương pháp phân cấp là thuật toán AGNES (Agglomerative NEsting) và DIANA (DIvisia ANAlysic) đƣợc Kaufman L. và Rousseeuw P. J giới thiệu vào năm 1990. Hai thuật toán này sử dụng độ đo đơn giản trong quá trình hợp/phân chia cụm, do vậy kết quả đƣa ra đôi khi không chính xác. Ngoài ra, phương pháp phân cấp thực hiện trên cơ sở dữ liệu không gian còn có các thuật toán CURE (Clustering Using Representatives), BIRCH (Balance Iterative Reducing and Clustering using Hierarchies), CHAMELEON. Dưới đây mô tả thuật toán cải tiến từ AGNES và DIANA để minh họa cho phương pháp phân cấp này.
2.3.2.1. Thuật toán BIRCH
Thuật toán BIRCH được giới thiệu vào năm 1996. Ý tưởng chính của BIRCH là nén các đối tƣợng dữ liệu thành nhiều cụm nhỏ hơn, sau đó thực hiện phân cụm trên các cụm con. Nhờ việc nén dữ liệu, số các cụm con nhỏ hơn số đối tƣợng, nên việc gom cụm đƣợc thực hiện trên bộ nhớ chính và chỉ cần duyệt dữ liệu một lần. Thuật toán BIRCH chỉ làm việc trên trường dữ liệu kiểu số (metric) và sử dụng trên cơ sở dữ liệu lớn.
Thuật toán gồm các giai đoạn
- P1: Lấy dữ liệu ra bộ nhớ, sau đó xây dựng cây CF-tree (Clustering Feature tree) để lưu trữ dữ liệu.
- P2: Giảm kích thước (condense) tập dữ liệu (tùy chọn). Xây dựng lại cây CF-tree với kích thước T nào đó, tiến hành loại bỏ các phần tử ngoại lai và nhóm các cụm con có phân bố dầy.
- P3: Sử dụng các thuật toán gom cụm hiện có (K-means, CLARANS,...) trên cây CF-tree. Xác định cách giải quyết vấn đề liên quan đến cụm vốn có của các đối tƣợng.
- P4: Làm mịn lại các cụm (tùy chọn). Duyệt lại các đối tƣợng trong cơ sở dữ liệu rồi gán lại các đối tượng vào cụm tương ứng trong P3. Xác định cách giải quyết các đối tƣợng có cùng giá trị thuộc nhiều lá khác nhau.
Cây CF trong đó mỗi thành phần (entry) lưu bộ ba giá trị tổng hợp để duy trì và quản lý một cụm, CF (N,LS,SS)
với N là số điểm trong cụm,
N
i Xi
LS 1
là tổng tuyến tính của N điểm, và
N i Xi
SS 1
2 là tổng bình phương của N điểm.
Thuật toán trên có độ phức tạp tính toán là O(N). Điều đó cho thấy thuật toán phụ thuộc nhiều vào số lƣợng đối tƣợng, và thuật toán đƣa ra các cụm chất lƣợng tốt. Chỉ ra khi thực hiện thuật toán BIRCH sử dụng không gian bộ nhớ ít hơn CLARANS, chạy nhanh hơn và cho kết quả chính xác hơn.
Một điểm chú ý nếu các cụm không có dạng hình cầu thì thuật toán này thực hiện không tốt bởi vì nó dùng giá trị bán kính và đường kính để kiểm soát đường biên cụm.
2.3.2.2. Thuật toán CHAMELEON
Thuật toán CHAMELEON, đƣợc Karypis G. giới thiệu vào năm 1999, có cách tiếp cận giống AGNES, cải tiến chất lƣợng cụm bằng cách dùng các điều kiện phức tạp hơn khi hợp các cụm.
Hình 2.1 mô tả cách tiếp cận của thuật toán CHAMELEON để tìm các cụm trong tập dữ liệu.
Hình 2.4. Các bước thuật toán CHAMELEON
Thuật toán thao tác trên đồ thị rời rạc (sparse graph) trong đó mỗi một nút là một đối tượng trong tập dữ liệu, cạnh biểu diễn độ tương tự nhau giữa các đối tƣợng. Để tìm các cụm của tập dữ liệu, thuật toán gồm 2 giai đoạn: Giai đoạn 1 thực hiện phân chia đồ thị rời rạc thành các cụm con tương đối. Giai đoạn 2 tìm các cụm thật sự bằng cách lặp lại thao tác kết hợp các cụm con.
Thuật toán sử dụng mô hình động để xác định độ tương tự bằng cách kiểm tra chỉ số RI (tính liên thuộc - relative interconnectivity) và RC (tính gần nhau - relative closeness). Với cặp cụm đang xét nếu cả hai chỉ số trên cao thì hai cụm đƣợc hòa nhập thành một cụm mới. Nhờ vậy, thuật toán không phụ thuộc vào mô hình tĩnh do người dùng cung cấp mà nó tự thích nghi với các đặc tính bên trong của các cụm đang hòa nhập lại .
Độ phức tạp tính toán của thuật toán này là O(n2), thuật toán có thể tìm ra các cụm có hình dáng phức tạp hoặc khác nhau, mật độ cũng như kích thước mỗi cụm khác nhau.