4.1. Ý tưởng
Ý tưởng chính của phương pháp này là phân một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho mỗi phần tử dữ liệu chỉ thuộc về một nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu một phần tử dữ liệu.Các thuật toán phân hoạch có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề gom cụm dữ liệu, vì nó phải tìm kiếm tất cả các cách phân hoạch có thể được.Chính vì vậy, trên thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của các cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Với chiến lược này, thông thường người ta bắt đầu khải tạo một phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc theo heuristic và liên tục tinh chỉnh nó cho đến khi thu được một phân hoạch mong muốn, thoả mãn các điều kiện ràng buộc cho trước. Các thuật toán gom cụm phân hoạch cố gắng cải tiến
liệu và sắp xếp các giá trị này, sau đó thuật toán lựa chọn một giá trị trong dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu. Như vậy, ý tưởng chính của thuật toán gom cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược tham ăn để tìm kiếm nghiệm.
4.2. Thuật toán
Thuật toán gom cụm phân hoạch K-MEANS do MacQueen đề xuất trong lĩnh vực thống kê năm 1967, mục đích của tuật toán K-MEANS là sinh ra k cụm dữ liệu {C1, C2, …, Ck} từ một tập dữ liệu ban đầu gồm n đối tượng trong không gian d chiều
Xi= (xi1, xi2, …, xid), (i=1,n), sao cho hàm tiêu chuẩn: đạt cực tiểu. Trong đó: mi là trọng tâm của cụm Ci, D là khoảng cách giữa hai đối tượng.
Trọng tâm của một cụm là một vector, trong đó giá trị của mỗi phần tử của nó là trung bình cộng các thành phần tương ứng của các đối tượng vector dữ liệu trong cụm đang xét.Tham số đầu vào của thuật toán là số cụm k, tập CSDL gồm n phần tử và tham số đầu ra của thuật toán là các trọng tâm của cụm dữ liệu. Độ đo khoảng cách D giữa các đối tượng dữ liệu thường được sử dụng là khoảng cách Euclide, bởi đây là mô hình khoảng cách dễ để lấy đạo hàm và xác định các cực trị tối thiểu. Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định cụ thể hơn tuỳ vào ứng dụng hoặc các quan điểm của người dùng. Thuật toán K-MEANS bao gồm các bước cơ bản sau:
+ INPUT: Một CSDL gồm n đối tượng và số cụm cần phân là k.
+ OUTPUT: Các cụm Ci (i=1... k) sao cho hàm tiêu chuẩn E đạt giá trị tối thiểu. Thuật toán tiến hành 4 bước sau:
Bước 1: Khởi tạo
Chọn k đối tượng mj (j=1…k) là trọng tâm ban đầu của k cụm từ tập dữ liệu đầu
vào (việc lựa chọn này có thể ngẫu nhiên hoặc chọn theo kinh nghiệm chuyên gia).
Bước 2: Tính khoảng cách
Đối với mỗi đối tượng Xi (1 ≤ i ≤ n), tính khoảng cách của nó tới mỗi trọng tâm mj với j=1,…,k, sau đó tìm trọng tâm gần nhất đối với mỗi đối tượng.
Bước 3: Cập nhật lại trong tâm
Đối với mỗi j=1,…,k, cập nhật trọng tâm cụm m¬¬j bằng cách xác định trung bình cộng của các vector đối tượng dữ liệu.
Bước 4: Điều kiện dừng
Lặp lại bước 2 và bước b cho đến khi các trọng tâm của cụm không thay đổi.