36 votos

Métricas para evaluar los algoritmos de clasificación

Estoy interesado en estudiar varias métricas diferentes para los algoritmos de clasificación - hay algunas enumeradas en la página de wikipedia Learning to Rank, incluyendo:

- Precisión media (MAP);

- DCG y NDCG;

- Precisión@n, NDCG@n, donde "@n" indica que las métricas se evalúan sólo en los n primeros documentos;

- Rango recíproco medio;

- La tau de Kendall

- Rho de Spearman

- Rango recíproco esperado

- El pfound de Yandex

pero no me queda claro cuáles son las ventajas/desventajas de cada uno o cuándo se puede elegir uno sobre otro (o qué significaría que un algoritmo superara a otro en NDGC pero fuera peor cuando se evalúa con MAP).

¿Hay algún lugar al que pueda acudir para obtener más información sobre estas cuestiones?

48voto

LemonsCraftMC Puntos 1

En realidad estoy buscando la misma respuesta, sin embargo debería ser capaz de responder al menos parcialmente a su pregunta.

Todas las métricas que has mencionado tienen diferentes características y, por desgracia, la que debes elegir depende de lo que realmente quieras medir. Aquí hay algunas cosas que valdría la pena tener en cuenta:

  • Rho de Spearman la métrica penaliza los errores en la parte superior de la lista con el mismo peso que los desajustes en la parte inferior, por lo que en la mayoría de los casos no es la métrica a utilizar para evaluar las clasificaciones
  • DCG Y NDCG son una de las pocas métricas que tienen en cuenta la función de utilidad no binaria, por lo que se puede describir cómo útil es un registro y no si es útil.
  • DCG Y NDCG tienen pesos fijos para las posiciones, por lo que un documento en una posición determinada tiene siempre la misma ganancia y descuento independientemente de los documentos que aparecen por encima de él
  • Normalmente se prefiere NDCG en DCG porque normaliza el valor por el número de documentos relevantes
  • MAPA se supone que es un clásico y una métrica "de referencia" para este problema y parece ser un estándar en el campo.
  • (N)DCG debería calcularse siempre para una cantidad fija de registros (@k), porque tiene una cola larga (muchos registros irrelevantes al final de la clasificación sesgan mucho la métrica). Esto no se aplica a MAPA .
  • Rango recíproco medio sólo marca la posición del primer documento relevante, por lo que si le interesa que el mayor número de documentos relevantes esté en lo alto de la lista, entonces esta no debería ser su elección
  • La tau de Kendall sólo maneja la función de utilidad binaria, también debe ser calculada @k (similar a NDCG )

Recursos valiosos:

No puedo publicar más enlaces, debido a la cuenta fresca :) Si alguien tiene más comentarios o ideas, ¡estaría encantado de escucharlos también!

14voto

Chris Boesing Puntos 2477

En muchos casos en los que se aplican algoritmos de clasificación (por ejemplo, la búsqueda de Google o la recomendación de productos de Amazon) se obtienen cientos y miles de resultados. El usuario sólo quiere ver los 20 primeros, más o menos. Así que el resto es completamente irrelevante.

Para decirlo claramente: Sólo la parte superior $k$ los elementos son relevantes

Si esto es cierto para su aplicación, entonces esto tiene implicaciones directas en la métrica:

  1. Sólo hay que mirar la parte superior $k$ y los primeros puestos de la clasificación $k$ elementos de la clasificación de la verdad sobre el terreno.
  2. El orden de los potencialmente $2k$ puede ser relevante o no, pero seguro que el orden de todos los demás elementos es irrelevante.

Tres métricas relevantes son la precisión top-k, la precisión@k y el recall@k. El $k$ depende de su aplicación. En todas ellas, para las consultas de clasificación que evalúe, el número total de elementos relevantes debe ser superior a $k$ .

Precisión de la clasificación Top-k para el ranking

Para la verdad sobre el terreno, puede ser difícil definir un orden. Y si sólo se distingue relevante / no relevante, ¡entonces se está en un caso de clasificación!

La precisión Top-n es una métrica de clasificación. Véase ¿Cuál es la definición de precisión Top-n? .

$$\text{top-k accuracy} = \frac{\text{how often was at least one relevant element within the top-k of a ranking query?}}{\text{ranking queries}}$$

Así que dejas que el algoritmo de clasificación prediga $k$ y ver si contiene al menos un elemento relevante.

Me gusta mucho porque es muy fácil de interpretar. $k$ proviene de una necesidad empresarial (probablemente $k \in [5, 20]$ ), entonces se puede decir con qué frecuencia los usuarios estarán contentos.

La desventaja de esto: Si todavía te importa el orden dentro de la $k$ artículos, tienes que encontrar otra métrica.

Precisión@k

$$\text{Precision@k} = \frac{\text{number of relevant items within the top-k}}{k} \in [0, 1], \text{ higher is better}$$

Lo que te dice:

  • si es alta -> Gran parte de lo que se muestra al usuario es relevante para él
  • si es bajo -> Pierde el tiempo de sus usuarios. Mucho de lo que les muestras, no es relevante para ellos

Recall@k

$$\text{Recall@k} = \frac{\text{number of relevant items within the top-k}}{\text{total number of relevant items}} \in [0, 1], \text{ higher is better}$$

Lo que significa:

  • Si es alto: ¡muestra lo que tienes! Les das todos los elementos relevantes.
  • Si es bajo: En comparación con la cantidad total de elementos relevantes, k es pequeño / los elementos relevantes dentro del top k son pequeños. Por ello, el recall@k por sí solo podría no ser tan significativo. Si se combina con una precisión@k elevada, aumentar k puede tener sentido.

4voto

Rémi D. Puntos 46

Hace poco tuve que elegir una métrica para evaluar los algoritmos de clasificación multietiqueta y llegué a este tema, que fue realmente útil. Aquí hay algunas adiciones a la respuesta de stpk, que fueron útiles para hacer una elección.

  • MAPA puede adaptarse a los problemas de etiquetas múltiples, a costa de una aproximación
  • MAPA no necesita calcularse en k, pero la versión multietiqueta podría no adaptarse cuando la clase negativa es preponderante
  • MAPA y (N)DCG pueden reescribirse como la media ponderada de los valores de relevancia clasificados

Detalles

Centrémonos en la precisión media (AP), ya que la precisión media (MAP) no es más que una media de AP en varias consultas. La AP se define correctamente en datos binarios como el área bajo la curva de precisión-recuerdo, que puede reescribirse como la media de las precisiones en cada elemento positivo. (véase el artículo de la wikipedia sobre el MAP ) Una posible aproximación es definirla como la media de las precisiones a cada artículo. Lamentablemente, perdemos la agradable propiedad de que los ejemplos negativos clasificados al final de la lista no tienen ningún impacto en el valor de AP. (Esto es especialmente triste cuando se trata de evaluar un motor de búsqueda, con muchos más ejemplos negativos que positivos. Una posible solución es submuestrear los ejemplos negativos, a costa de otros inconvenientes, por ejemplo, las consultas con más elementos positivos serán igual de difíciles que las consultas con pocos ejemplos positivos).

Por otra parte, esta aproximación tiene la agradable propiedad de que se generaliza bien al caso de las etiquetas múltiples. De hecho, en el caso binario, la precisión en la posición k también puede interpretarse como la relevancia media antes de la posición k, donde la relevancia de un ejemplo positivo es 1, y la relevancia de un ejemplo negativo es 0. Esta definición se extiende de forma bastante natural al caso en el que hay más de dos niveles diferentes de relevancia. En este caso, AP también puede definirse como la media de los promedios de las relevancias en cada posición.

Esta expresión es la elegida por el orador del video citado por stpk en su respuesta. Él muestra en este video que el PA puede ser reescrito como una media ponderada de las relevancias, el peso de la $k$ -ésimo elemento de la clasificación siendo

$$w_k^{AP} = \frac{1}{K}\log(\frac{K}{k})$$

donde $K$ es el número de elementos a clasificar. Ahora que tenemos esta expresión, podemos compararla con la DCG. En efecto, la DCG es también una media ponderada de las relevancias clasificadas, siendo los pesos:

$$w_k^{DCG} = \frac{1}{\log(k+1)}$$

De estas dos expresiones podemos deducir que - AP pondera los documentos de 1 a 0. - DCG pondera los documentos independientemente del número total de documentos.

En ambos casos, si hay muchos más ejemplos irrelevantes que relevantes, el peso total del positivo puede ser insignificante. Para AP, una solución es submuestrear las muestras negativas, pero no estoy seguro de cómo elegir la proporción de submuestreo, así como si hacerla depender de la consulta o del número de documentos positivos. Para el DCG, podemos cortarlo en k, pero surgen el mismo tipo de preguntas.

Me gustaría saber más sobre esto, si alguien de aquí ha trabajado en el tema.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X