¿Cómo comparar dos algoritmos de clasificación?

12

Quiero comparar dos algoritmos de clasificación. En estos algoritmos, el cliente especifica algunas condiciones en su búsqueda. De acuerdo con los requisitos del cliente, este algoritmo debe asignar una puntuación para cada elemento en la base de datos y recuperar los elementos con las puntuaciones más altas.

He leído diferentes temas relacionados con mi pregunta en este sitio y busqué en la red. Según mis búsquedas, el artículo más relevante que explica algunas métricas para comparar algoritmos de clasificación fue: Brian McFee y Gert RG Lanckriet, Metric Learning to Rank, ICML 2010 ( https://bmcfee.github.io/papers/mlr .pdf ). Creo que prec @ k, MAP, MRR y NDCG son buenas métricas para usar, pero tengo un problema:

Mi algoritmo ordena los resultados, por lo que el primer elemento de mi lista de resultados es el mejor con la puntuación más alta, el segundo resultado tiene la segunda puntuación más alta, y así sucesivamente. Limito mi algoritmo de búsqueda para, por ejemplo, encontrar 5 mejores resultados. Los resultados son los 5 elementos más importantes. Entonces, la precisión será 1. Cuando limito mi búsqueda para encontrar el mejor resultado, encuentra el mejor. Nuevamente, la precisión será 1. Pero el problema es que es inaceptable para las personas que ven este resultado.

¿Que puedo hacer? ¿Cómo puedo comparar estos algoritmos y mostrar que uno es mejor que el otro?

MK
fuente

Respuestas:

6

La ganancia acumulada con descuento (DCG) es una de las métricas más populares utilizadas para la evaluación de la clasificación por cualquier motor de búsqueda. Es una medida de calidad de ranking. En la recuperación de información, a menudo se usa para medir la efectividad del motor de búsqueda web.

Se basa en los siguientes supuestos:

  1. Los documentos altamente relevantes son más útiles si aparecen antes en un resultado de búsqueda.
  2. Los documentos altamente relevantes son más útiles que los documentos marginalmente relevantes que son mejores que los documentos no relevantes.

La fórmula para DCG es la siguiente:

(1)DCGp=i=1prelilog2(i+1)=rel1+i=2prelilog2(i+1)

Dónde:

  • i es la posición devuelta de un documento en el resultado de la búsqueda.
  • reli
  • suma sobre p (número de resultados devueltos) por lo tanto, la ganancia acumulada acumulada proporciona las métricas de rendimiento del resultado devuelto.

DCG se deriva de CG (ganancia acumulativa) , dada por:

(2)CGp=i=1preli

CGp

(3)DCGp=i=1p2reli1log2(i+1)

pDCGp

Para superar este problema, se propone DCG normalizado (nDCG) . Es dado por

nDCGp=DCGpIDCGp

IDCGpDCGp

IDCGp=i=1|REL|2reli1log2(i+1)

Donde | REL | es la lista de documentos ordenados por relevancia en el corpus hasta la posición p.

Para un algoritmo de clasificación perfecto,

DCGp=IDCGp

Dado que los valores de nDCG se escalan dentro del rango [0,1], la comparación de consultas cruzadas es posible utilizando estas métricas.

Inconvenientes: 1. nDCG no penaliza la recuperación de documentos incorrectos en el resultado. Esto se puede corregir ajustando los valores de relevancia atribuidos a los documentos. 2. nDCG no penaliza los documentos faltantes. Esto se puede solucionar fijando el tamaño de recuperación y utilizando la puntuación mínima para los documentos que faltan.

Consulte esto para ver ejemplos de cálculos de nDCG.

Referencia

m1cro1ce
fuente