Вопрос или проблема
В соответствии с этой статьей и этой статьей я пытаюсь реализовать формулу для лоренцевого расстояния между 2 точками (также известного как расстояние между 2 точками в лоренцевом пространстве). Я использую это в качестве метрики расстояния для классификатора KNN.
Согласно статьям, расстояние выглядит примерно так:
где n – количество измерений (признаков), а X и Y – 2 точки, представленные векторами признаков [X1, X2, … , Xn] и [Y1, Y2, … , Yn]
Если я правильно понимаю формулу, то правый член под квадратным корнем всегда будет абсолютной разностью между 2 точками для последнего признака n, затем возведенным в квадрат. Однако этот правый член вычитается из другого квадратного члена слева, поэтому сначала может показаться, что возможно получить отрицательное значение внутри квадратного корня. И действительно, когда я попробовал эту метрику на своем наборе данных, некоторые термины вызвали ошибку из-за отрицательного значения под квадратным корнем. Признаки моего набора данных были нормализованы через minmax от 0 до 1.
В статье не упоминается, по крайней мере, для меня нет ничего, suggesting o .
Кто-нибудь сталкивался с этой метрикой расстояния и знает лучше, чем я? Или, возможно, я как-то неправильно прочитал статьи или формулу.
Любая информация будет очень полезной.
Спасибо.
Лоренцева метрика – это просто обобщение интервала пространственно-временного, с сигнатурой (n,0,1).
Воображаемый результат для метрики соответствует отрицательному реальному расстоянию. Прошедшее время – это отрицательное расстояние в пространстве. Вы вычитаете его из всех 3 пространственных направлений одинаково.
Люди не хотят в это верить, потому что они определили расстояние как всегда положительное или абсолютное. Но это не то, как работает реальность.
===[ время – это отрицательное пространство.
В первой статье, на которую вы ссылаетесь, в разделе 3.2 объясняется, что вам нужно предварительно обрабатывать данные с помощью матрицы уменьшающего члена, чтобы сделать данные значимыми в лоренцевом пространстве. Вы пробовали предварительную обработку, описанную в 3.2? Член гамма может уменьшить количество, которое вычитается, сохраняя квадратный корень положительным. Я думаю, что что-то подобное делается в теории относительности, потому что член вычитания лоренцевого расстояния делится на скорость света, c.
Ответ или решение
Чтобы правильно вычислить Лоренцево расстояние между двумя точками в Лоренцевом пространстве и избежать ошибок, связанных с возможным получением отрицательного значения внутри квадратного корня, важно учесть несколько ключевых моментов.
### 1. Понимание Лоренцевого расстояния
Лоренцево расстояние (или метрика) — это обобщение расстояния в пространстве-времени, которое используется в теории относительности и принимает форму:
\[
D(X, Y) = \sqrt{\sum_{i=1}^{n-1} (X_i – Y_i)^2 – (X_n – Y_n)^2}
\]
где \( n \) — количество измерений, а \( X, Y \) — это векторы точек с координатами \([X_1, X_2, \ldots, X_n]\) и \([Y_1, Y_2, \ldots, Y_n]\), соответственно. Обратите внимание, что последний компонент (например, временная координата) вычитается, что может привести к негативным значениям под корнем.
### 2. Подготовка данных
Согласно статье, на которую вы ссылаетесь, необходимо предварительно обработать данные с использованием “уменьшающей матрицы” (или термина), чтобы значение под корнем оставалось положительным. Это особенно важно, если ваш набор данных нормализован, например, с помощью метода min-max в диапазоне от 0 до 1. В процессе нормализации даже незначительные различия могут приводить к нежелательным результатам.
### 3. Учет термина \(\gamma\)
Термин \(\gamma\) может быть использован в качестве коэффициента, который уменьшает воздействие последнего члена, что стимулирует сохранение positivity в пределах квадратного корня. Это похоже на наблюдения в теории относительности, где временная компонента также делится на скорость света, что помогает избежать негативных значений.
### 4. Применение в KNN
При использовании Лоренцевого расстояния в алгоритме K-ближайших соседей (KNN) важно помнить, что, если вы получите отрицательное значение, это вызовет сбой в алгоритме. Рекомендуется реализовать проверки и обработчики ошибок, которые могут управлять такими ситуациями, например, отклонять неподходящие пары точек или использовать другую метрику, если расстояние становится отрицательным.
### 5. Альтернативные подходы
Если после всех вышеуказанных шагов проблема продолжается, стоит рассмотреть альтернативные подходы к сравнению точек. Возможно, стоит переосмыслить данные или применить другие расстояния, которые могут быть более адаптированными для вашего набора данных.
### Заключение
Корректное вычисление Лоренцевого расстояния требует тщательной подготовки данных и учета всех элементов метрики. С помощью правильно настроенной модели и соответствующих предобработок данных можно минимизировать риск возникновения отрицательных значений и эффективно использовать Лоренцево расстояние в алгоритмах машинного обучения, таких как KNN.