Giúp hiểu kNN cho dữ liệu đa chiều


10

Tôi hiểu tiền đề của thuật toán kNN cho dữ liệu không gian. Và tôi biết rằng tôi có thể mở rộng thuật toán đó để sử dụng trên bất kỳ biến dữ liệu liên tục nào (hoặc dữ liệu danh nghĩa với Hamming Khoảng cách). Tuy nhiên, chiến lược nào được sử dụng khi xử lý dữ liệu chiều cao hơn?

Ví dụ: giả sử tôi có một bảng dữ liệu (x [1], x [2], x [3], ..., x [n]) và tôi muốn xây dựng một bộ phân loại để dự đoán một trong những cột đó (nói x [n]). Sử dụng thuật toán kNN tôi sẽ chọn bất kỳ hai cột nào từ các cột còn lại (x [1] -x [n-1]) để luyện tập chống lại. Vì vậy, nói rằng tôi có thể chọn x [1] và x [2] và xây dựng một trình phân loại tắt chúng. Hoặc tôi có thể chọn x [1] và x [4] hoặc tôi có thể chọn x [5] và x [8], v.v. Tôi thậm chí có thể chọn chỉ một cột và tạo một phân loại từ đó, hoặc 3 cột và xây dựng một phân loại tắt đó. Có một lợi thế nào khi sử dụng các kích thước cao hơn (2D, 3D, v.v.) hay bạn chỉ nên xây dựng các phân loại thứ nguyên đơn x-1 và tổng hợp các dự đoán của chúng theo một cách nào đó?

Vì việc xây dựng tất cả các phân loại này từ tất cả các kết hợp tiềm năng của các biến sẽ tốn kém về mặt tính toán. Làm cách nào tôi có thể tối ưu hóa tìm kiếm này để tìm các trình phân loại kNN tốt nhất từ ​​tập hợp đó? Và, một khi tôi tìm thấy một loạt các phân loại, cách tốt nhất để kết hợp đầu ra của chúng với một dự đoán duy nhất là gì? Bỏ phiếu có thể là câu trả lời đơn giản nhất cho câu hỏi này. Hoặc tính trọng số cho mỗi phiếu bầu theo tỷ lệ lỗi từ dữ liệu đào tạo cho mỗi phân loại.

Làm thế nào để hầu hết các triển khai áp dụng kNN cho việc học tập tổng quát hơn?


xem Beyer và cộng sự. dưới khi-is-near-xóm-có ý nghĩa-ngày nay : kNN đôi khi KHÔNG có ý nghĩa. N, mờ, k của bạn là gì?
chối

Câu trả lời:


4

Có một lợi thế nào khi sử dụng các kích thước cao hơn (2D, 3D, v.v.) hay bạn chỉ nên xây dựng các phân loại thứ nguyên đơn x-1 và tổng hợp các dự đoán của chúng theo một cách nào đó?

Điều này phụ thuộc vào việc các tính năng của bạn có nhiều thông tin hay không. Bạn có nghi ngờ rằng một số tính năng sẽ không hữu ích trong nhiệm vụ phân loại của bạn? Để có được ý tưởng tốt hơn về dữ liệu của bạn, bạn cũng có thể thử tính toán tương quan theo cặp hoặc thông tin lẫn nhau giữa biến trả lời và từng tính năng của bạn.

Để kết hợp tất cả (hoặc một tập hợp con) các tính năng của bạn, bạn có thể thử tính khoảng cách L1 (Manhattan) hoặc L2 (Euclide) giữa điểm truy vấn và mỗi điểm 'đào tạo' làm điểm bắt đầu.

Vì việc xây dựng tất cả các phân loại này từ tất cả các kết hợp tiềm năng của các biến sẽ tốn kém về mặt tính toán. Làm cách nào tôi có thể tối ưu hóa tìm kiếm này để tìm các trình phân loại kNN tốt nhất từ ​​tập hợp đó?

Đây là vấn đề của lựa chọn tập hợp tính năng. Có rất nhiều công việc học tập trong lĩnh vực này (xem Guyon, I., & Elisseeff, A. (2003). Giới thiệu về lựa chọn biến và tính năng. Tạp chí Nghiên cứu máy học, 3, 1157-1182. ).

Và, một khi tôi tìm thấy một loạt các phân loại, cách tốt nhất để kết hợp đầu ra của chúng với một dự đoán duy nhất là gì?

Điều này sẽ phụ thuộc vào việc các tính năng được chọn có độc lập hay không. Trong trường hợp các tính năng là độc lập, bạn có thể cân nhắc từng tính năng bằng thông tin lẫn nhau của nó (hoặc một số biện pháp thông tin khác) với biến phản hồi (bất cứ điều gì bạn đang phân loại). Nếu một số tính năng phụ thuộc, thì một mô hình phân loại duy nhất có thể sẽ hoạt động tốt nhất.

Làm thế nào để hầu hết các triển khai áp dụng kNN cho việc học tập tổng quát hơn?

Bằng cách cho phép người dùng chỉ định ma trận khoảng cách của riêng họ giữa tập hợp các điểm. kNN hoạt động tốt khi sử dụng thước đo khoảng cách thích hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.