Giải thuật k-means lấy tham số đầu vào k và phân chia một tập n đối tượng vào trong k cụm để cho kết quả độ tương đông trong cụm là cao trong khi độ tương đông ngoài cụm là thấp. Độ tương đông cụm được đo khi đánh giá giá
trị trung bình của các đối tượng trong cụm, nó có thể được quan sát như là "trọng tâm" của cụm.
Giải thuật xử lý như sau: trước tiên nó lựa chọn ngẫu nhiên k đối tượng, mỗi đối tượng đại diện cho một trung bình cụm hay tâm cụm. Đối với những đối tượng còn lại, một đối tượng được ấn định vào một cụm mà nó giống nhất dựa trên khoảng cách giữa đối tượng và trung bình cụm. Sau đó cần tính giá trị trung bình mới cho mỗi cụm. Xử lý này được lặp lại cho tới khi hàm tiêu chuẩn hội tụ.
Bình phương sai số tiêu chuẩn thường được dùng, định nghĩa như sau:
với x là điểm trong không gian, đại diện cho đối tượng cho trước, mi là trung bình cụm Ci (cả x và mi đều là nhiều chiều). Tiêu chuẩn này cố gắng cho kết quả k cụm càng đặc, càng riêng biệt càng tốt.
Giải thuật xác định k phần phân chia thoả mãn tối thiểu hoá bình phương hàm sai số. Nó làm việc tốt khi các cụm là các đám mây đặc tách biệt so với những cụm khác. Phương pháp này có thể mở rộng có hiệu quả khi xử lý các tập dữ liệu lớn bởi độ phức tạp tính toán của giải thuật là O(nkt), với n là số đối tượng, k là số cụm, t là số lần lặp. Thông thường k << n và t << n.
Giải thuật (k-means) :
Giải thuật k-means đối với việc phân chia dựa trên giá trị trung bình của các đối tượng trong cụm.
Đầu vào: Số cụm k và một cơ sở dữ liệu chứa n đối tượng.
Đầu ra: Một tập k cụm - cụm tối thiểu hoá bình phương sai số tiêu chuẩn. Giải thuật:
Chọn tuỳ ý k đối tượng với tư cách là các tâm cụm ban đầu repeatt điểm tối ưu cục bộ.
Ấn định (lại) mỗi đối tượng về một cụm mà đối tượng đó giống nhất, dựa trên giá trị trung bình của các đối tượng trong cụm
Cập nhật các trung bình cụm, tức là tính giá trị trung bình của các đối tượng trong cụm đó
Until không có sự thay đổi nào
Phân cụm một tập các điểm dựa trên phương pháp k-means
Tuy nhiên, phương pháp k-means chỉ áp dụng khi trung bình của một cụm được xác định. Không phải ứng dụng nào cũng có thể áp dụng ky thuật này, ví dụ những dữ liệu bao hàm các thuộc tính xác thực. Về phía các user, họ phải chỉ rõ k - số cụm, cần sớm phát hiện ra sự bất lợi. Phương pháp k-means không thích hợp với việc tìm các cụm có hình dáng không lôi hay các cụm có kích thước khác xa nhau. Hơn nữa, nó nhạy cảm với các điểm dữ liệu nhiễu và outlier, một số lượng nhỏ dữ liệu như vậy về căn bản có ảnh hưởng tới giá trị trung bình.
Ví dụ : Giả sử có một tập đối tượng được định vị trong một hình chữ nhật như hình 3.2. Cho k = 3, người dùng cần phải phân cụm các đối tượng vào trong 3 cụm.
Theo giải thuật ta chọn 3 đối tượng tuỳ ý (đánh dấu là "+") với vai trò là 3 tâm cụm đầu tiên. Sau đó, mỗi đối tượng được phân vào trong các cụm đã chọn dựa trên tâm cụm gần nhất. Mỗi phân bố hình thành nên một hình chiếu được bao quanh bởi đường cong nét chấm như hình trên).
Cập nhật lại các tâm cụm. Đó là giá trị trung bình của mỗi cụm được tính toán lại dựa trên các đối tượng trong cụm. Tuỳ theo các tâm mới này, các đối tượng được phân bố lại vào trong các cụm đã lựa chọn dựa trên tâm cụm gần nhất. Mỗi phân bố lại hình thành nên một hình chiếu được bao quanh bởi đường cong nét gạch). Cuối cùng, không có sự phân bố lại các đối tượng vào trong bất kỳ cụm nào, và xử lý kết thúc. Các cụm cuối cùng là kết quả của xử lý phân cụm.
Một biến thể khác của k-means là phương pháp k-modes (Huang 1998) mở rộng mô hình k-means , để phân cụm dữ liệu xác thực bằng cách thay giá trị trung bình các cụm bằng các mode (chế độ hay kiểu), sử dụng độ đo không tương đông mới để giải quyết đối tượng xác thực, sử dụng phương pháp dựa trên tần số để cập nhật các mode của các cụm. Phương pháp k-means và k-modes có thể được tích hợp để phân cụm dữ liệu với các giá trị hỗn hợp số và xác thực, người ta gọi đó là phương pháp k-prototypes.
Một biến thể khác của k-means đó là giải thuật EM (Expectation Maximization) (Lauritzen 1995), nó mở rộng mô hình k-means theo một cách khác: Thay vì ấn định mỗi điểm tới một cụm cho trước, nó ấn định mỗi điểm tới một cụm theo trọng số đại diện cho xác suất là thành viên. Hay nói một cách khác, không có các ranh giới tuyệt đối giữa các cụm. Bởi vậy, các giá trị trung bình mới sau đó được tính dựa trên các phép đo có trọng số.