Bài tập gom cụm sử dụng thuật toán K-Means
2017-08-13Bà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.
- Nếu không có phép gán lại nào thì dừng.
-
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.