2.6.1 Ý tƣởng : dựa trên độ đo khoảng cách của các đối tƣợng dữ liệu
trong cụm. Thực tế, nó đo khoảng cách tới giá trị trung bình của các đối tƣợng dữ liệu trong cụm. Nó đƣợc xem nhƣ là trung tâm của cụm. Nhƣ vậy, nó khởi tạo một tập trung tâm các cụm trung tâm ban đầu và thông qua đó nó lặp lại các bƣớc gồm gán mỗi đối tƣợng tới cụm mà trung tâm gần nhất và tính toán tại
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
trung tâm của mỗi cụm trên cơ sở gán mới cho các đối tƣợng. Quá trình lặp này dừng khi các trung tâm hội tụ.
Hình 2.1: Thiết lập để xác định danh giới các cụm ban đầu
Mục đích: 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: k i x CiD x mi E 1 ( )
2 đạt giá trị tối thiểu.
Với mi là trọng tâm của cụm Ci, D là khoảng cách giữa hai đối
.
Hình 2.2: Tính toán trọng tâm các cụm mới
2.6.2 Thuật toán
Thuật toán phân hoạch K-means do MacQeen đề xuất trong lĩnh vực thống kê năm 1967, mục đích của thuậ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 chứa n đối tƣợng trong không gian d chiều Xi = (xi1, xi2, …, xid) (i1,n), sao cho hàm tiêu chuẩn :
k i x CiD x mi E 1 ( ) 2 (2.1)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
đạt giá trị tối thiể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 ( khoảng cách Euclide). Trọng tâm của một cụm là một véc tơ, trong đó giá trị của mỗi phần tử của nó là trung bình cộng của các thành phần tƣơng ứng của các đối tƣợng vectơ 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, và tham số đầu ra của thuật toán là các trọng tâm của các cụm dữ liệu. K- means bao gồm các bƣớc cơ bản nhƣ sau:
Input : Số cụm k và các trọng tâm cụm {mj}kj=1 ;
Output : Các cụm Cii 1,kvà hàm tiêu chuẩn E đạt giá trị tối thiểu Begin
Bƣớc 1: Khởi tạo :Chọn k trọng tâm {mj}kj=1 ban đầu trong không gian Rd (d là số chiều của dữ liệu, việc chọn có thể ngẫu nhiên hoặc theo kinh nghiệm)
Bƣớc 2 : Tính toán khoảng cách :
Đối với mỗi điểm Xi (1<=i<=n), tính toán khoảng cách của nó tới mỗi trọng tâm mj j=1,k.
Tìm trọng tâm gần nhất đối với mỗi điểm.
Bƣớc 3 : Cập nhật lại trọng tâm :
Đối với mỗi j=1,k , cập nhật trọng tâm cụm mj bằng các xác định trung bình cộng của các vectơ đối tƣợng dữ liệu.
Bƣớc 4 : Điều kiện dừng:
Lặp các bƣớc 2 và 3 cho đến khi các trọng tâm của cụm không thay đối.
Nhận xét: Độ phức tạp của thuật toán là O Tkn với T là số lần lặp, n số đối tƣợng của tập dữ liệu đƣa vào.
Ƣu điểm:
Độ phức tạp nhỏ: O(nkd.t), với :d là số chiều, t số vòng lặp.
K-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.
Nhƣợc điểm:
K-means không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp, chỉ áp dụng với dữ liệu số
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Chất lƣợng phân cụm phụ thuộc vào nhiều tham số đầu vào nhƣ: số cụm k và k trọng tâm khởi tạo ban đầu.
Số lƣợng và các tham số là do ngƣời dùng nhập, nên nếu đầu vào khác nhau thì kết quả các cụm sẽ khác nhau
Đã có rất nhiều thuật toán kế thừa tƣ tƣởng của thuật toán k-means áp dụng
trong KPDL để giải quyết tập dữ liệu có kích thƣớc lớn nhƣ thuật toán k-medoid, PAM, CLARA, CLARANS,...