Когда можно использовать манхэттенское расстояние как противоположное евклидову?

18

Я пытаюсь найти хороший аргумент о том, почему в машинном обучении можно использовать расстояние Манхэттена над евклидовым расстоянием .

До сих пор я нашел хороший аргумент в этой лекции в Массачусетском технологическом институте .

В 36:15 вы можете увидеть на слайдах следующее утверждение:

«Обычно используют евклидову метрику; Манхэттен может быть уместен, если разные размеры не сопоставимы ».

Вскоре после того, как профессор говорит, что, поскольку число ног рептилии варьируется от 0 до 4 (в то время как другие признаки являются бинарными, изменяются только от 0 до 1), функция «количество ног» в конечном итоге будет иметь гораздо большее вес, если используется евклидово расстояние. Конечно же, это действительно правильно. Но эта проблема также может возникнуть при использовании манхэттенского расстояния (только то, что проблема будет слегка смягчена, потому что мы не возводим в квадрат разницу, как на евклидовом расстоянии).

Лучшим способом решения вышеуказанной проблемы было бы нормализовать функцию «количество ножек», чтобы ее значение всегда находилось в диапазоне от 0 до 1.

Поэтому, поскольку есть лучший способ решения проблемы, мне казалось, что аргументу об использовании манхэттенского расстояния в этом случае не хватало более сильной точки зрения, по крайней мере, на мой взгляд.

Кто-нибудь на самом деле знает, почему и когда кто-то будет использовать расстояние Манхэттена над евклидовым? Кто-нибудь может привести пример, в котором использование манхэттенского расстояния дало бы лучшие результаты?

Tiago
источник

Ответы:

4

Согласно этой интересной статье, расстояние Манхэттена (норма L1) может быть предпочтительнее евклидова расстояния (норма L2) для случая данных больших размеров:

https://bib.dbvis.de/uploadedFiles/155.pdf

Авторы статьи даже делают еще один шаг и предлагают использовать Lk-нормы расстояний с дробным значением k для данных очень больших размеров, чтобы улучшить результаты алгоритмов, основанных на расстояниях, таких как кластеризация.

Пабло Суау
источник
stats.stackexchange.com/a/99191 дает более полный ответ
микрофон
3

Я могу предложить пару идей из Википедии .

  1. Если вы хотите уделить меньше внимания выбросам, манхэттенское расстояние постарается уменьшить все ошибки в равной степени, поскольку градиент имеет постоянную величину.
  2. Если ваш шум распределен по лапласиану, MLE определяется путем минимизации оценки Манхэттена.
Жак Квам
источник
3

Я нашел кое-что, что могло бы быть интуицией в этой проблеме, в практическом машинном обучении с Scikit-Learn и TensorFlow.

И RMSE, и MAE являются способами измерения расстояния между двумя векторами: вектором предсказаний и вектором целевых значений. Возможны различные меры расстояния или нормы:

  • Вычисление корня суммы квадратов (RMSE) соответствует евклидовой норме: это понятие расстояния, с которым вы знакомы. Это также называется нормой ℓ2 (...)

  • Вычисление суммы абсолютов (MAE) соответствует норме ℓ1, (...). Его иногда называют нормой Манхэттена, потому что он измеряет расстояние между двумя точками в городе, если вы можете путешествовать только по ортогональным городским кварталам.

  • В более общем смысле, (...) ℓ 0 просто дает число ненулевых элементов в векторе, а ℓ∞ дает максимальное абсолютное значение в векторе.

  • Чем выше индекс нормы, тем больше он ориентируется на большие значения и игнорирует маленькие. Вот почему RMSE более чувствительна к выбросам, чем MAE. Но когда выбросы экспоненциально редки (как в форме колоколообразной кривой), RMSE работает очень хорошо и обычно предпочтительнее.

Дамиан Мельничук
источник
2

Использование расстояния Манхэттена во многом зависит от типа системы координат, которую использует ваш набор данных. В то время как евклидово расстояние дает самое короткое или минимальное расстояние между двумя точками, у Манхэттена есть определенные реализации.

Например, если бы мы использовали набор данных Chess, то использование манхэттенского расстояния будет более подходящим, чем евклидово расстояние. Другое использование будет, когда вы хотите узнать расстояние между домами, которые находятся в нескольких кварталах друг от друга.

Кроме того, вы можете рассмотреть расстояние Манхэттена, если входные переменные не похожи по типу (например, возраст, пол, рост и т. Д.). Из-за проклятия размерности мы знаем, что евклидово расстояние становится плохим выбором, так как число измерений увеличивается.

Итак, в двух словах: Манхэттенское расстояние, как правило, работает только в том случае, если точки расположены в виде сетки, и в задаче, над которой мы работаем, приоритет отдается расстоянию между точками только вместе с сетками, а не геометрическому расстоянию.

Саурабх Джайн
источник