두 순위 알고리즘을 비교하는 방법은 무엇입니까?


12

두 순위 알고리즘을 비교하고 싶습니다. 이 알고리즘에서 고객은 검색시 몇 가지 조건을 지정합니다. 고객의 요구 사항에 따라이 알고리즘은 데이터베이스의 각 항목에 대한 점수를 할당하고 가장 높은 점수를 가진 항목을 검색해야합니다.

이 사이트에서 내 질문과 관련된 다른 주제를 읽었으며 인터넷을 검색했습니다. 내 검색에 따르면 순위 알고리즘을 비교하기위한 일부 메트릭에 대해 설명하는 가장 관련성 높은 기사는 Brian McFee와 Gert RG Lanckriet, Metric Learning to Rank, ICML 2010 ( https://bmcfee.github.io/papers/mlr)입니다. .pdf ). prec @ k, MAP, MRR 및 NDCG는 사용하기에 좋은 지표라고 생각하지만 문제가 있습니다.

내 알고리즘은 결과를 정렬하므로 결과 목록의 첫 번째 항목이 가장 높은 점수를 받고 가장 좋은 항목은 두 번째 결과가 두 번째로 높은 점수를 얻는 등입니다. 검색 알고리즘을 제한하여 5 개의 최상의 결과를 찾을 수 있습니다. 결과는 가장 상위 5 개 항목입니다. 가장 정확한 결과를 찾기 위해 검색을 제한하면 가장 좋은 결과를 찾습니다. 다시 말하지만 정밀도는 1입니다. 그러나 문제는이 결과를 보는 사람들에게는 용납 할 수 없다는 것입니다.

어떡해? 이 알고리즘을 비교하고 하나가 다른 것보다 낫다는 것을 어떻게 알 수 있습니까?

답변:


6

DCG (Discounted Cumulative Gain) 는 검색 엔진에서 순위를 평가하는 데 가장 많이 사용되는 지표 중 하나입니다. 순위 품질의 척도입니다. 정보 검색에서 종종 웹 검색 엔진의 효율성을 측정하는 데 사용됩니다.

다음과 같은 가정을 기반으로합니다.

  1. 검색 결과의 초기에 나타나는 경우 관련성이 높은 문서가 더 유용합니다.
  2. 관련성이없는 문서는 관련이없는 문서보다 나은 한계 관련 문서보다 유용합니다.

DCG의 공식은 다음과 같습니다.

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

어디:

  • i는 검색 결과에서 문서의 반환 위치입니다.
  • reli
  • p에 대한 합산 (반환 된 결과 수), 누적 누적 이득은 반환 된 결과의 성능 메트릭을 제공합니다.

DCG는 다음과 같이 CG (Cumulative Gain) 에서 파생 됩니다.

(2)CGp=i=1preli

CGp

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

pDCGp

이 문제를 극복하기 위해 정규화 된 DCG (nDCG) 가 제안된다. 그것은에 의해 주어진다

nDCGp=DCGpIDCGp

IDCGpDCGp

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

어디서 | REL | 위치 p까지 코퍼스에서 관련성별로 주문한 문서 목록입니다.

완벽한 순위 알고리즘을 위해

DCGp=IDCGp

nDCG의 값은 [0,1] 범위 내에서 조정되므로 이러한 메트릭을 사용하여 교차 쿼리 비교가 가능합니다.

단점 : 1. nDCG는 결과에서 잘못된 문서를 검색하는 데 불이익을주지 않습니다. 이것은 문서에 관련된 관련성 값을 조정하여 해결할 수 있습니다. 2. nDCG는 누락 된 문서에 불이익을주지 않습니다. 검색 크기를 수정하고 누락 된 문서에 대한 최소 점수를 사용하여이 문제를 해결할 수 있습니다.

nDCG의 계산 예를 보려면 이것을 참조하십시오 .

참고


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.