kNN tende a ser exponencial porque o espaço de pesquisa aumenta com . Imagine dividir o espaço em torno do seu ponto de pesquisa em quadrantes. Para k = 1, basta procurar dois 'quadrantes' (valores superiores e inferiores), para k = 2 são 4 quadrantes, para k = 3 são 8 quadrantes, ou seja, crescimento exponencial do espaço de pesquisa. É disso que a árvore kD sofre, porque precisa procurar sub-ramificações.2k2k
Outras árvores têm um desempenho muito melhor, por exemplo, o CoverTree . Também descobri que o PH-Tree funciona muito bem, parece demorar duas vezes mais que o CoverTree para conjuntos de dados entre k = 8 e k = 27 (eu não tinha conjuntos de dados com k mais alto).
k
é efetivamente a dimensão do problema e, portanto, sofre com a "maldição da dimensionalidade".