En el análisis de datos , la similitud de coseno es una medida de similitud entre dos vectores distintos de cero definidos en un espacio de producto interno . La similitud de coseno es el coseno del ángulo entre los vectores; es decir, es el producto escalar de los vectores dividido por el producto de sus longitudes. De ello se deduce que la similitud de coseno no depende de las magnitudes de los vectores, sino solo de su ángulo. La similitud de coseno siempre pertenece al intervalo Por ejemplo, dos vectores proporcionales tienen una similitud de coseno de 1, dos vectores ortogonales tienen una similitud de 0 y dos vectores opuestos tienen una similitud de -1. En algunos contextos, los valores de los componentes de los vectores no pueden ser negativos, en cuyo caso la similitud de coseno está acotada en .
Por ejemplo, en la recuperación de información y la minería de texto , a cada palabra se le asigna una coordenada diferente y un documento se representa mediante el vector de la cantidad de ocurrencias de cada palabra en el documento. La similitud de coseno proporciona entonces una medida útil de cuán similares son probablemente dos documentos, en términos de su contenido, e independientemente de la longitud de los documentos. [1]
La técnica también se utiliza para medir la cohesión dentro de clústeres en el campo de la minería de datos . [2]
Una ventaja de la similitud de coseno es su baja complejidad , especialmente para vectores dispersos : solo deben considerarse las coordenadas distintas de cero.
Otros nombres para la similitud de coseno incluyen similitud de Orchini y coeficiente de congruencia de Tucker ; la similitud de Otsuka-Ochiai (ver más abajo) es la similitud de coseno aplicada a datos binarios .
El coseno de dos vectores distintos de cero se puede derivar utilizando la fórmula del producto escalar euclidiano :
Dados dos vectores n -dimensionales de atributos, A y B , la similitud del coseno, cos(θ) , se representa utilizando un producto escalar y una magnitud como
donde y son los componentes th de los vectores y , respectivamente.
La similitud resultante varía de -1, que significa exactamente opuesto, a 1, que significa exactamente lo mismo, donde 0 indica ortogonalidad o decorrelación , mientras que los valores intermedios indican similitud o disimilitud intermedia.
Para la comparación de texto , los vectores de atributos A y B suelen ser los vectores de frecuencia de términos de los documentos. La similitud de coseno se puede considerar como un método para normalizar la longitud de los documentos durante la comparación. En el caso de la recuperación de información , la similitud de coseno de dos documentos oscilará entre , ya que las frecuencias de los términos no pueden ser negativas. Esto sigue siendo cierto cuando se utilizan ponderaciones TF-IDF . El ángulo entre dos vectores de frecuencia de términos no puede ser mayor de 90°.
Si los vectores de atributos se normalizan restando las medias de los vectores (por ejemplo, ), la medida se denomina similitud de coseno centrado y es equivalente al coeficiente de correlación de Pearson . Para un ejemplo de centrado,
Cuando la distancia entre dos vectores de longitud unitaria se define como la longitud de su diferencia vectorial, entonces
No obstante, la distancia del coseno [3] a menudo se define sin la raíz cuadrada o el factor de 2:
Es importante señalar que, en virtud de ser proporcional al cuadrado de la distancia euclidiana, la distancia del coseno no es una verdadera métrica de distancia ; no exhibe la propiedad de desigualdad triangular —o, más formalmente, la desigualdad de Schwarz— y viola el axioma de coincidencia. Para reparar la propiedad de desigualdad triangular manteniendo el mismo orden, se puede convertir a distancia euclidiana o distancia angular θ = arccos( S C ( A , B )) . Alternativamente, la desigualdad triangular que funciona para distancias angulares se puede expresar directamente en términos de los cosenos; vea a continuación.
El ángulo normalizado, denominado distancia angular , entre dos vectores cualesquiera , es una métrica de distancia formal y se puede calcular a partir de la similitud del coseno. [4] El complemento de la métrica de distancia angular se puede utilizar para definir una función de similitud angular limitada entre 0 y 1, inclusive.
Cuando los elementos del vector pueden ser positivos o negativos:
O, si los elementos del vector son siempre positivos:
Lamentablemente, el cálculo de la función coseno inverso ( arccos ) es lento, lo que hace que el uso de la distancia angular sea computacionalmente más costoso que el uso de la distancia coseno más común (pero no métrica) mencionada anteriormente.
Otro indicador eficaz de la distancia del coseno se puede obtener mediante la normalización de los vectores, seguida de la aplicación de la distancia euclidiana normal . Con esta técnica, cada término de cada vector se divide primero por la magnitud del vector, lo que produce un vector de longitud unitaria. Luego, la distancia euclidiana sobre los puntos finales de dos vectores cualesquiera es una métrica adecuada que proporciona el mismo orden que la distancia del coseno (una transformación monótona de la distancia euclidiana; véase más abajo) para cualquier comparación de vectores y, además, evita las operaciones trigonométricas potencialmente costosas necesarias para producir una métrica adecuada. Una vez que se ha producido la normalización, el espacio vectorial se puede utilizar con toda la gama de técnicas disponibles para cualquier espacio euclidiano, en particular las técnicas de reducción de dimensionalidad estándar . Esta distancia de forma normalizada se utiliza a menudo en muchos algoritmos de aprendizaje profundo .
En biología, existe un concepto similar conocido como coeficiente Otsuka-Ochiai que lleva el nombre de Yanosuke Otsuka (también escrito como Ōtsuka, Ootsuka u Otuka, [5] japonés :大塚 弥之助) [6] y Akira Ochiai ( japonés :落合 明), [7] también conocido como coeficiente de Ochiai-Barkman [8] o coeficiente de Ochiai, [9] que puede representarse como:
Aquí, y son conjuntos , y es el número de elementos en . Si los conjuntos se representan como vectores de bits, se puede ver que el coeficiente de Otsuka-Ochiai es el mismo que la similitud del coseno. Es idéntico a la puntuación introducida por Godfrey Thomson . [10]
En un libro reciente, [11] el coeficiente se atribuye erróneamente de forma tentativa a otro investigador japonés con el apellido Otsuka. La confusión surge porque en 1957 Akira Ochiai atribuye el coeficiente solo a Otsuka (no se menciona el nombre de pila) [7] citando un artículo de Ikuso Hamai ( japonés :浜井 生三), [12] quien a su vez cita el artículo original de 1936 de Yanosuke Otsuka. [6]
La propiedad más notable de la similitud de coseno es que refleja una comparación relativa, en lugar de absoluta, de las dimensiones individuales de los vectores. Para cualquier constante positiva y vector , los vectores y son máximamente similares. Por lo tanto, la medida es más apropiada para datos donde la frecuencia es más importante que los valores absolutos; en particular, la frecuencia de términos en documentos. Sin embargo, se ha demostrado que las métricas más recientes con una base en la teoría de la información, como Jensen-Shannon , SED y divergencia triangular han mejorado la semántica en al menos algunos contextos. [13]
La semejanza del coseno está relacionada con la distancia euclidiana de la siguiente manera. Denote la distancia euclidiana por el término habitual y observe que
por expansión . Cuando A y B se normalizan a longitud unitaria, entonces esta expresión es igual a
En resumen, la distancia del coseno se puede expresar en términos de distancia euclidiana como
La distancia euclidiana se denomina distancia de la cuerda (porque es la longitud de la cuerda en el círculo unitario) y es la distancia euclidiana entre los vectores que se normalizaron a la suma unitaria de los valores cuadrados dentro de ellos.
Distribución nula: para datos que pueden ser tanto negativos como positivos, la distribución nula para la similitud de coseno es la distribución del producto escalar de dos vectores unitarios aleatorios independientes . Esta distribución tiene una media de cero y una varianza de (donde es el número de dimensiones), y aunque la distribución está limitada entre -1 y +1, a medida que crece la distribución se aproxima cada vez mejor a la distribución normal . [14] [15] Otros tipos de datos como los flujos de bits , que solo toman los valores 0 o 1, la distribución nula toma una forma diferente y puede tener una media distinta de cero. [16]
La desigualdad triangular ordinaria para ángulos (es decir, longitudes de arco en una hiperesfera unitaria) nos da que
Como la función coseno disminuye a medida que aumenta un ángulo en [0, π ] radianes, el sentido de estas desigualdades se invierte cuando tomamos el coseno de cada valor:
Usando las fórmulas de suma y resta de cosenos, estas dos desigualdades se pueden escribir en términos de los cosenos originales,
Esta forma de la desigualdad triangular se puede utilizar para limitar la similitud mínima y máxima de dos objetos A y B si ya se conocen las similitudes con un objeto de referencia C. Esto se utiliza, por ejemplo, en la indexación de datos métricos, pero también se ha utilizado para acelerar la agrupación de k-medias esféricas [17] de la misma manera que se ha utilizado la desigualdad triangular euclidiana para acelerar las k-medias regulares.
Un coseno suave o una similitud (suave) entre dos vectores considera similitudes entre pares de características. [18] La similitud de coseno tradicional considera las características del modelo de espacio vectorial (VSM) como independientes o completamente diferentes, mientras que la medida de coseno suave propone considerar la similitud de las características en VSM, lo que ayuda a generalizar el concepto de coseno (y coseno suave) así como la idea de similitud (suave).
Por ejemplo, en el campo del procesamiento del lenguaje natural (PLN), la similitud entre características es bastante intuitiva. Características como palabras, n -gramas o n -gramas sintácticos [19] pueden ser bastante similares, aunque formalmente se las considere características diferentes en el VSM. Por ejemplo, las palabras “play” y “game” son palabras diferentes y, por lo tanto, se asignan a puntos diferentes en el VSM; sin embargo, están relacionadas semánticamente. En el caso de n -gramas o n -gramas sintácticos , se puede aplicar la distancia de Levenshtein (de hecho, la distancia de Levenshtein también se puede aplicar a las palabras).
Para calcular el coseno blando, se utiliza la matriz s para indicar la similitud entre las características. Se puede calcular mediante la distancia de Levenshtein, la similitud de WordNet u otras medidas de similitud . Luego, simplemente multiplicamos por esta matriz.
Dados dos vectores de dimensión N y , la similitud del coseno suave se calcula de la siguiente manera:
donde s ij = similitud(característica i , característica j ) .
Si no hay similitud entre las características ( s ii = 1 , s ij = 0 para i ≠ j ), la ecuación dada es equivalente a la fórmula de similitud de coseno convencional.
La complejidad temporal de esta medida es cuadrática, lo que la hace aplicable a tareas del mundo real. Nótese que la complejidad puede reducirse a subcuadrática. [20] Una implementación eficiente de dicha similitud de coseno suave está incluida en la biblioteca de código abierto Gensim .
{{cite web}}
: CS1 maint: numeric names: authors list (link)[…] atribuido por él a "Otsuka" [?A. Otsuka del Departamento de Pesca, Universidad de Tohoku].