Tại sao là hàng xóm gần nhất dựa trên KD-Tree trong K?


8

Tôi đã đọc trong nhiều bài báo về tìm kiếm hàng xóm gần nhất chiều cao hơn rằng Cây KD là số mũ của K, nhưng dường như tôi không thể xác định lý do tại sao.

Những gì tôi đang tìm kiếm là một phân tích phức tạp thời gian chạy giải thích khía cạnh này của vấn đề.


Suy nghĩ nhanh là đó kthực sự là chiều kích của vấn đề và vì vậy nó phải chịu "lời nguyền của chiều".
Michael Klein

Câu trả lời:


1

kNN có xu hướng theo cấp số nhân vì không gian tìm kiếm tăng lên với . Hãy tưởng tượng bạn phân vùng không gian xung quanh điểm tìm kiếm của bạn thành góc phần tư. Với k = 1, bạn chỉ cần tìm kiếm hai 'góc phần tư' (giá trị cao hơn và thấp hơn), với k = 2 là 4 góc phần tư, với k = 3 là 8 góc phần tư, tức là tăng trưởng theo cấp số nhân của không gian tìm kiếm. Đó là những gì mà cây kD phải chịu, vì nó phải tìm kiếm nhánh con.2k2k

Các cây khác hoạt động tốt hơn nhiều, ví dụ như CoverTree . Tôi cũng thấy rằng PH-Tree hoạt động khá tốt, dường như nó luôn mất gấp đôi thời gian so với CoverTree cho các bộ dữ liệu trong khoảng từ k = 8 đến k = 27 (Tôi không có bộ dữ liệu với k cao hơn).


Lưu ý rằng bạn có thể sử dụng LaTeX tại đây để sắp xếp toán học theo cách dễ đọc hơn. Xem ở đây để giới thiệu ngắn.
Raphael
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.