3.1. Các thuật toán phân cụm phân hoạch
3.1.3. Thuật toán CLARA
Thuật toán CLARA (Clustering LARge Applications) được Kaufman và
Rousseeuw đề xuất vào năm 1990 [17]-[18] nhằm khắc phục nhược điểm của thuật toán PAM trong trường hợp giá trị k và n là lớn. CLARA tiến hành trích mẫu cho
tập dữ liệu có n phần tử, nó áp dụng thuật toán PAM và tìm ra các đối tượng trung tâm medoid cho mẫu được trích ra từ mẫu dữ liệu này. Nếu mẫu dữ liệu được trích theo một cách ngẫu nhiên thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ liệu ban đầu. Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu và thực hiện phân cụm cho mỗi trường hợp, sau đó tiến hành chọn kết quả
phân cụm tốt nhất khi thực hiện phân cụm trên mẫu này. Để cho chính xác, chất lượng của các cụm được đánh giá thông qua độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng dữ liệu ban đầu. Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích thước 40 + 2k cho các kết quả tốt. Các bước thực hiện của thuật toán CLARA được thể hiện trong hình 3.5 như sau [17]-[18]:
Begin
For i = 1 to 5 do
Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ liệu và áp dụng thuật toán PAM cho mẫu dữ liệu này nhằm để tìm các đối tượng medoid đại diện cho các cụm.
Đối với mỗi đối tượng Oj trong tập dữ liệu ban đầu, xác định đối tượng medoid tương tự nhất trong số k đối tượng medoid.
Tính độ phi tương tự trung bình cho phân hoạch các đối tượng thu được ở bước trước, nếu giá trị này bé hơn giá trị tối thiểu hiên thời thì sử dụng giá trị này thay cho giá trị tối thiểu ở trạng thái trước, như vậy, tập k đối tượng medoid xác định ở bước này là tốt nhất cho đến thời điểm này.
Quay về bước 1
End.
Hình 3.5. Các bƣớc thực hiện thuật toán CLARA
Độ phức tạp tính toán của CLARA là O(k(40+k)2 + k(n-k)), và thuật toán có
thể thực hiện đối với tập dữ liệu lớn. Cần chú ý với kỹ thuật tạo mẫu trong PCDL: kết quả phân cụm có thể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt tối ưu cục bộ. Ví dụ, nếu các đối tượng medoid của dữ liệu khởi tạo không nằm
trong mẫu, khi đó kết quả thu được không được đảm bảo là tốt nhất.
Ở đây, một phần nhỏ dữ liệu hiện thời được chọn như một đại diện của dữ liệu thay vì sử dụng toàn bộ dữ liệu và sau đó medoid được chọn từ mẫu sử dụng PAM. Nếu mẫu được chọn theo cách ngẫu nhiên thì nó có thể cần phải đại diện tập dữ liệu gốc. Các đối tượng đại diện (medoids) được chọn là tương tự mà đã được chọn từ
tập dữ liệu. Nó đưa ra nhiều mẫu của tập dữ liệu, áp dụng PAM trên mỗi mẫu, và trả lại cụm tốt nhất ở đầu ra, như vậy, CLARA có thể xử lý với tập dữ liệu lớn hơn PAM.