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

13

Я просто работаю с книгой Коллективный разум (Тоби Сегаран) и натолкнулся на евклидову оценку расстояния. В книге автор показывает, как рассчитать сходство между двумя массивами рекомендаций (например, .person×moviescore)

Он вычисляет евклидово расстояние для двух человек и по p 2 d ( p 1 , p 2 ) = p1p2

d(p1,p2)=i  item(sp1sp2)2

Это имеет смысл для меня. На самом деле я не понимаю, почему в конце он вычисляет следующее, чтобы получить «сходство на основе расстояния»:

11+d(p1,p2)

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

navige
источник
Может быть много способов преобразовать различия и сходства друг в друга - конкретная формула зависит от того, что имеет смысл для вас и для будущего анализа. В этом учебнике автор почему-то предпочел формулу, которую вы показываете; кто-то другой в другой ситуации может выбрать другую формулу. Наиболее геометрически правильный способ преобразования евклидова расстояния в подобие следует из теоремы косинуса при условии центрирования данных и описан здесь в пар. 1.
ttnphns
Ok! Но если я правильно понимаю, вы не преобразуете евклидово расстояние в подобие, а просто используете другую функцию, которая возвращает вам значения в пределах 0 и 1 (из-за косинуса), верно? Я имею в виду, что для меня это отличается от вычисления всех расстояний, а затем преобразования их в сходство, например, путем интерполяции между наименьшим и наибольшим расстоянием. Правильно?
Navige
Если у вас есть квадратная симметричная матрица квадратов евклидовых расстояний, и вы выполняете на ней операцию «двойного центрирования», то вы получаете матрицу скалярных произведений, которая будет наблюдаться, если вы поместите начало евклидова пространства в центр вашей конфигурации объекты. Эти скалярные произведения имеют сходство угловых типов. Они очень похожи на ковариации . Они не связаны в диапазоне 0-1, они могут быть отрицательными, положительными, и диагональные элементы не обязательно равны 1. Тем не менее, они являются сходствами.
ttnphns

Ответы:

12

Обратное - это изменение расстояния до сходства.

1 в знаменателе - сделать так, чтобы максимальное значение было 1 (если расстояние равно 0).

Квадратный корень - я не уверен. Если расстояние обычно больше 1, корень сделает большие расстояния менее важными; если расстояние меньше 1, это делает большие расстояния более важными.

Питер Флом - Восстановить Монику
источник
Сожалею! Квадратный корень был неправ. Автор фактически поместил это во вторую формулу, но оставил это в первой. Так что не должно быть там
navige
Да, но ваш совет по установке максимального значения на 1 имеет смысл! Благодарность!
Navige
4

Чтобы измерить расстояние и сходство (в семантическом смысле), первое, что нужно проверить, это если вы движетесь в евклидовом пространстве или нет. Эмпирический способ проверить это - оценить расстояние пары значений, для которых вы знаете значение.

Клаудио Мартинес
источник
1

Как вы упомянули, вы знаете, как вычисляется расстояние Евклида, поэтому я объясняю вторую формулу.

Евклидова формула вычисляет расстояние, которое будет меньше для людей или предметов, которые более похожи. Например, если они одинаковы, расстояние равно 0 и полностью отличается от 0.

Однако нам нужна функция, которая дает более высокое значение, они похожи. Это можно сделать, добавив 1 к функции (чтобы вы не получили ошибку деления на ноль) и инвертировав ее. Например, если раздвоение 0 и сходство 1/1 = 1

user10009133
источник
Я не понимаю этот ответ.
Майкл Р. Черник
хорошо, допустим, что евклидово расстояние между 1 и 2 равно 4, а между 1 и 3 равно 0 (значит, они на 100% похожи). Это расстояние предметов в виртуальном пространстве. Чем меньше значение расстояния, тем ближе они друг к другу, тем больше вероятность сходства. Теперь мы хотим, чтобы числовое значение было таким, чтобы оно давало большее число, если они очень похожи. Таким образом, мы можем обратное значение расстояния. Но что, если у нас расстояние равно 0, поэтому мы добавляем 1 в знаменатель. таким образом, показатель сходства для элементов 1 и 2 составляет 1 / (1 + 4) = 0,2, а для элементов 1 и 3 - 1 / (1 + 0) = 0
user10009133
Может быть, вы говорите о какой-то мере расстояния, но евклидово расстояние следует определенной формуле относительно векторного пространства.
Майкл Р. Черник
1/1+d(p1,p2)