Mengapa KD-Tree Berbasis Terdekat Tetangga Eksponensial di K?

9

Saya telah membaca di banyak makalah tentang pencarian tetangga terdekat berdimensi lebih tinggi yang KD-Trees eksponensial dalam K, tetapi sepertinya saya tidak dapat menentukan mengapa.

Apa yang saya cari adalah analisis kompleksitas runtime yang menjelaskan aspek masalah ini.

akdom
sumber
Pikiran cepat adalah yang ksecara efektif merupakan dimensi dari masalah dan karenanya menderita dari "kutukan dimensi."
Michael Klein

Jawaban:

1

kNN cenderung eksponensial karena ruang pencarian bertambah 2k. Bayangkan Anda mempartisi ruang di sekitar titik pencarian Anda menjadi kuadran. Untuk k = 1 Anda hanya perlu mencari dua 'kuadran' (nilai lebih tinggi dan lebih rendah), untuk k = 2 kuadran itu, untuk k = 3 kuadran itu, yaitu pertumbuhan eksponensial ruang pencarian. Itulah yang diderita pohon kD, karena harus mencari2k cabang pembantu.

Pohon-pohon lain berkinerja lebih baik, misalnya CoverTree . Saya juga menemukan bahwa PH-Tree bekerja dengan sangat baik, tampaknya secara konsisten memakan waktu dua kali lipat selama CoverTree untuk dataset antara k = 8 dan k = 27 (Saya tidak memiliki dataset dengan k yang lebih tinggi).

TilmannZ
sumber
Perhatikan bahwa Anda dapat menggunakan LaTeX di sini untuk mengeset matematika dengan cara yang lebih mudah dibaca. Lihat di sini untuk pengantar singkat.
Raphael