No hay una respuesta teóricamente motivada a su pregunta. Tienes que hacer esto por prueba y error. Sin embargo, puede utilizar algunos conocimientos sobre su problema para reducir el espacio de búsqueda. Por ejemplo, si compara entidades del mismo tipo, por ejemplo, un documento frente a un documento, entonces una función simétrica como la similitud del coseno probablemente funcionará bien (el BM25 simétrico parece funcionar mejor sin embargo: medidas efectivas para la similitud entre documentos) . Cuando compara diferentes entidades, por ejemplo, consultas con documentos, una función de similitud no simétrica como BM25 generalmente funcionará mejor que funciones simétricas como la similitud de coseno.
Tenga en cuenta, sin embargo, que la similitud del coseno no es una métrica . De hecho, cuando busca una buena función de similitud, una distancia no métrica puede ser una mejor opción. Si tiene muchos puntos y la comparación exhaustiva no es una opción, una función no métrica puede ser más difícil de usar (porque la indexación no métrica es más complicada que la indexación en L2). Sin embargo, esto no es imposible y la indexación no métrica puede ser eficiente en muchos casos, ver, por ejemplo, NMSLIB: searchivarius / nmslib
Además de probar las funciones existentes, es posible que necesite obtener su función de similitud utilizando métodos de aprendizaje automático. Existe una gran cantidad de literatura sobre educación a distancia, consulte, por ejemplo, este documento: http: //machinelearning.wustl.edu…
- ¿Cómo obtenemos el número total de formas de la disposición de n cosas distintas en n lugares correspondientes donde ningún elemento está colocado correctamente?
- ¿Cuál crees que es el algoritmo de optimización más inteligente?
- ¿Cuál es el algoritmo para resolver el cubo de Rubik solo para la última esquina?
- ¿Los robots alguna vez aprenderán a hacer trabajos de ventas?
- Cómo dibujar un contorno vectorial en una matriz de cuadrícula binaria
Por último, pero no menos importante, debe estudiar la literatura y verificar qué usaban las personas para problemas similares. Por ejemplo, las incrustaciones de palabras se pueden comparar usando la distancia del coseno o la distancia euclidiana (no hay (casi) ninguna diferencia entre la similitud del coseno y la distancia euclidiana cuando se trata de incrustaciones de palabras normalizadas (u otros vectores) | searchivarius.org). Las probabilidades se pueden comparar utilizando la divergencia KL o su versión simétrica la divergencia JS. Las características de imagen como SIFT, GIST o incrustaciones (calculadas por redes neuronales) a menudo se comparan usando L2.