Thuật toán K-MEANS

Một phần của tài liệu Nghiên cứu, tìm hiểu một số thuật toán cơ bản về phân nhóm dữ liệu trên cơ sở dữ liệu không gian (Trang 60 - 64)

Thuật toán này dựa trên độ đo khoảng cách của các đối tƣợng dữ liệu đến phần tử là trung tâm của nhóm chứa nó [2].

Hình 3.3: Các thiết lập để xác định ranh giới các nhóm ban đầu

Thuật toán K-means lấy tham số đầu vào là k và phân chia một tập n đối tƣợng vào trong k nhóm để cho kết quả độ tƣơng đồng trong nhóm là cao trong khi độ tƣơng đồng ngoài nhóm là thấp. Độ tƣơng đồng nhóm đƣợc đo khi đánh giá giá trị trung bình của các đối tƣợng trong nhóm, nó có thể đƣợc quan sát nhƣ là “trọng tâm” của nhó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 nhóm hay tâm nhóm. Đối với những đối tƣợng còn lại, mỗi đối tƣợng sẽ đƣợc ấn định vào một nhóm mà nó giống nhất dựa trên khoảng cách giữa đối tƣợng và trung bình nhóm. Sau đó sẽ tính lại trung bình nhóm mới cho mỗi nhóm. Xử lý này sẽ đƣợc lặp lại cho tới khi hàm tiêu chuẩn hội tụ. Bình phƣơng sai số thƣờng dùng làm hàm tiêu chuẩn hội tụ, định nghĩa nhƣ sau:

E = 2 1 i k i i x C x m

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/ 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 nhóm Ci (x và mi đều là đa chiều). Tiêu chuẩn này cố gắng cho kết quả k nhóm càng đặc biệt, càng riêng biệt càng tốt.

Hình 3.4: Tính toán trọng tâm của các nhóm mới Thuật toán K-Means bao gồm các bƣớc cơ bản sau: Đầu vào: Số nhóm k và hàm E E = 2 1 i k i i x C x m

Đầu ra: Các nhóm C[i] (1 ≤ i ≤ k) với hàm tiêu chuẩn E đạt giá trị tối thiểu

Begin

Bƣớc 1: Khởi tạo

Chọn ngẫu nhiên k tâm mi

1

k j j

m ban đầu trong không gian Rd (d là số chiều của dữ liệu). Mỗi nhóm đƣợc đại diện bằng các tâm của nhóm

Bƣớc 2: Tính toán khoảng cách 1 2 1 n k j i j i D x m

Đố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 (1 ≤ j ≤ k). Sau đó tìm trọng tâm gần nhất đối với mỗi điểm và nhóm chúng vào các nhóm gần nhất.

Bƣớc 3: Cập nhật lại trọng tâm

Đối với mỗi 1≤ j ≤ k, cập nhật trọng tâm nhóm mj bằng cách xác định trung bình cộng các vectơ đối tƣợng dữ liệu.

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/ Nhóm các đối tƣợng vào nhóm gần nhất dựa trên trọng tâm của nhóm.

Điều kiện dừng:

Lặp lại các bƣớc 2 và 3 cho đến khi các trọng tâm của nhóm không thay đổi.

End.

Thuật toán K-means đƣợc chứng minh là hội tụ và có độ phức tạp tính toán là O(tkn) với t là số lần lặp, k là số nhóm, n là số đối tƣợng của tập dữ liệu vào. Thông thƣờng k << n và t << n thƣờng kết thúc tại một điểm tối ƣu cục bộ.

Tuy nhiên, nhƣợc điểm của K-means là còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu. Hơn nữa, chất lƣợng phân nhóm dữ liệu của thuật toán K-means phụ thuộc nhiều vào các tham số đầu vào nhƣ: Số nhóm k và k trọng tâm khởi tạo ban đầu. Trong trƣờng hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm nhóm tự nhiên thì kết quả phân nhóm của K-means là rất thấp, nghĩa là các nhóm dữ liệu đƣợc khám phá rất lệch so với các nhóm trong thực tế. Trên thực tế chƣa có một giải pháp tối ƣu nào để chọn các tham số đầu vào, giải pháp thƣờng đƣợc sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất.

Đánh giá thuật toán K-Means

Ƣu điểm:

- K-means là có độ phức tạp tính toán O(tkn).

- K-means phân tích phân nhó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 khắc phục đƣợc nhiễu và giá trị k phải đƣợc cho bởi ngƣời dùng. - Chỉ thích hợp áp dụng với dữ liệu có thuộc tính số và khám phá ra các nhóm có dạng hình cầu. (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ: Giả sử có một tập đối tƣợng đƣợc định vị trong hệ trục toạ độ X, Y. Cho: k = 3 tức ngƣời dùng cần phân các đối tƣợng vào trong 3 nhóm.

Theo giải thuật, ta chọn ngẫu nhiên 3 trung tâm nhóm ban đầu (Hình K- means bƣớc 1). Sau đó, mỗi đối tƣợng đƣợc phân vào trong các nhóm đã chọn dựa trên tâm nhóm gần nhất (Hình K-means bƣớc 2).

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/ Cập nhật lại các tâm (Hình K-means bƣớc 3). Đó là giá trị trung bình của mỗi nhóm đƣợc tính toán lại dựa trên các đối tƣợng trong nhó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 nhóm dựa trên tâm nhóm gần nhất (Hình K-means bƣớc 4).

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/

Một phần của tài liệu Nghiên cứu, tìm hiểu một số thuật toán cơ bản về phân nhóm dữ liệu trên cơ sở dữ liệu không gian (Trang 60 - 64)