Bài tập gom cụm sử dụng thuật toán K-Means

2017-08-13

Bài toán

Giả sử có 4 sinh viên A, B, C, D. Mỗi sinh viên được biểu diễn bởi hai đặc trưng X, Y.

Sinh viên Sở thích(X) Quê quán(Y)
A 1 1
B 2 1
C 4 3
D 5 4

Mục đích là nhóm các sinh viên đã cho vào 2 nhóm (K = 2) dựa vào các đặc trưng của chúng.

Thuật toán gom cụm K-Means

Đầu vào của thuật toán: số cụm k, và CSDL có n đối tượng.

Thuật toán gồm 4 bước:

  • Bước 1: Chọn ngẫu nhiên k điểm làm trọng tâm ban đầu của k cụm.

  • Bước 2: Gán (hoặc gán lại) từng điểm vào cụm có trọng tâm gần điểm đang xét nhất.
    • Nếu không có phép gán lại nào thì dừng.
      • Vì không có phép gán lại nào có nghĩa là các cụm đã ổn định và thuật toán không thể cải thiện làm giảm độ phân biệt hơn được nữa.
  • Bước 3: Tính lại trọng tâm cho từng cụm.

  • Bước 4: Quay về bước 2.
Lời giải

Bước 1: Chọn tâm cho 2 nhóm. Giả sử chọn A làm tâm nhóm thứ nhất (toạ độ tâm nhóm thứ nhất c1(1, 1)) và B là tâm nhóm thứ hai (toạ độ tâm nhóm thứ hai c2(2, 1)).

Bước 2: Tính khoảng cách từ các đối tượng đến tâm của các nhóm (khoảng cách Euclide):

Nếu đánh số A, B, C, là 1, 2, 3, 4; thì D0(i, j) là khoảng cách của điểm j đến tâm ci.

Bước 3: Nhóm các đối tượng vào nhóm gần nhất

G0(i, j) = 1 nghĩa là điểm j thuộc nhóm i.

Bước 4: Tính lại toạ độ tâm cho các nhóm mới dựa vào toạ độ của các đối tượng trong nhóm. Nhóm 1 chỉ có đối tượng A nên tâm nhóm 1 vẫn không đổi, c1(1, 1). Tâm nhóm 2 được tính như sau:

Bước 5: Tính lại khoảng cách từ các đối tượng đến tâm mới:

Bước 6: Nhóm các đối tượng vào nhóm:

Bước 7: Tính lại tâm cho nhóm mới:

Bước 8: Tính lại khoảng cách từ các đối tượng đến tâm mới:

Bước 9: Nhóm các đối tượng vào nhóm:

Ta có nên thuật toán dừng. Vậy kết quả phân nhóm: A, B nhóm 1; C, D nhóm 2.