Mesures pour évaluer les algorithmes de classement

15

Je suis intéressé à regarder plusieurs mesures différentes pour les algorithmes de classement - il y en a quelques-unes répertoriées sur la page wikipedia Apprendre à classer, notamment:

• Précision moyenne moyenne (MAP);

• DCG et NDCG;

• Precision @ n, NDCG @ n, où "@n" indique que les métriques sont évaluées uniquement sur les n premiers documents;

• Rang réciproque moyen;

• Tau de Kendall

• Rho de Spearman

• Rang réciproque attendu

• La découverte de Yandex

mais il n'est pas clair pour moi quels sont les avantages / inconvénients de chacun ou quand vous pouvez choisir l'un plutôt qu'un autre (ou ce que cela signifierait si un algorithme surpassait un autre sur NDGC mais était pire lorsqu'il était évalué avec MAP).

Y a-t-il un endroit où je peux aller pour en savoir plus sur ces questions?

anthr
la source

Réponses:

29

En fait, je cherche la même réponse, mais je devrais pouvoir répondre au moins partiellement à votre question.

Toutes les mesures que vous avez mentionnées ont des caractéristiques différentes et, malheureusement, celle que vous devez choisir dépend de ce que vous souhaitez réellement mesurer. Voici certaines choses qu'il vaut la peine d'avoir à l'esprit:

  • La métrique rho de Spearman pénalise les erreurs en haut de la liste avec le même poids que les décalages en bas, donc dans la plupart des cas, ce n'est pas la métrique à utiliser pour évaluer les classements
  • DCG & NDCG sont l' une des rares mesures qui prennent en compte la fonction d'utilité non-binaire, de sorte que vous pouvez décrire comment utile est un disque et non si elle est utile.
  • DCG et NDCG ont des poids fixes pour les positions, donc un document dans une position donnée a toujours le même gain et la même remise indépendamment des documents montrés ci-dessus.
  • Vous préférez généralement le NDCG au DCG , car il normalise la valeur par le nombre de documents pertinents
  • CARTE est censé être un métrique classique et un «go-to» pour ce problème et il semble être une norme dans le domaine.
  • (N) Le DCG doit toujours être calculé pour un nombre fixe d'enregistrements (@k), car il a une longue queue (beaucoup d'enregistrements non pertinents à la fin du classement biaisent fortement la métrique). Cela ne s'applique pas à MAP .
  • Le classement réciproque moyen ne marque que la position du premier document pertinent, donc si vous vous souciez du plus grand nombre possible de documents pertinents pour figurer en haut de la liste, cela ne devrait pas être votre choix
  • Le tau de Kendall ne gère que la fonction utilitaire binaire, il doit également être calculé @k (similaire à NDCG )

Ressources précieuses:

Impossible de publier plus de liens, en raison du nouveau compte :) Si quelqu'un a d'autres remarques ou idées, je serais heureux de les entendre également!

stpk
la source
Je pense que vous avez maintenant suffisamment de points pour mettre à jour cette réponse si vous avez plus de liens.
Yash Kumar Atri
5

Dans de nombreux cas, lorsque vous appliquez des algorithmes de classement (par exemple, recherche Google, recommandation de produits Amazon), vous obtenez des centaines et des milliers de résultats. L'utilisateur veut seulement regarder en haut ~ 20 environ. Le reste est donc complètement hors de propos.

Pour le dire clairement: Seul le hautk les éléments sont pertinents

Si cela est vrai pour votre application, cela a des implications directes sur la métrique:

  1. Il suffit de regarder en haut k articles classés et le haut k éléments du classement de la vérité terrain.
  2. L'ordre de ceux potentiellement 2k les articles peuvent être pertinents ou non - mais à coup sûr, l'ordre de tous les autres articles n'est pas pertinent.

Trois mesures pertinentes sont l'exactitude top-k, la précision @ k et le rappel @ k. lekdépend de votre application. Pour chacun d'eux, pour les requêtes de classement que vous évaluez, le nombre total d'éléments pertinents doit être supérieur àk.

Précision de classement top-k pour le classement

Pour la vérité, il pourrait être difficile de définir un ordre. Et si vous distinguez seulement pertinent / non pertinent, vous êtes en fait dans un cas de classification!

La précision top-n est une métrique pour la classification. Voir Quelle est la définition de la précision Top-n? .

précision top-k=à quelle fréquence au moins un élément pertinent figurait-il dans le top-k d'une requête de classement?classement des requêtes

Vous laissez donc l'algorithme de classement prédire k et voir s'il contient au moins un élément pertinent.

J'aime beaucoup cela parce qu'il est si facile à interpréter. k provient d'une exigence commerciale (probablement k[5,20]), vous pouvez alors dire à quelle fréquence les utilisateurs seront satisfaits.

Inconvénient: si vous vous souciez toujours de la commande dans le k éléments, vous devez trouver une autre métrique.

Précision @ k

Précision @ k=nombre d'éléments pertinents dans le top-kk[0,1], plus c'est mieux

Ce qu'il vous dit:

  • s'il est élevé -> Une grande partie de ce que vous montrez à l'utilisateur est pertinent pour lui
  • s'il est faible -> Vous perdez du temps à vos utilisateurs. Une grande partie de ce que vous leur montrez ne les concerne pas

Rappel @ k

Rappel @ k=nombre d'éléments pertinents dans le top-knombre total d'articles pertinents[0,1], plus c'est mieux

Ce que cela veut dire:

  • S'il est élevé: vous montrez ce que vous avez! Vous leur donnez tous les éléments pertinents.
  • S'il est faible: par rapport au montant total des éléments pertinents, k est petit / les éléments pertinents dans le top k sont petits. Pour cette raison, rappeler @ k seul peut ne pas être aussi significatif. S'il est combiné avec une haute précision @ k, alors augmenter k pourrait avoir du sens.
Martin Thoma
la source
3

J'ai récemment dû choisir une métrique pour évaluer les algorithmes de classement multi-étiquettes et suis arrivé à ce sujet, ce qui était vraiment utile. Voici quelques ajouts à la réponse de stpk, qui ont été utiles pour faire un choix.

  • MAP peut être adapté aux problèmes multi-étiquettes, au prix d'une approximation
  • MAP n'a pas besoin d'être calculé à k mais la version multilabel peut ne pas être adaptée lorsque la classe négative est prépondérante
  • MAP et (N) DCG peuvent tous deux être réécrits en tant que moyenne pondérée des valeurs de pertinence classées

Détails

Concentrons-nous sur la précision moyenne (AP) car la précision moyenne moyenne (MAP) n'est qu'une moyenne des AP sur plusieurs requêtes. AP est correctement défini sur les données binaires comme l'aire sous la courbe précision-rappel, qui peut être réécrite comme la moyenne des précisions à chaque élément positif. (voir l'article de wikipedia sur MAP ) Une approximation possible est de le définir comme la moyenne des précisions à chaquearticle. Malheureusement, nous perdons la belle propriété que les exemples négatifs classés à la fin de la liste n'ont aucun impact sur la valeur de AP. (Ceci est particulièrement triste quand il s'agit d'évaluer un moteur de recherche, avec des exemples beaucoup plus négatifs que des exemples positifs. Une solution de contournement possible consiste à sous-échantillonner les exemples négatifs, au détriment d'autres inconvénients, par exemple les requêtes avec des éléments plus positifs deviendront également difficile aux requêtes avec quelques exemples positifs.)

Par contre, cette approximation a la belle propriété de se généraliser bien au cas multi-étiquettes. En effet, dans le cas binaire, la précision en position k peut aussi être interprétée comme la pertinence moyenne avant la position k, où la pertinence d'un exemple positif est 1, et la pertinence d'un exemple négatif est 0. Cette définition s'étend tout naturellement à le cas où il y a plus de deux niveaux différents de pertinence. Dans ce cas, AP peut également être défini comme la moyenne des moyennes des relevés à chaque position.

Cette expression est celle choisie par le locuteur de la vidéo citée par stpk dans sa réponse. Il montre dans cette vidéo que l'AP peut être réécrit comme une moyenne pondérée des pertinence, le poids de lak-le élément du classement étant

wkUNEP=1KJournal(Kk)

Kest le nombre d'éléments à classer. Maintenant que nous avons cette expression, nous pouvons la comparer au DCG. En effet, DCG est également une moyenne pondérée des relevés classés, les pondérations étant:

wkCg=1Journal(k+1)

De ces deux expressions, on peut déduire que - AP pèse les documents de 1 à 0. - DCG pèse les documents indépendamment du nombre total de documents.

Dans les deux cas, s'il y a beaucoup plus d'exemples non pertinents que d'exemples pertinents, le poids total du positif peut être négligeable. Pour AP, une solution de contournement consiste à sous-échantillonner les échantillons négatifs, mais je ne sais pas comment choisir la proportion de sous-échantillonnage, ni si la rendre dépendante de la requête ou du nombre de documents positifs. Pour DCG, nous pouvons le couper en k, mais le même genre de questions se pose.

Je serais heureux d'en savoir plus à ce sujet, si quelqu'un ici travaillait sur le sujet.

rdbs
la source