170 похожих чатов

Коллеги, всем привет? как понимаю, при сравнении объектов чаще всего применяются

"расстояния", например, евклидово или блок-сити,
а для сравнения текстов/эмбеддингов - косинусная/контекстная/симантическая близость.
почему так?
то есть почему не сравнивать эмбеддинги теми же расстояниями?
для чего перешли именно на косинусную близость?

8 ответов

23 просмотра

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

Vasily Chesalov
Есть два вектора, если их углы близки, значит, век...

Скорее, угол между ними стремиться к нулю, и для которого косинус равен единице. Что есть хорошо.

Anatoly-Belov Автор вопроса
Vasily Chesalov
Есть два вектора, если их углы близки, значит, век...

это я понимаю ) вопрос был в том, почему при сравнении текста/эмбеддинга применяется контекстная близость, а при сравнении просто объектов и координат - евклидово расстояние? в чем разница по логике? если сравнить эмбеддинги, близкие по контекстной близости, через евклидово расстояние - разве они не будут "также" близки?

Anatoly Belov
это я понимаю ) вопрос был в том, почему при сравн...

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

Эмиль Шакиров
Косинусное расстояние не подвержено проклятию разм...

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

Anatoly Belov
это я понимаю ) вопрос был в том, почему при сравн...

На что учили, то и считают. Как-то повелось, что обычно в конце моделей обычно линейный слой, который по факту считает dot product скрытого состояния и выходных векторов. Поэтому косинусное расстояние более естественно для таких моделей. Или в случае сиамских сетей вообще напрямую косинусное расстояние оптимизируют. Кроме того, для нормированных векторов квадрат евклидова расстояния линейно зависит от косинусного расстояния (d^2 = 2 - 2cos), так что в этом случае нет вообще никакой разницы.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта