Является ли сходство косинусов идентичным l2-нормированному евклидову расстоянию?

27

Идентичный смысл, что он будет производить идентичные результаты для ранжирования сходства между вектором ¯u и набором векторами V .

У меня есть модель векторного пространства, в которой в качестве параметров используется мера расстояния (евклидово расстояние, косинусное сходство) и метод нормализации (нет, l1, l2). Насколько я понимаю, результаты настроек [косинус, нет] должны быть идентичны или, по крайней мере, действительно очень похожи на [евклидово, l2], но это не так.

На самом деле есть хороший шанс, что система все еще глючит - или у меня есть что-то критическое неправильно в отношении векторов?

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

Простой расчет их евклидова расстояния - прямая мера, но в той задаче, над которой я работаю, сходство по косинусу часто предпочитают в качестве индикатора сходства, потому что векторы, которые отличаются только по длине, по-прежнему считаются равными. Документ с наименьшим сходством расстояния / косинуса считается наиболее похожим.

Arne
источник
Все зависит от того, что ваша «модель векторного пространства» делает с этими расстояниями. Не могли бы вы более подробно рассказать о том, что делает модель?
whuber
Извините, иногда мне трудно выбраться из головы. Я добавил спецификацию.
Арне
Вы все еще не описываете какую-либо модель. Фактически, единственная подсказка, которую вы оставили относительно «вида задачи, над которой вы работаете», - это тег nlp, но он настолько широк, что не очень помогает. Я надеюсь, что вы можете предоставить, чтобы люди могли понять вопрос и дать хорошие ответы, - это достаточная информация, чтобы точно определить, как вы используете меру расстояния и как она определяет, какими могут быть «результаты».
whuber
stats.stackexchange.com/a/36158/3277 . Любое угловое, похожее на sscp-подобие, обратимо в соответствующее евклидово расстояние.
ttnphns

Ответы:

31

Для -нормализованных векторов , мы имеем квадрат Евклида расстояние пропорционально косинусному расстоянию , То есть, даже если вы нормализуете свои данные и ваш алгоритм не зависит от масштабирования расстояний, вы все равно ожидаете различий из-за возведения в квадрат.х , у | | х | | 2 = | | у | | 2 = 1 , | | х - у | | 2 22Икс,Y

||Икс||2знак равно||Y||2знак равно1,
||Икс-Y||22знак равно(Икс-Y)(Икс-Y)знак равноИксИкс-2ИксY+YYзнак равно2-2ИксYзнак равно2-2соз(Икс,Y)
Лукас
источник
Повлияет ли это на рейтинг? То есть, если я отсортирую количество векторов 'v_i в V' по их косинусному расстоянию до вектора 'u', я получу для них определенный порядок. Будет ли ранжирование тех же векторов с l_2 нормированным евклидовым расстоянием производить тот же порядок?
Арне
2
iirc, поскольку возведение в квадрат представляет собой монотонное преобразование (для положительных чисел), оно не может изменить порядок последовательности, отсортированной по длине.
Арне
5
Вы правы, если все, что вы делаете, это ранжируете векторы по их расстоянию до , использование косинусного расстояния должно давать тот же результат, что и евклидово расстояние (для нормализованных векторов). U
Лукас
Спасибо, у вас есть цитируемый источник для этой связи?
Арне
1
Ну, я думаю, что «Linear Alebra I» должно быть достаточно;) Еще раз спасибо за понимание!
Арне
5

Стандартное косинусное подобие определяется в евклидовом пространстве следующим образом, предполагая векторы столбцов и : Это сводится к стандартному внутреннему произведению, если ваши векторы нормированы на единичную норму (в l2). В текстовом майнинге такого рода нормализация не является неслыханной, но я бы не стал считать это стандартом.V соз ( у , v ) = U , VUv

соз(U,v)знак равноU,v| |U| || |v| |знак равноUTv| |U| || |v| |[-1,1],
Марк Клазен
источник