Thuật toán phân nhóm

Hãy xem nhanh các loại thuật toán phân nhóm và thời điểm bạn nên chọn từng loại.

Khi chọn một thuật toán phân nhóm, bạn nên xem xét liệu thuật toán có điều chỉnh tỷ lệ theo tập dữ liệu hay không. Các tập dữ liệu trong công nghệ máy học có thể có hàng triệu ví dụ, nhưng không phải thuật toán phân nhóm nào cũng có quy mô hiệu quả. Nhiều thuật toán phân nhóm hoạt động bằng cách tính toán sự tương đồng giữa tất cả các cặp ví dụ. Điều này có nghĩa là thời gian chạy của chúng sẽ tăng lên dưới dạng bình phương của số lượng ví dụ \(n\), được biểu thị là \(O(n^2)\) bằng ký hiệu độ phức tạp. \(O(n^2)\) Thuật toán sẽ không thực tế khi số lượng ví dụ tính bằng hàng triệu. Khoá học này tập trung vào thuật toán k-means (thuật toán có độ phức tạp của \(O(n)\)), có nghĩa là thuật toán sẽ điều chỉnh theo tỷ lệ tuyến tính với \(n\).

Các loại Phân nhóm

Có một số phương pháp nhóm. Để xem danh sách đầy đủ, hãy xem Bản khảo sát toàn diện về các thuật toán phân nhóm (Xu, D). và Tian, Y. Dữ liệu liên quan. Khoa học (2015) 2: 165. Mỗi phương pháp phù hợp nhất với cách phân phối dữ liệu cụ thể. Dưới đây là cuộc thảo luận ngắn về bốn phương pháp phổ biến, tập trung vào việc phân nhóm dựa trên centroid bằng cách sử dụng k-mean.

Phân nhóm dựa trên Centroid

Phân nhóm dựa trên Ctrotroid sắp xếp dữ liệu thành các cụm không phân cấp, ngược lại với phân cấp phân cấp được xác định bên dưới. k-means là thuật toán phân nhóm dựa trên centroid được sử dụng rộng rãi nhất. Các thuật toán dựa trên Centroid mang lại hiệu quả nhưng nhạy cảm với các điều kiện ban đầu và các điểm ngoại lai. Khoá học này tập trung vào các thuật toán k-mean vì đây là một thuật toán phân nhóm hiệu quả, hiệu quả và đơn giản.

Ví dụ được nhóm thành các cụm bằng cách sử dụng phân nhóm dựa trên centroid.
           Các đường này hiển thị đường viền giữa các cụm.
Hình 1: Ví dụ về phân nhóm dựa trên centroid.

Phân nhóm dựa trên mật độ

Phân nhóm dựa trên mật độ kết nối các khu vực có mật độ mẫu cao thành các cụm. Điều này cho phép các bản phân phối có hình dạng tuỳ ý, miễn là có thể kết nối các khu vực dày đặc. Các thuật toán này gặp khó khăn với dữ liệu có mật độ và kích thước cao khác nhau. Ngoài ra, theo thiết kế, các thuật toán này không chỉ định các điểm ngoại lai cho các cụm.

Ví dụ được nhóm thành hai cụm sử dụng phân nhóm dựa trên mật độ. Các cụm không thể phân tách tuyến tính.
Hình 2: Ví dụ về phân nhóm dựa trên mật độ.

Phân nhóm dựa trên hoạt động phân phối

Phương pháp phân nhóm này giả định dữ liệu bao gồm các hàm phân phối, chẳng hạn như phân phối Gaussian. Trong Hình 3, thuật toán dựa trên hoạt động phân phối tập hợp dữ liệu thành 3 bản phân phối Gaussian. Khi khoảng cách từ trung tâm phân phối tăng lên, xác suất một điểm thuộc về điểm phân phối đó giảm dần. Các dải tần cho thấy xác suất đó giảm. Khi không biết loại phân phối trong dữ liệu của mình, bạn nên sử dụng một thuật toán khác.

Ví dụ được phân nhóm bằng cách phân nhóm dựa trên phân phối. Tô bóng mật độ của các ví dụ trong mỗi cụm cho biết cách các cụm ánh xạ tới phân phối.
Hình 3: Ví dụ về phân nhóm dựa trên phân phối.

Phân nhóm phân cấp

Phân nhóm phân cấp sẽ tạo một cây cụm. Phân nhóm phân cấp (không có gì đáng ngạc nhiên) lại phù hợp với dữ liệu phân cấp, chẳng hạn như dữ liệu phân loại. Hãy tham khảo bài viết So sánh 61 bộ gen của Escherichia coli với Oksana Lukjancenko, Trudy Wassenaar và Dave Ussery để xem ví dụ. Ngoài ra, có một lợi thế khác là bạn có thể chọn số lượng cụm bất kỳ bằng cách cắt cây ở cấp phù hợp.

Các loài động vật được phân nhóm bằng cách sử dụng cây phân cấp.
Hình 4: Ví dụ về động vật nhóm cây phân cấp.