THUẬT TOÁN AHC CƠ BẢN

Một phần của tài liệu Tiểu luận môn học khai phá dữ liệu TÌM HIỂU CLUSTERING (Trang 25)

Nhiều kỹ thuật AHC biến đổi trên một approach đơn: bắt đầu với những điểm độc lập như những nhóm, kết nối hai nhóm lại cho đến khi chỉ còn lại một nhóm. Cách tiếp cận này được trình bày trong thuật toán 8.3.

Thuật toán 8.3: Thuật toán AHC cơ bản

1. Tính toán ma trận độ gần, nếu cần thiết 2. Repeat

3. Nối hai nhóm lại

4. Cập nhập ma trận độ gần phản ánh độ gần của những nhóm mới với nhóm gốc ban đầu

5. Until Chỉ còn lại một nhóm

Định nghĩa độ gần giữa các nhóm

Toán tử khóa của thuật toán 8.3 là tính toán độ gần giữa hai nhóm, và định nghĩa có khác nhau với những kỹ thuật AHC khác nhau mà ta sẽ thảo luận. Độ gần nhóm được định nghĩa theo dạng với những dạng đặc biệt của nhóm theo một nghĩa nào đó (xem 8.12). Ví dụ, nhiều kỹ thuật AHC như: Min, Max, Group Average, đến từ biểu diễn đồ thị cơ bản của những nhóm. Min định nghĩa độ gần nhóm là độ gần giữa hai điểm gần nhất trong hai nhóm khác nhau, hoặc sử dụng đồ thị, là cạnh gần nhất giữa hai nốt trong những tập nốt khác nhau. Điều này mang lại những nhóm tiếp giáp cơ bản như trong hình 8.2(c). Theo cách khác, Max xem độ gần giữa hai điểm xa nhất trong những nhóm khác nhau là độ gần nhóm, hoặc dùng đồ thị, cạnh dài nhất giữa hai nốt trong hai tập nốt khác nhau (nếu độ gần là khoảng cách, khi đó Min và Max được xem là short và suggestive. Tương tự, tuy nhiên với những giá trị cao hơn chỉ ra những điểm gần hơn, những cái tên hiểu ngược lại với những lý do này, chúng ta thường dùng những tên theo cách khác hơn lần lượt là Single Link và Complete Link). Với cách tiếp cận cơ bản khác, kỹ thuật Group Average định nghĩa độ gần nhóm là độ gần trung bình của tất cả các cặp điểm ở hai nhóm khác nhau.

Hình 8.14 minh họa ba cách tiếp cận này. Đối với Centroid (trọng tâm), định nghĩa khác của độ gần nhóm tự nhiên hơn. Khi dùng trọng tâm, độ gần nhóm được định nghĩa một cách bình thường là độ gần giữa các trọng tâm của nhóm. Một kỹ thuật khác nữa, phương pháp Ward, cũng giả sử rằng một nhóm được biểu diễn bởi trọng tâm của nó. Nhưng đại lượng độ gần giữa hai nhóm xem là độ tăng SSE mà có được khi nối hai nhóm lại với nhau. Giống như K-means, phương pháp Ward tính tổng bình phương khoảng cách nhỏ nhất từ những trọng tâm của chúng.

Độ phức tạp không gian và thời gian

Thuật toán AHC này chỉ biểu diễn khi sử dụng ma trận độ gần. Điều này đòi hỏi lưu trữ độ gần ½ m2 (giả sử ma trận độ gần là đối xứng), với m là số điểm dữ liệu. Không gian cần thiết để giữ track của những nhóm là tỷ lệ với số nhóm, là

m-1 ngoại trừ những nhóm đơn phần tử. Do đó độ phức tạp không gian là O(m2). Phân tích thuật toán AHC cũng đơn giản trong độ phức tạp tính toán. Thời gian O(m2) được yêu cầu để tính ma trận độ gần. Sau bước đó, có m-1 sự lặp lại gồm bước 3 và bước 4 bởi vì có m nhóm lúc đầu và 2 nhóm được nối trong mỗi lần lặp.

Nếu thực hiện tìm kiếm tuyến tính của ma trận độ gần, khi đó ở lần lặp thứ i, bước 3 yêu cầu O((m-i+1)2) thời gian, tỷ lệ với bình phương số nhóm hiện tại. Bước 4 chỉ yêu cầu thời gian O(m-i+1) để cập nhập ma trận độ gần sau khi kết nối hai nhóm lại (một nhóm kết nối chỉ tác động độ gần O(m-i+1) cho những kỹ thuật mà chúng ta xem xét). Không cần chỉnh sửa, điều này mang lại độ phức tạp thời gian là O(m3). Nếu khoảng cách từ mỗi nhóm đến tất cả nhóm khác được lưu trữ trong một danh sách đã sắp xếp (hoặc là đống (heap)), có thể đưa ra giá trị cho việc tìm kiếm hai nhóm gần nhất là O(m-i+1). Tuy nhiên, bởi vì việc cộng thêm độ phức tạp của dữ liệu được lưu giữ trong một danh sách sắp xếp hoặc heap, thời gian tổng cộng yêu cầu cho một Hierachical Clustering cơ bản trong thuật toán 8.3 là O(m2logm).

Độ phức tạp không gian và thời gian của Hierachical Clustering có giới hạn trên kích thước của tập dữ liệu mà có thể xử lý được. Chúng ta thảo luận tiếp cận mở rộng cho những thuật toán gom nhóm, bao gồm kỹ thuật Hierachical Clustering, trong bài 9.5.

Một phần của tài liệu Tiểu luận môn học khai phá dữ liệu TÌM HIỂU CLUSTERING (Trang 25)