CHƢƠNG 3 MỘT SỐ THUẬT TOÁN PHÂN CỤM
3.6 THUẬT TOÁN PHÂN CỤM K-LÁNG GIỀNG GẦN
3.6.2. Cách thức thực hiện thuật toán KNN
Thuật toán KNN tƣơng đối đơn giản, nó thực hiện dựa trên khoảng cách gần của dữ liệu mới với tập dữ liệu huấn luyện để xác định K láng giềng gần. Sau khi xác định đƣợc K láng giềng gần, chúng ta sẽ dựa vào các láng giềng này để dự đoán về đối tƣợng dữ liệu mớ1.
Dữ liệu trong thuật toán KNN có thể chứa một số thuộc tính có tên là
(i=1,2..) và sẽ đƣợc phân cụm theo . Dữ liệu có thể đƣợc đo theo tỷ lệ bất kỳ từ thứ tự, danh nghĩa tới tỷ lệ định lƣợng nhƣng hiện tại chúng ta sẽ tiến hành với số lƣợng và nhị phân (danh nghĩa) . Phần sau sẽ tiến hành với loại dữ liệu khác.
Giả sử chúng ta có tập dữ liệu nhƣ sau:
X1 X2 Y X1 X2 Y 4 3 + 4 6 - 1 3 + 4 4 - 3 3 + 5 8 - 3 7 + 7 8 - 7 4 + 5 6 - 4 1 + 10 5 - 6 5 + 7 6 - 5 6 + 4 10 - 3 7 + 9 7 - 6 2 + 5 4 - 8 5 - 6 6 - 7 4 - 8 8 - 6 5 ?
Dòng cuối cùng là dữ liệu mà chúng ta cần dự đoán phân cụm. Biểu diễn đồ hoạ của bài toán trên nhƣ hình vẽ 4.1 phía dƣớ1.
Giả sử chúng ta gán K = 8 (chúng ta sẽ thực hiện với 8 láng giềng gần nhất)
nhƣ là một biến của thuật toán. Tiến hành tính các khoảng cách giữa điểm mới và các dữ liệu huấn luyện. Bởi vì chúng ta chỉ sử dụng số lƣợng nên có thể dùng khoảng cách Ơclit. Giả thiết điểm mới có toạ độ ( , ) và toạ độ của điểm trong ví dụ huấn luyện là ( , ), khi đó khoảng cách bình phƣơng Ơclit là:
.
Bƣớc tiếp theo là tìm K-láng giềng gần. Chúng ta sẽ kết luận một điểm huấn luyện làng giềng gần nếu khoảng cách của điểm này tới điểm mới nhỏ hơn hoặc bằng khoảng cách nhỏ nhất thứ K. Nói cách khác, chúng ta sắp xếp khoảng cách của tất cả các ví dụ huấn luyện tới điểm cần dự đoán và xác định K giá trị nhỏ nhất.
Bảng tính khoảng cách nhƣ sau:
Khoảng cách Dấu láng giềng gần Khoảng cách Dấu láng giềng gần
29 10 13 2 - 13 16 2 + 2 - 20 29 0 + 13 2 + 2 - 13 4 9 1 - 5 2 - 5 13
Trƣờng hợp này, số lƣợng các láng giềng có dấu “-” (5) nhiều hơn láng giềng có dấu “+” (3), chúng ta sẽ dự đoán điểm cần dự đoán sẽ có dấu “-”.
Nhƣ vậy, có thể tổng kết các bƣớc thực hiện thuật toán KNN nhƣ sau:
1. Xác định số K = số láng giềng gần nhất
2. Tính cách khoảng cách từ đối tượng dữ liệu tới các điểm ví dụ huấn luyện. 3. Sắp xếp các khoảng cách tính được và xác định K láng giềng gần nhất dựa vào các khoảng cách đó.
4. Xem xét các thuộc tính của K láng giềng gần đó.
5. Dự đoán giá trị của đối tượng dựa trên giá trị của các láng giềng nêu trên.