Kỹ thuật K-láng giềng gần nhất

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 33 - 35)

Kỹ thuật K-láng giềng gần nhất (k –Nearest Neighbour hay còn gọi là k- NN) là một kỹ thuật áp dụng cho các mô hình phân lớp. Khác với các phương pháp khác, kỹ thuật này không cần quét dữ liệu để tạo ra mô hình cho mình mà sử dụng luôn dữ liệu đó. Khi có một trường hợp mới xuất hiện, hệ thống sẽ tìm kiếm trong toàn bộ dữ liệu hiện có để tìm ra tập trường hợp gần gũi nhất với trường hợp này và dùng tập này để dự đoán giá trị cho nó.

Có hai tham số chính trong kỹ thuật k-NN: số trường hợp gần nhất được dùng (k) và độ đo khoảng cách giữa chúng với trường hợp mới.

Kỹ thuật k-NN đòi hỏi phải xác định trước giá trị nguyên dương k. Giá trị này quyết định số trường hợp được xem xét trong khi dự đoán. Ví dụ ký hiệu 4-NN cho biết thuật toán sẽ sử dụng 4 trường hợp gần nhất để dự đoán cho trường hợp mới. Kỹ thuật này dựa trên độ đo (metric) khoảng cách giữa các trường hợp. Các độ đo này được sử dụng một cách tuỳ ý, do không có sự định nghĩa trước nào về một độ đo “tốt”. Điều này có ý nghĩa quan trọng vì việc lựa chọn độ đo sẽ ảnh hưởng lớn đến kết quả dự đoán. Các độ đo khác nhau, khi áp dụng với cùng một tập dữ liệu có thể sẽ đưa ra các kết quả khác nhau. Do đó cần phải có một chuyên gia trong lĩnh vực đang xét để quyết định độ đo nào là tốt.

Để phân loại một trường hợp (bản ghi) mới, thuật toán sẽ tính toán khoảng cách từ trường hợp này đến các trường hợp còn lại trong dữ liệu. Trường hợp mới sẽ được dự đoán có giá trị gần với giá trị chiếm ưu thế trong k trường hợp gần nhất của dữ liệu.

Thuật toán 1-NN chỉ tìm một trường hợp gần gũi nhất đã có với trường hợp cần dự đoán. Khi tìm thấy, giá trị dự đoán là kết quả của trường hợp tương ứng. Với thuật toán 1-NN, độ chính xác đối với tập dữ liệu hiện tại là 100% theo định nghĩa. Tuy nhiên, vì chỉ tìm duy nhất một trường hợp gần nhất nên rất dễ bị nhiễu và không áp dụng được cho bất kỳ mẫu nào khác

của tập dữ liệu. Trên thực tế, các thuật toán thường bắt đầu với k=10. Để chọn được giá trị k phù hợp nhất, cần phải có thử nghiệm trước với tập dữ liệu nhằm so sánh kết quả tương ứng với các giá trị k khác nhau.

Mặc dù không cần duyệt qua toàn bộ dữ liệu, tuy nhiên thuật toán k-NN không phải là một thuật toán thực sự hiệu quả, đặc biệt với những dữ liệu lớn. Nguyên nhân là toàn bộ quá trình xử lý sẽ bị tạm dừng cho đến khi dự đoán được đưa ra. Tiếp theo với mỗi trường hợp mới lại yêu cầu một lần duyệt qua toàn bộ dữ liệu để tính khoảng cách giữa trường hợp đích với mỗi trường hợp trong bộ dữ liệu. Thuật toán khảo sát k trường hợp gần nhất trong khi xử lý và đưa ra dự đoán khi quá trình kết thúc

Một vấn đề cần giải quyết là xác định độ đo sử dụng để tính toán khoảng cách giữa các trường hợp. Với những dữ liệu phân loại dạng nhị phân thì độ đo nhị phân là thích hợp( 0 cho giá trị giống nhau, 1 cho giá trị khác nhau) là thích hợp. Với những dữ liệu phân loại được sắp theo thứ tự như các nhóm tuổi thì độ đo cần phải chỉ ra được sự khác biệt chẳng hạn với nhóm từ 21-30 tuổi thì khoảng cách giữa nhóm này với nhóm từ 51-60 tuổi lớn hơn khoảng cách với nhóm từ 41-50 tuổi. Tuy nhiên cũng cần chú ý đến các yếu tố khác, chẳng hạn nếu muốn mô tả sở thích của khách hàng theo nhóm tuổi. Lúc này khoảng cách từ nhóm 21-30 tuổi đến nhóm 41-50 tuổi, nếu xét về định lượng sẽ bằng khoảng cách từ nhóm 41-50 tuổi đến nhóm 61-70 tuổi, nhưng do đang xét yếu tố sở thích nên hai khoảng cách này phải khác nhau.

Việc tính toán khoảng cách giữa các thuộc tính khác nhau có độ phức tạp lớn hơn tính khoảng cách giữa các phần tử trong một thuộc tính. Ví dụ với tập dữ liệu nợ ngân hàng có thuộc tính tuổi được sắp xếp theo thứ tự : 21-30 tuổi là nhóm 1, 21-40 tuổi là nhóm 2, 41-50 tuổi là nhóm 3... Nếu độ đo 0-1 được sử dụng với thuộc tính nợ với 0 cho số tiền nợ nhỏ và 1 cho số tiền nợ lớn, trong khi độ đo giá trị số tiền được sử dụng với thuộc tính thu nhập thì khoảng cách trong thuộc tính thu nhập sẽ lớn hơn rất nhiều khoảng Nguyễn Tiến Thành – Công nghệ phần mềm K44

Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức

cách trong thuộc tính nợ. Do đó cần phải dùng chung một độ đo cho các thuộc tính.

Một phần của tài liệu Kỹ thuật khai phá dữ liệu và ứng dụng xây dựng cơ sở tri thức (Trang 33 - 35)