Я просто работаю с книгой Коллективный разум (Тоби Сегаран) и натолкнулся на евклидову оценку расстояния. В книге автор показывает, как рассчитать сходство между двумя массивами рекомендаций (например, .
Он вычисляет евклидово расстояние для двух человек и по p 2 d ( p 1 , p 2 ) = √
Это имеет смысл для меня. На самом деле я не понимаю, почему в конце он вычисляет следующее, чтобы получить «сходство на основе расстояния»:
Итак, я как-то понимаю, что это должно быть преобразование из расстояния в сходство (верно?). Но почему формуляр выглядит так? Кто-нибудь может это объяснить?
Ответы:
Обратное - это изменение расстояния до сходства.
1 в знаменателе - сделать так, чтобы максимальное значение было 1 (если расстояние равно 0).
Квадратный корень - я не уверен. Если расстояние обычно больше 1, корень сделает большие расстояния менее важными; если расстояние меньше 1, это делает большие расстояния более важными.
источник
Чтобы измерить расстояние и сходство (в семантическом смысле), первое, что нужно проверить, это если вы движетесь в евклидовом пространстве или нет. Эмпирический способ проверить это - оценить расстояние пары значений, для которых вы знаете значение.
источник
Как вы упомянули, вы знаете, как вычисляется расстояние Евклида, поэтому я объясняю вторую формулу.
Евклидова формула вычисляет расстояние, которое будет меньше для людей или предметов, которые более похожи. Например, если они одинаковы, расстояние равно 0 и полностью отличается от 0.
Однако нам нужна функция, которая дает более высокое значение, они похожи. Это можно сделать, добавив 1 к функции (чтобы вы не получили ошибку деления на ноль) и инвертировав ее. Например, если раздвоение 0 и сходство 1/1 = 1
источник