Algorithms-by-meme-07: K-Means

Đây là một loại thuật toán unsupervised algorithm giải quyết các vấn đề về phân nhóm. Cách thức của nó khá đơn giản : phân tách dữ liệu thành một nhóm các cluster ( giả sử k cluster) . Các điểm dữ liệu bên trong cluster là đồng nhất và không đồng nhất với các điểm dữ liệu của các nhóm khác.

Bạn có để ý vết mực bị đổ ra trên bàn không ? K-Means khá tương tự với việc này. Bạn nhìn vào vết mực và hình dạng lan rộng để giã mã có bao nhiêu cluster khác nhau / có bao nhiêu nhóm “population” ?

Cách mà K-Means tạo nên các cluster:

*k-means chọn k điểm cho mỗi clustervà được gọi là trọng tâm.

  • Mỗi điểm dữ liệu tạo thành một cluster với trọng tâm gần nhất
  • Tìm kiếm trọng tâm của mỗi cluster dựa trên các thành viên bên trong mỗi cluster. Ở đây chúng ta sẽ có các trọng tâm mới.
  • Khi có các trọng tậm mới, lặp lại bước 2 và bước 3. Tìm kiếm khoảng cách gần nhất của mỗi điểm dữ liệu tạo nên bởi các trọng tâm mới và được liên kết với k-cluster mới. Lặp lại quá trình này cho đến khi các trọng tâm hội tụ thành một điểm.

Cách thức tìm kiếm giá trị k :

Trong K-Means, chúng ta có các cluster và mỗi cluster có trọng tâm của nó. Tổng bình phương khác biệt giữa trọng tâm và các điểm dữ liệu trong cluster tạo nên tổng giá trị bình phương chocluster đó.

Chúng ta biết rằng khi số lượng cluster được tăng lên, giá trị sẽ giảm đi nhưng nếu bạn quan sát kết qua, bạn sẽ thấy rằng tổng bình phương khoảng cách sẽ giảm mạnh đến một giá trị k, sau đó nó sẽ giảm chậm đi. Tại đây, bạn có thể tìm kiếm số lượng tối ưu của cluster – giá trị k.

Leave a reply:

Your email address will not be published.

Site Footer