Similitud entre vectores o cosine similarity

Autor: | Última modificación: 1 de junio de 2023 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

La similitud entre vectores, también denominada cosine similarity o similitud del coseno, es una medida que se utiliza para calcular la similitud entre dos o más vectores. La similitud del coseno es el coseno del ángulo entre vectores. Los vectores suelen ser distintos a cero y están dentro de un espacio de producto escalar.

En términos matemáticos, la similitud del coseno se describe como la división entre el producto escalar de los vectores y el producto de las normas euclidianas o la magnitud de cada vector.

Similitud entre vectores

La similitud entre vectores está dada por la fórmula matemática del producto escalar:

Similitud entre vectores o cosine similarity 1

Esta fórmula no es más que esto:

Similitud entre vectores
Ecuación de la similitud entre vectores

Con esta ecuación sobre la similitud entre vectores podemos calcular cómo de similares son dos vectores. Si nos fijamos, lo único que ha cambiado es que los términos |u| |v| se han movido para ser los divisores de la ecuación, mientras que el coseno de θ ha pasado a ser ese término nuevo que estamos introduciendo, que es la similitud.

La parte de arriba de nuestra ecuación representa el producto escalar y la parte de abajo es el producto del módulo de los vectores.

¿Qué es el módulo de un vector?

Antes de seguir, aclaremos un poco el concepto de módulo. El módulo no es más que la longitud que tiene el vector. En caso de que tengamos un eje de coordenadas de dos dimensiones que va de O a A, el módulo sería la longitud entre O y A y se denotaría con |AO|.

Pese a llamarse módulo, lo único que indica es la longitud del vector; se le denomina módulo porque puede utilizarse no solo con uno o dos componentes, sino con muchísimos más, ya sea en dos o en tres dimensiones.

Similitud entre vectores o cosine similarity 2

Aquí estamos calculando el módulo del vector l:

Similitud entre vectores o cosine similarity 3

Y el módulo del vector j:

Similitud entre vectores o cosine similarity 4

Nos dice que la longitud del vector l es 1, al igual que la longitud del vector j. Eso tiene sentido, porque los ejes unitarios, como su nombre indica, tienen unidad 1 y, por tanto, tienen longitud 1. ¿Y cómo calculamos esa longitud? Pues la calculamos con la ecuación de l, donde simplemente sumamos el cuadrado de los componentes del vector y eso nos va a dar el resultado del módulo.

De este modo, siempre el resultado del producto del módulo de un vector va a ser un número, al igual que sucede con el producto escalar, donde el resultado siempre va a ser un escalar.

Más acerca de la similitud entre vectores

La similitud entre vectores o cosine similarity es una técnica muy usada y, por tanto, se puede encontrar fácilmente en librerías como Matlab, Scikit learn y TensorFlow.

La similitud entre vectores es muy beneficiosa porque, incluso cuando los vectores tienen una distancia euclidiana muy grande, estos podrían tener un ángulo pequeño entre ellos. Cuanto menor es el ángulo, mayor es la similitud entre vectores.

La similitud entre vectores es un valor que va a estar limitado por un rango restringido de 0 y 1.

Supongamos que dos vectores tienen un ángulo de 90°. En ese caso específico, la similitud entre vectores tendrá un valor de 0, lo cual significaría que los vectores son ortogonales o, dicho de otro modo, perpendiculares entre sí.

La similitud entre vectores tiene muchos campos de aplicación, entre ellos está la validación de documentos para saber cómo de similares son.

Asimismo, se puede utilizar en pose matching, donde lo que se busca es establecer la similitud entre dos poses en una imagen.

¿Quieres seguir aprendiendo?

Como podemos observar, este tipo de temáticas se emplean mucho en el campo del machine learning, especialmente en deep learning y redes neuronales.

Ahora que hemos visto cómo funciona la similitud entre vectores, podemos seguir aprendiendo sobre Big Data, una de las disciplinas más demandadas de la actualidad y mejor pagas. Para ello tenemos el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva e íntegra en la que podrás adquirir todos los conocimientos teóricos y prácticos necesarios para incursionar en el mercado laboral de manera rápida y eficiente.

¡Anímate a seguir cambiando tu futuro y convertirte en un data scientist de gran éxito y solicita más información ahora!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

Días

Big data, inteligencia artificial & machine learning full stack bootcamp

Fórmate en Big Data y Consigue el Empleo que sueñas

becas | opciones de financiación