Métricas para avaliar algoritmos de classificação

14

Estou interessado em analisar várias métricas diferentes para algoritmos de classificação - existem algumas listadas na página da Wikipedia Learning to Rank, incluindo:

• Precisão média média (PAM);

• DCG e NDCG;

• Precisão @ n, NDCG @ n, em que "@n" indica que as métricas são avaliadas apenas nos n documentos principais;

• Classificação de significância recíproca;

• tau de Kendall

• Rho de Spearman

• Classificação recíproca esperada

• O achado de Yandex

mas não está claro para mim quais são as vantagens / desvantagens de cada um ou quando você pode escolher um sobre o outro (ou o que significaria se um algoritmo superasse o outro no NDGC, mas fosse pior quando avaliado com MAP).

Existe algum lugar onde eu possa ir para aprender mais sobre essas perguntas?

anthr
fonte

Respostas:

28

Na verdade, estou procurando a mesma resposta, no entanto, devo poder responder pelo menos parcialmente à sua pergunta.

Todas as métricas mencionadas possuem características diferentes e, infelizmente, a que você deve escolher depende do que você realmente deseja medir. Aqui estão algumas coisas que valeria a pena ter em mente:

  • A métrica rho de Spearman penaliza os erros no topo da lista com o mesmo peso das incompatibilidades na parte inferior. Portanto, na maioria dos casos, essa não é a métrica a ser usada para avaliar classificações.
  • O DCG e o NDCG são uma das poucas métricas que levam em consideração a função de utilitário não binário, para que você possa descrever o quão útil é um registro e não se é útil.
  • O DCG e o NDCG fixaram pesagens para as posições; portanto, um documento em uma determinada posição sempre tem o mesmo ganho e desconto, independentemente dos documentos mostrados acima
  • Você geralmente prefere o NDCG ao DCG , porque normaliza o valor pelo número de documentos relevantes
  • Supõe-se que o MAP seja uma métrica clássica e 'go-to' para esse problema e parece ser um padrão no campo.
  • (N) O DCG sempre deve ser calculado para uma quantidade fixa de registros (@k), porque possui uma cauda longa (muitos registros irrelevantes no final do ranking influenciam muito a métrica). Isso não se aplica ao MAP .
  • A classificação recíproca média marca apenas a posição do primeiro documento relevante; portanto, se você se preocupa com o máximo de documentos relevantes possível para ficar no topo da lista, essa não deve ser sua escolha.
  • A tau de Kendall lida apenas com a função de utilitário binário, ela também deve ser calculada @k (semelhante ao NDCG )

Recursos valiosos:

Não é possível postar mais links, devido à nova conta :) Se alguém tiver mais comentários ou idéias, ficaria feliz em ouvi-los!

stpk
fonte
Acho que agora você tem pontos suficientes para atualizar esta resposta se tiver mais links.
Yash Kumar Atri
5

Em muitos casos em que você aplica algoritmos de classificação (por exemplo, pesquisa no Google, recomendação de produtos da Amazon), você tem centenas e milhares de resultados. O usuário só quer assistir no top ~ 20 ou mais. Portanto, o resto é completamente irrelevante.

k

Se isso for verdade para o seu aplicativo, isso terá implicações diretas na métrica:

  1. kk
  2. 2k

kk

Precisão da classificação Top-k para classificação

Para a verdade básica, pode ser difícil definir uma ordem. E se você apenas distingue relevante / não relevante, então você está realmente em um caso de classificação!

A precisão Top-n é uma métrica para classificação. Consulte Qual é a definição de precisão Top-n? .

precisão top-k=com que frequência havia pelo menos um elemento relevante no top-k de uma consulta de classificação?consultas de classificação

k

kk[5,20]

k

Precisão @ k

Precisão @ k=número de itens relevantes dentro do top-kk[0 0,1], mais alto é melhor

O que ele diz:

  • se estiver alto -> muito do que você mostra ao usuário é relevante para ele
  • se estiver baixo -> Você perde tempo com os usuários. Muito do que você mostra a eles não é relevante para eles

Lembre-se @ k

Lembre-se @ k=número de itens relevantes dentro do top-knúmero total de itens relevantes[0 0,1], mais alto é melhor

O que significa:

  • Se estiver alto: você mostra o que tem! Você fornece a eles todos os itens relevantes.
  • Se estiver baixo: comparado com a quantidade total de itens relevantes, k é pequeno / os itens relevantes na parte superior k são pequenos. Devido a isso, o recall @ k sozinho pode não ser tão significativo. Se for combinado com uma alta precisão @ k, o aumento de k poderá fazer sentido.
Martin Thoma
fonte
3

Recentemente, tive que escolher uma métrica para avaliar algoritmos de classificação de vários rótulos e cheguei a esse assunto, o que foi realmente útil. Aqui estão algumas adições à resposta do stpk, que foram úteis para fazer uma escolha.

  • O MAP pode ser adaptado a problemas de vários rótulos, ao custo de uma aproximação
  • O MAP não precisa ser calculado em k, mas a versão com vários rótulos pode não ser adaptada quando a classe negativa é preponderante
  • O MAP e (N) DCG podem ser reescritos como uma média ponderada dos valores de relevância classificados

Detalhes

Vamos nos concentrar na precisão média (AP), já que a precisão média média (MAP) é apenas uma média dos APs em várias consultas. O AP é definido corretamente nos dados binários como a área sob a curva de precisão de recuperação, que pode ser reescrita como a média das precisões em cada item positivo. (consulte o artigo da wikipedia no MAP ) Uma possível aproximação é defini-la como a média das precisões em cadaitem. Infelizmente, perdemos a boa propriedade de que os exemplos negativos classificados no final da lista não têm impacto no valor de AP. (Isso é particularmente triste quando se trata de avaliar um mecanismo de pesquisa, com exemplos muito mais negativos do que positivos. Uma solução possível é subamostrar os exemplos negativos, à custa de outras desvantagens, por exemplo, as consultas com itens mais positivos se tornarão igualmente difícil para as consultas com poucos exemplos positivos.)

Por outro lado, essa aproximação tem a boa propriedade que generaliza bem para o caso de vários rótulos. De fato, no caso binário, a precisão na posição k também pode ser interpretada como a relevância média antes da posição k, onde a relevância de um exemplo positivo é 1 e a relevância de um exemplo negativo é 0. Essa definição se estende naturalmente a o caso em que existem mais de dois níveis diferentes de relevância. Nesse caso, AP também pode ser definido como a média das médias das relevâncias em cada posição.

k

WkUMAP=1Kregistro(Kk)

K

WkDCG=1registro(k+1)

A partir dessas duas expressões, podemos deduzir que - AP pesa os documentos de 1 a 0. - O DCG pesa os documentos independentemente do número total de documentos.

Nos dois casos, se houver exemplos muito mais irrelevantes do que exemplos relevantes, o peso total do positivo pode ser desprezível. Para o AP, uma solução alternativa é subamostrar as amostras negativas, mas não sei como escolher a proporção da subamostragem, bem como torná-lo dependente da consulta ou do número de documentos positivos. Para o DCG, podemos cortá-lo em k, mas o mesmo tipo de pergunta surge.

Eu ficaria feliz em ouvir mais sobre isso, se alguém aqui trabalhou sobre o assunto.

rdbs
fonte