По существу, измерение расстояния все еще корректно, однако оно становится бессмысленным, когда у вас есть данные «реального мира», которые являются шумными.
Эффект, о котором мы здесь говорим, заключается в том, что большое расстояние между двумя точками в одном измерении быстро затмевается небольшими расстояниями во всех других измерениях. Вот почему в итоге все точки в некоторой степени оказываются на одном и том же расстоянии. Для этого есть хорошая иллюстрация:
Допустим, мы хотим классифицировать данные на основе их значения в каждом измерении. Мы просто говорим, что делим каждое измерение по одному разу (диапазон которого равен 0..1). Значения в [0, 0,5) положительные, значения в [0,5, 1] отрицательные. С этим правилом, в 3 измерениях, покрыто 12,5% пространства. В 5 измерениях это всего 3,1%. В 10 измерениях он составляет менее 0,1%.
Таким образом, в каждом измерении мы по-прежнему допускаем половину общего диапазона значений! Что довольно много. Но все это в итоге занимает 0,1% от общего пространства - различия между этими точками данных огромны в каждом измерении, но незначительны по всему пространству.
Вы можете пойти дальше и сказать, что в каждом измерении вы обрезаете только 10% диапазона. Таким образом, вы допускаете значения в [0, 0,9). Вы по-прежнему занимает менее 35% всего пространства, покрытого в 10 измерениях. В 50 измерениях это 0,5%. Итак, вы видите, что широкие диапазоны данных в каждом измерении помещаются в очень маленькую часть вашего пространства поиска.
Вот почему вам нужно уменьшить размерность, когда вы в основном игнорируете различия по менее информативным осям.