Итак, у меня около 16 000 75-мерных точек данных, и для каждой точки я хочу найти ее k ближайших соседей (используя эвклидовое расстояние, в настоящее время k = 2, если это облегчает)
Моя первая мысль заключалась в том, чтобы использовать для этого kd-дерево, но, как оказалось, они становятся довольно неэффективными по мере роста числа измерений. В моей примерной реализации это только немного быстрее, чем исчерпывающий поиск.
Моя следующая идея будет использовать PCA (Principal Component Analysis), чтобы уменьшить количество измерений, но мне было интересно: есть ли какой-нибудь умный алгоритм или структура данных, чтобы решить это именно в разумные сроки?