В анализе данных косинусное сходство — это мера сходства между двумя ненулевыми векторами, определенными в пространстве внутреннего произведения . Косинусное сходство — это косинус угла между векторами; то есть это скалярное произведение векторов, деленное на произведение их длин. Отсюда следует, что косинусное сходство не зависит от величин векторов, а только от их угла. Косинусное сходство всегда принадлежит интервалу Например, два пропорциональных вектора имеют косинусное сходство 1, два ортогональных вектора имеют сходство 0, а два противоположных вектора имеют сходство -1. В некоторых контекстах значения компонентов векторов не могут быть отрицательными, и в этом случае косинусное сходство ограничено в .
Например, в информационном поиске и анализе текста каждому слову назначается отдельная координата, а документ представляется вектором числа появлений каждого слова в документе. Косинусное сходство затем дает полезную меру того, насколько похожими могут быть два документа с точки зрения их предмета и независимо от длины документов. [1]
Этот метод также используется для измерения сплоченности внутри кластеров в области интеллектуального анализа данных . [2]
Одним из преимуществ косинусного подобия является его низкая сложность , особенно для разреженных векторов : необходимо учитывать только ненулевые координаты.
Другие названия косинусного подобия включают подобие Орчини и коэффициент конгруэнтности Таккера ; подобие Оцуки–Очиаи (см. ниже) — это косинусное подобие, примененное к двоичным данным .
Косинус двух ненулевых векторов можно вывести, используя формулу скалярного произведения Евклида :
Для двух n -мерных векторов атрибутов, A и B , косинусное сходство, cos(θ) , представляется с помощью скалярного произведения и величины как
где и - -ые компоненты векторов и соответственно.
Результирующее сходство варьируется от -1, что означает полную противоположность, до 1, что означает полное совпадение, где 0 указывает на ортогональность или декорреляцию , а промежуточные значения указывают на промежуточное сходство или различие.
Для сопоставления текста векторы атрибутов A и B обычно являются векторами частот терминов документов. Косинусное сходство можно рассматривать как метод нормализации длины документа при сравнении. В случае поиска информации косинусное сходство двух документов будет варьироваться от , поскольку частоты терминов не могут быть отрицательными. Это остается верным при использовании весов TF-IDF . Угол между двумя векторами частот терминов не может быть больше 90°.
Если векторы атрибутов нормализуются путем вычитания векторных средних (например, ), мера называется центрированным косинусным сходством и эквивалентна коэффициенту корреляции Пирсона . Для примера центрирования,
Если расстояние между двумя векторами единичной длины определяется как длина их векторной разности, то
Тем не менее, косинусное расстояние [3] часто определяется без квадратного корня или множителя 2:
Важно отметить, что в силу пропорциональности квадрату евклидова расстояния косинусное расстояние не является истинной метрикой расстояния ; оно не демонстрирует свойство неравенства треугольника — или, более формально, неравенство Шварца — и нарушает аксиому совпадения. Чтобы исправить свойство неравенства треугольника, сохранив тот же порядок, можно преобразовать в евклидово расстояние или угловое расстояние θ = arccos( SC ( A , B )) . В качестве альтернативы, треугольное неравенство, которое работает для угловых расстояний , можно выразить непосредственно через косинусы; см. ниже.
Нормализованный угол, называемый угловым расстоянием , между любыми двумя векторами , является формальной метрикой расстояния и может быть вычислен из косинусного подобия. [4] Затем дополнение метрики углового расстояния может быть использовано для определения функции углового подобия, ограниченной между 0 и 1 включительно.
Когда элементы вектора могут быть положительными или отрицательными:
Или, если элементы вектора всегда положительны:
К сожалению, вычисление функции обратного косинуса ( arccos ) происходит медленно, что делает использование углового расстояния более затратным с точки зрения вычислений, чем использование более распространенного (но не метрического) косинусного расстояния, приведенного выше.
Другой эффективный прокси для косинусного расстояния может быть получен путем нормализации векторов с последующим применением нормального евклидова расстояния . Используя эту технику, каждый член в каждом векторе сначала делится на величину вектора, что дает вектор единичной длины. Тогда евклидово расстояние по конечным точкам любых двух векторов является надлежащей метрикой, которая дает тот же порядок, что и косинусное расстояние ( монотонное преобразование евклидова расстояния; см. ниже) для любого сравнения векторов, и, кроме того, позволяет избежать потенциально дорогостоящих тригонометрических операций, необходимых для получения надлежащей метрики. После того, как нормализация произошла, векторное пространство можно использовать со всем спектром методов, доступных для любого евклидова пространства, в частности, со стандартными методами снижения размерности . Это нормализованное расстояние формы часто используется во многих алгоритмах глубокого обучения .
В биологии существует аналогичная концепция, известная как коэффициент Оцука-Очиай, названная в честь Яносукэ Оцука (также пишется как Оцука, Оцука или Отука, [5] японский :大塚 弥之助) [6] и Акира Отиай ( японский :落合 明), [7] также известный как коэффициент Очиаи–Баркмана [8] или коэффициент Очиаи, [9] который можно представить как:
Здесь и — множества , а — число элементов в . Если множества представлены в виде битовых векторов, то коэффициент Оцуки–Очиаи можно считать таким же, как и косинусное сходство. Он идентичен оценке, введенной Годфри Томсоном . [10]
В недавней книге [11] коэффициент предварительно ошибочно приписывается другому японскому исследователю с фамилией Оцука. Путаница возникает из-за того, что в 1957 году Акира Очиаи приписывает коэффициент только Оцуке (имя не упоминается) [7], цитируя статью Икусо Хамаи ( яп. :浜井 生三), [12] который в свою очередь цитирует оригинальную статью 1936 года Яносукэ Оцуки. [6]
Наиболее примечательным свойством косинусного сходства является то, что оно отражает относительное, а не абсолютное, сравнение отдельных векторных измерений. Для любой положительной константы и вектора векторы и максимально похожи. Таким образом, эта мера наиболее подходит для данных, где частота важнее абсолютных значений; в частности, частота терминов в документах. Однако более поздние метрики, основанные на теории информации, такие как Дженсена–Шеннона , SED и треугольная дивергенция, как было показано, улучшили семантику, по крайней мере, в некоторых контекстах. [13]
Косинусное подобие связано с евклидовым расстоянием следующим образом. Обозначим евклидово расстояние как обычно , и заметим, что
путем расширения . Когда A и B нормализованы к единичной длине, то это выражение равно
Короче говоря, косинусное расстояние можно выразить через евклидово расстояние как
Евклидово расстояние называется хордовым расстоянием (потому что это длина хорды на единичной окружности) и представляет собой евклидово расстояние между векторами, которые были нормализованы к единичной сумме квадратов значений внутри них.
Нулевое распределение: Для данных, которые могут быть как отрицательными, так и положительными, нулевое распределение для косинусного подобия является распределением скалярного произведения двух независимых случайных единичных векторов . Это распределение имеет среднее значение , равное нулю, и дисперсию ( где — число измерений), и хотя распределение ограничено диапазоном от -1 до +1, по мере увеличения распределение все лучше аппроксимируется нормальным распределением . [ 14] [15] Для других типов данных, таких как потоки битов , которые принимают только значения 0 или 1, нулевое распределение принимает другую форму и может иметь ненулевое среднее значение. [16]
Обычное неравенство треугольника для углов (т.е. длин дуг на единичной гиперсфере) дает нам, что
Поскольку функция косинуса уменьшается с увеличением угла в [0, π ] радиан, смысл этих неравенств меняется на противоположный, когда мы берем косинус каждого значения:
Используя формулы сложения и вычитания косинусов, эти два неравенства можно записать через исходные косинусы:
Эту форму неравенства треугольника можно использовать для ограничения минимального и максимального сходства двух объектов A и B, если сходство с эталонным объектом C уже известно. Это используется, например, в индексации метрических данных, но также использовалось для ускорения сферической кластеризации k-средних [17] таким же образом, как неравенство евклидова треугольника использовалось для ускорения обычных k-средних.
Мягкий косинус или («мягкое» сходство) между двумя векторами учитывает сходство между парами признаков. [18] Традиционное косинусное сходство рассматривает признаки модели векторного пространства (VSM) как независимые или совершенно разные, в то время как мягкая косинусная мера предлагает учитывать сходство признаков в VSM, что помогает обобщить концепцию косинуса (и мягкого косинуса), а также идею (мягкого) сходства.
Например, в области обработки естественного языка (NLP) сходство между признаками вполне интуитивно понятно. Такие признаки, как слова, n -граммы или синтаксические n -граммы [19], могут быть весьма похожи, хотя формально они считаются разными признаками в VSM. Например, слова «play» и «game» являются разными словами и, таким образом, отображаются в разные точки в VSM; тем не менее, они семантически связаны. В случае n -грамм или синтаксических n -грамм можно применить расстояние Левенштейна (фактически, расстояние Левенштейна можно применить и к словам).
Для вычисления мягкого косинуса матрица s используется для указания сходства между признаками. Она может быть рассчитана через расстояние Левенштейна, сходство WordNet или другие меры сходства . Затем мы просто умножаем на эту матрицу.
Для двух векторов размерности N и мягкое косинусное сходство вычисляется следующим образом:
где s ij = сходство (признак i , признак j ) .
Если между признаками нет сходства ( s ii = 1 , s ij = 0 для i ≠ j ), данное уравнение эквивалентно обычной формуле косинусного сходства.
Временная сложность этой меры квадратична, что делает ее применимой к реальным задачам. Обратите внимание, что сложность может быть снижена до субквадратичной. [20] Эффективная реализация такого мягкого косинусного подобия включена в библиотеку Gensim с открытым исходным кодом.
{{cite web}}
: CS1 maint: numeric names: authors list (link)[…] приписано им «Оцуке» [?А. Оцуке из Департамента рыболовства Университета Тохоку].