Thuật toán K-mean là một trong các thuật toán học không giám sát để thực hiện phân cụm dữ liệu. Thủ tục đơn giản và dễ dàng để phân loại dữ liệu được thiết lập thông qua số lượng nhất định các cụm (giả sử k cụm).
Hình 2.1. Các thiết lập để xác định ranh giới các cụm ban đầu
Xác định trung tâm của mỗi cụm. Trung tâm của mỗi cụm phải được đặt ở những vị trí chính xác vì đặt ở những vị trí khác nhau sẽ đưa ra kết quả khác nhau. Vị trí đặt các trung tâm ở những vị trí càng xa nhau càng tốt. Bước tiếp theo là lấy mỗi điểm thuộc một tập hợp dữ liệu đưa ra và liên kết đến trung tâm gần nhất. Khi không có điểm chờ xử lý bước đầu tiên được hoàn thành và một nhóm đầu tiên được thực hiện. Tại thời điểm này chúng ta cần phải tính toán lại trọng tâm k mới
như là trọng tâm của các cụm kết quả từ bước trước. Sau khi có những trọng tâm k một ràng buộc mới có thể được thực hiện giữa tập hợp điểm dữ liệu và trung tâm mới gần nhất. Tạo ra một vòng lặp kết quả của vòng lặp này có thể nhận thấy rằng các trung tâm k thay đổi vị trí của chúng cho đến khi các trung tâm không có bất kì di chuyển nào. Thuật toán này nhằm mục đích giảm thiểu hàm mục tiêu như là hàm bình phương sai số: i 2 C C i j i 1 j 1 f (v) ( x v ) (2.1) Trong đó: i j x v : là khoảng cách Euclide Ci: Số điểm dữ liệu trong cụm thứ i C: Số lượng các trung tâm cụm
Hình 2.2. Tính toán trọng tâm của các cụm mới
Các bước thực hiện thuật toán K-mean
Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu, V={v1,v2,v3…vn} là tập các trung tâm.
Bước 1: Chọn ngẫu nhiên trung tâm cụm c.
Bước 2: Tính khoảng cách giữa các điểm với trung tâm cụm.
Bước 3: Gán các điểm dữ liệu đến trung tâm cụm có khoảng cách tối thiểu của tất cả các trung tâm cụm.
Bước 4: Tính toán lại các trung tâm cụm mới bằng công thức:
i C i i j 1 i 1 v x c (2.2)
Trong đó: ci đại diện cho số lượng các điểm dữ liệu trong cụm thứ i.
Bước 5: Tính toán lại khoảng cách giữa mỗi điểm dữ liệu và các trung tâm cụm mới thu được.
Bước 6: Nếu không có điểm dữ liệu được gán lại khi dừng thì lặp lại bước 3
Ưu điểm của thuật toán K-mean:
- Thuật toán thực hiện cho ra kết quả nhanh chóng, mạnh mẽ và dễ hiểu
- Độ phức tạp của thuật toán O(tknd) trong đó n là các đối tượng, k là các cụm, d kích thước của từng đối tượng t là số lần lặp thông thường k,d,t<<n.
- Cho kết quả tốt nhất với tập dữ liệu riêng biệt hoặc tách rời nhau.
Nhược điểm của thuật toán K-mean:
- Thuật toán yêu cầu biết trước số lượng trung tâm cụm.
- Nếu có nhiều hơn 2 bộ dữ liệu chồng chéo nhau thì thuật toán khó phân cụm. - Dữ liệu đại diện cho mẫu của tọa độ đề các và tọa độ cực sẽ cho kết quả khác nhau.
- Lựa chọn ngẫu nhiên trung tâm các cụm có thể dẫn tới kết quả không tối ưu. - Không thể xử lý nhiễu và dữ liệu ngoại lai.
- Thuật toán thất bại với tập dữ liệu phi tuyến tính.
Ngoài ra thuật toán K-means ra, phân cụm phân hoạch còn bao gồm một số các thuật toán khác như: Thuật toán PAM; Thuật toán CLARA; Thuật toán CLARANS.