Thuật toán phân cụm dữliệu K-Means

Một phần của tài liệu 28038_1712202001918255LUANVAN (Trang 40 - 44)

7. Bố cục của luận văn

2.2. Thuật toán phân cụm dữliệu K-Means

Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực tế, tuy nhiên nó đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán. Hiện nay, với rất nhiều phương pháp phân cụm nhưng trong chương này chỉ tập trung giới thiệu về phương pháp phân cụm phân hoạch.

Kỹ thuật này có thể hình dung việc phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định số các cụm được thiết lập. Số các cụm được thiết lập là các đặc trưng được lựa chọn trước. Phương pháp này được đánh giá là tốt cho việc tìm các cụm hình cầu và hình tròn trong không gian Euclidean. Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau với mỗi điểm khác, và các điểm dữ liệu nào không có quan hệ hoặc có quan hệ là xa nhau so với mỗi điểm khác. Tuy nhiên, phương pháp này không thể xử lý các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dày đặc. Các thuật toán phân hoạch dữ liệu 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 PCDL, do 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ế 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ụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Có thể nói, ý tưởng chính của thuật toán phân 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.

Tiêu biểu đối với các thuật toán phân cụm phân hoạch là thuật toán K-means. 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 trong cụm. Trong 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à trọng tâm của cụm. Như vậy, nó cần khởi tạo một tập trọng tâm các cụ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à trọng tâm gần, và đồng thời tính toán lại trọng 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 trọng tâm hội tụ.

Mục đích của thuật toán K-Means [2] là sinh 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}, i = 1 ÷ n sao cho hàm mục tiêu đạt giá trị tối thiểu:

∑ ∑ ( )

Trong đó: cj là trọng tâm của cụm Cj.

Đối với thuật toán này chúng ta có thể hình dung cụ thể như bên dưới sau:

Input: Số cụm k và hàm mục tiêu sau:

∑ ∑ ( )

Output: Các cụm ( ) và hàm mục tiêu E đạt giá trị tối thiểu.

BEGIN

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

Chọn ngẫu nhiên k cụm { }

ban đầu trong không gian Rd

(trong đó d là số chiều của dữ liệu trong không gian). Mỗi cụm được xác định bằng các tâm của cụm.

Bước 2: Tính khoảng cách

Tính khoảng cách từ các điểm dữ liệu đến các cụm tương ứng bằng công thức sau:

√∑( )

Đối với mỗi điểm xi , tính khoảng cách của nó đến mỗi trọng tâm

{ }

và sau đó nó sẽ tìm trọng tâm gần nhất của chính nó với mỗi điểm.

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

Đối với mỗi cụm , cập nhật trọng tâm cụm cj 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: Gán lại các điểm gần trung tâm nhóm mới

Nhóm các đối tượng dữ liệu vào nhóm gần nhất dựa vào 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 cụm không thay đổi.

End.

Ví dụ 2.6. Cho tập các đối tượng X = {A, B, C, D} trên không gian . Đồng thời, chúng được chia thành hai cụm và được cho bởi bảng sau:

Đối tượng Thuộc tính 1 (X) Thuộc tính 2 (Y)

A 1 1

B 2 1

C 4 3

Hãy áp dụng thuật toán K – Means như đã trình để phân hoạch các điểm.

Giải

Giả sử chúng ta khởi tạo 2 trọng tâm của 2 cụm ban đầu theo giả thiết như sau : và .

Với A, B tương ứng thuộc hai cụm . Tính khoảng cách các điểm đến 2 cụm trung tâm.

Chúng ta áp dụng công thức như bên dưới:

√∑( )

√∑( )

Tức là, chúng ta sẽ xác định lần lượt các giá trị khoảng cách từ các đối tượng dữ liệu đến các trọng tâm của cụm đã cho. Tuy nhiên, ở bước này ta chỉ xét khoảng cách giữa các đối tượng C, D đến các cụm trọng tâm và A và B đã thuộc về hai cụm trung tâm. Điều đó được thể hiện cụ thể qua bảng dưới đây:

√ √

√ √

Bây giờ, chúng ta tiếp tục xác định trọng tâm gần với mỗi điểm và được thể hiện như sau:

Cập nhật lại vị trí trọng tâm.

Dựa vào bảng , chúng ta sẽ cập nhật lại tọa độ trọng tâm các cụm như sau:

{ { ( )

Tuy nhiên, theo thuật toán khi kiểm tra điều kiện dừng lại thì nó chưa thõa mãn nên chúng ta sẽ thực hiện lại bước 2 và kết quả như sau:

A B C D

X 1 0 0 0

√ √

Ở bước thực hiện này, chúng ta sẽ cập nhật lại những điểm gần trọng tâm nhất. Điều đó được thể hiện bởi bảng bên dưới như sau:

Lúc này tiếp tục lặp lại bước 3. Xác định trọng tâm mới của hai cụm.

{ ( ) { ( )

Như thuật toán đã trình bày ở trên, đến đây chúng ta nhận thấy rằng thuật toán vẫn chưa kết thúc. Vì thế, chúng ta sẽ lặp lại bước 2.

√ √

√ √

Ở bước thực hiện này, chúng ta sẽ cập nhật lại những điểm gần trọng tâm nhất. Điều đó được thể hiện như sau:

A B C D X 1 1 0 0 Y 0 0 1 1 A B C D X 1 1 0 0 Y 0 0 1 1

Tiếp tục lặp lại bước 3. Lúc này chúng ta cập nhật lại trọng tâm mới của hai cụm. { ( ) { ( )

Như vậy, ta nhận thấy được rằng trọng tâm lần thực hiện thứ nhất và thứ hai giống nhau nên thỏa mãn điều kiện dừng của thuật toán.

Một phần của tài liệu 28038_1712202001918255LUANVAN (Trang 40 - 44)

Tải bản đầy đủ (PDF)

(91 trang)