Comment comparer deux algorithmes de classement?

12

Je veux comparer deux algorithmes de classement. Dans ces algorithmes, le client spécifie certaines conditions dans sa recherche. Selon les exigences du client, ces algorithmes doivent attribuer un score pour chaque élément de la base de données et récupérer les éléments ayant les scores les plus élevés.

J'ai lu différents sujets liés à ma question sur ce site et recherché sur le net. Selon mes recherches, l'article le plus pertinent qui explique certaines mesures de comparaison des algorithmes de classement était le suivant: Brian McFee et Gert RG Lanckriet, Metric Learning to Rank, ICML 2010 ( https://bmcfee.github.io/papers/mlr .pdf ). Je pense que prec @ k, MAP, MRR et NDCG sont de bonnes mesures à utiliser, mais j'ai un problème:

Mon algorithme trie les résultats, donc le premier élément de ma liste de résultats est le meilleur avec le score le plus élevé, le deuxième résultat a le deuxième meilleur score, etc. Je limite mon algorithme de recherche pour trouver par exemple les 5 meilleurs résultats. Les résultats sont les 5 meilleurs éléments. Ainsi, la précision sera de 1. Lorsque je limite ma recherche pour trouver le meilleur résultat, il trouve le meilleur. Encore une fois, la précision sera de 1. Mais le problème est que c'est inacceptable pour les personnes qui voient ce résultat.

Que puis-je faire? Comment puis-je comparer ces algorithmes et montrer que l'un est meilleur que l'autre?

MK
la source

Réponses:

6

Le gain cumulé actualisé (DCG) est l'une des mesures les plus populaires utilisées pour évaluer le classement par n'importe quel moteur de recherche. C'est une mesure de la qualité du classement. Dans la recherche d'informations, il est souvent utilisé pour mesurer l'efficacité du moteur de recherche Web.

Il est basé sur les hypothèses suivantes:

  1. Les documents très pertinents sont plus utiles s'ils apparaissent plus tôt dans un résultat de recherche.
  2. Les documents très pertinents sont plus utiles que les documents peu pertinents qui sont meilleurs que les documents non pertinents.

La formule du DCG est la suivante:

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

Où:

  • i est la position renvoyée d'un document dans le résultat de la recherche.
  • reli
  • la sommation sur p (nombre de résultats renvoyés) donc, le gain cumulé cumulé donne les métriques de performance du résultat renvoyé.

DCG est dérivé de CG (Cumulative Gain) , donné par:

(2)CGp=i=1preli

CGp

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

pDCGp

Pour surmonter ce problème, un DCG normalisé (nDCG) est proposé. Il est donné par,

nDCGp=DCGpIDCGp

IDCGpDCGp

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

Où | REL | est la liste des documents classés par pertinence dans le corpus jusqu'à la position p.

Pour un algorithme de classement parfait,

DCGp=IDCGp

Étant donné que les valeurs de nDCG sont mises à l'échelle dans la plage [0,1], la comparaison entre requêtes est possible en utilisant ces métriques.

Inconvénients: 1. Le nDCG ne pénalise pas la récupération des mauvais documents dans le résultat. Cela peut être résolu en ajustant les valeurs de pertinence attribuées aux documents. 2. Le nDCG ne pénalise pas les documents manquants. Cela peut être résolu en fixant la taille de la récupération et en utilisant le score minimum pour les documents manquants.

Reportez - vous à ceci pour voir des exemples de calculs de nDCG.

Référence

m1cro1ce
la source