Похоже, что косинусное сходство двух признаков - это просто их точечное произведение, масштабированное произведением их величин. Когда косинусное сходство делает лучшую метрику расстояния, чем скалярное произведение? Т.е. имеют ли точечное произведение и косинусное сходство разные сильные или слабые стороны в разных ситуациях?
classification
ahoffer
источник
источник
Ответы:
Думай геометрически. Косинусное сходство касается только разности углов, а точечное произведение заботится об угле и величине. Если вы нормализуете свои данные, чтобы иметь одинаковую величину, эти два неразличимы. Иногда желательно игнорировать величину, поэтому косинусное сходство хорошо, но если величина играет роль, точечное произведение будет лучше в качестве меры подобия. Обратите внимание, что ни один из них не является «метрикой расстояния».
источник
Вы правы, косинусное сходство имеет много общего с точечным произведением векторов. Действительно, это точечный продукт, масштабированный по величине. А из-за масштабирования он нормализуется между 0 и 1. CS предпочтительнее, потому что он учитывает изменчивость данных и относительные частоты объектов. С другой стороны, продукт с простой точкой немного «дешевле» (с точки зрения сложности и реализации).
источник
Я хотел бы добавить еще одно измерение к ответам, приведенным выше. Обычно мы используем косинусное сходство с большим текстом, поскольку не рекомендуется использовать матрицу расстояний для абзацев данных. А также, если вы хотите, чтобы ваш кластер был широким, вы склонны использовать косинусное сходство, поскольку оно отражает сходство в целом.
Например, если у вас есть тексты длиной не более двух или трех слов, я чувствую, что использование косинусного сходства не достигает точности, достигнутой метрикой расстояния.
источник
Существует отличное сравнение общих показателей подобия внутреннего продукта на основе здесь .
В частности, косинусное сходство нормализуется и лежит в пределах [0,1], в отличие от точечного произведения, которое может быть любым действительным числом, но, как говорят все остальные, это потребует игнорирования величины векторов. Лично я считаю, что это хорошо. Я думаю о величине как о внутренней (внутри-векторной) структуре, а угол между векторами - как о внешней (между вектором) структуре. Это разные вещи и (на мой взгляд) часто лучше всего анализировать отдельно. Я не могу представить ситуацию, в которой я бы предпочел вычислить внутренние произведения, а не вычислить косинусное сходство и просто сравнить величины после этого.
источник
Визуально все ваши данные живут в единой сфере. Использование точечного произведения в качестве расстояния даст вам хордовое расстояние, но если вы используете это косинусное расстояние, оно соответствует длине пути между двумя точками на сфере. Это означает, что если вы хотите получить среднее из двух точек, вам следует взять промежуточную точку на этом пути (геодезическую), а не среднюю точку, полученную из «арифметического среднего / точечного произведения / евклидовой геометрии», поскольку эта точка не жить на сфере (следовательно, по сути не тот же объект)!
источник
Как уже отмечали другие, это не «метрики» расстояния, потому что они не удовлетворяют критериям метрики. Скажи вместо этого «мера расстояния».
Во всяком случае, что вы измеряете и почему? Эта информация поможет нам дать более полезный ответ для вашей ситуации.
источник