En primer lugar, en muchas aplicaciones no se necesita una distancia métrica pero una disimilitud estará bien . Por lo tanto, asegúrese de que la desigualdad del triángulo es necesaria.
En matemáticas, la desigualdad de triángulos forma parte de la definición de una métrica, y las distancias en matemáticas son sinónimo de métrica. Pero en la literatura sobre bases de datos, a menudo las distancias son no que se requiere que sea métrica.
En segundo lugar, no podemos recomendar una métrica para sus datos, si no conocemos sus datos.
En tercer lugar, el coseno está estrechamente relacionado con la distancia euclidiana. Suponiendo que todos sus datos están normalizados a la unidad de longitud ( $||x||=1=||y||$ ), entonces \begin{align*} \text{Euclid}^2(x,y)&=\sum_i (x_i-y_i)^2\\ &=\sum_ix^2+\sum_iy^2-2\sum_i x_iy_i\\ &=1+1-2\cdot x\cdot y\\ &=2(1-x\cdot y) \end{align*} Por lo tanto, si sus datos están normalizados a la longitud de la unidad, $$ \sqrt{1-x\cdot y} $$ es una métrica. Porque como se acaba de mostrar, $\sqrt{1-x\cdot y}=\sqrt{\frac{1}{2}}\text{Euclid}(x,y)$ .
Si bien esto puede entusiasmarte demasiado por la existencia de una métrica basada en el producto punto, recuerda que esto sólo es válido si todos tus datos viven en el círculo unitario y esto es sólo la métrica euclidiana. Si este es el comportamiento que desea, normalice sus datos y utilice la distancia euclidiana... La distancia coseno es exactamente esta normalización. Incluye términos de normalización para la longitud de los vectores para asegurar que son de longitud unitaria...
Si sus datos son escaso y puedes permitirte mantener todas las longitudes de los vectores en memoria, entonces esta puede ser una forma más rápida de calcular la distancia euclidiana. Si tiene una escasez de $s$ la dispersión esperada del producto punto es $s^2$ por lo que se puede obtener un beneficio sustancial de rendimiento de $1/s$ si tiene una buena implementación.
Actualización: me señalaron que el cálculo euclidiano de esta manera puede sufrir una inestabilidad numérica llamada "cancelación catastrófica".