Евклидово расстояние

У меня проблемы с пониманием евклидова расстояния. У меня есть два разных объекта, и я хочу измерить сходство между ними.

Предположим, что объект A имеет 2 вектора признаков, а объект B имеет только 1 вектор признаков. Как мне рассчитать евклидово расстояние между этими двумя объектами, чтобы узнать их сходство?

Большое спасибо.


person David watson    schedule 07.04.2011    source источник


Ответы (3)


вы можете вычислить евклидово расстояние только для векторов одной размерности. Но вы можете определить некоторые значения по умолчанию для функций, которые отсутствуют в объекте 2.

person Nikolaus Gradwohl    schedule 07.04.2011
comment
Уважаемый, размерность всех векторов признаков одинакова, но есть разница в количестве векторов признаков для каждого объекта. Может быть, я вас не понял. - person David watson; 07.04.2011
comment
вы хотите рассчитать векторы признаков или расстояние между объектами? если ваши функции не являются числовыми значениями, а сами являются векторами, вы можете объединить их в большой вектор и сравнить его с агрегированным вектором второго объекта (заполнение ошибочных частей значениями по умолчанию) - person Nikolaus Gradwohl; 07.04.2011
comment
Что ж, векторы признаков уже вычислены и имеют числовой характер. Возможно ли, что мы сможем агрегировать векторы по каждой сущности, а затем вычислить евклидово расстояние? - person David watson; 07.04.2011
comment
да, учитывая, что вы можете указать полезные значения по умолчанию для отсутствующих функций - person Nikolaus Gradwohl; 08.04.2011

L2 находится между двумя векторами признаков. Вот два естественных способа сделать это:

Вы можете найти минимальное расстояние L2 между всеми векторами признаков объекта 1 и всеми векторами признаков объекта 2. Если у нас есть 2 вектора для объекта 1, например A = [1,3,2,1] и B = [3, 2,4,1] И 1 вектор для объекта 2, например C = [1,2,4,2]. Тогда dist = min (d ([1,3,2,1], [1,2,4,2]), d ([3,2,4,1], [1,2,4,2])

Вы можете найти средние векторы между всеми векторами объекта 1 и средним вектором объекта 2. Затем вычислите расстояние L2. Если у нас есть 2 вектора для объекта 1, например A = [1,3,2,1] и B = [3,2,4,1] И 1 вектор для объекта 2, например C = [1,2,4,2] . Тогда dist = d ([(1 + 3) / 2, (3 + 2) / 2, (2 + 4) / 2, (1 + 1) / 2], [1,2,4,2])

person carlosdc    schedule 07.04.2011
comment
Обычно в этом случае разные объекты имеют разные векторы признаков. Возможно ли, что мы можем накапливать или суммировать векторы по объектам, а затем вычислять расстояние? - person David watson; 07.04.2011
comment
Большое спасибо. Подскажите, пожалуйста, как мне рассчитать среднее количество векторов на объект? - person David watson; 07.04.2011
comment
Вы можете сделать это путем усреднения каждого компонента векторов для каждого объекта. - person carlosdc; 07.04.2011
comment
Большое спасибо, но не могли бы вы продемонстрировать. Если у нас есть 2 вектора для объекта 1, например A = {1,3,2,1} и B = {3,2,4,1} И 1 вектор для объекта 2, например C = {1,2,4,2} . - person David watson; 07.04.2011

Это совсем не плохой вопрос.

Иногда математики определяют евклидово расстояние между двумя наборами (A и B) элементов как минимальное расстояние между любыми двумя парами элементов из любого набора.

Вы также можете использовать максимум этих двух наборов. Это называется расстоянием Хаусдорфа.

Расстояние между двумя наборами

Другими словами, вы можете вычислить евклидово расстояние между каждым элементом набора A и каждым элементом набора B, а затем определить расстояние d (A, B) между двумя наборами как минимальное (или максимальное) расстояние любого из пары элементов, которые вы вычислили.

Расстояние Хаусдорфа (максимальное) имеет некоторые более приятные математические свойства, и в пространстве непустых компактных множеств (которым будет ваш элемент, поскольку они дискретны) оно будет правильным математическим расстоянием, поскольку оно удовлетворяет:

Для всех непустых компактов A, B, C

  1. d (A, B)> = 0 (причем d (A, B) = 0 тогда и только тогда, когда A = B)
  2. d(A,B) = d(B,A)
  3. d(A,B) <= d(A,C) + d(C,B)
person Chris A.    schedule 23.04.2011