Чтобы понять это, давайте рассмотрим пример нормализованного дисконтированного совокупного усиления (nDCG)
Для nDCG нам нужны DCG и идеальная DCG (IDCG)
Давайте сначала поймем, что такое совокупное усиление (CG),
Example: Suppose we have [Doc_1, Doc_2, Doc_3, Doc_4, Doc_5]
Doc_1 is 100% relevant
Doc_2 is 70% relevant
Doc_3 is 95% relevant
Doc_4 is 20% relevant
Doc_5 is 100% relevant
Таким образом, наше совокупное усиление (CG) равно
CG = 100 + 70 + 95 + 20 + 100 ###(Index of the doc doesn't matter)
= 385
и
Дисконтированное совокупное усиление (DCG) составляет
DCG = SUM( relivencyAt(index) / log2(index + 1) ) ###where index 1 -> 5
Doc_1 is 100 / log2(2) = 100.00
Doc_2 is 70 / log2(3) = 044.17
Doc_3 is 95 / log2(4) = 047.50
Doc_4 is 20 / log2(5) = 008.61
Doc_5 is 100 / log2(6) = 038.69
DCG = 100 + 44.17 + 47.5 + 8.61 + 38.69
DCG = 238.97
, а идеальный DCG равен
IDCG = Doc_1 , Doc_5, Doc_3, Doc_2, Doc_4
Doc_1 is 100 / log2(2) = 100.00
Doc_5 is 100 / log2(3) = 063.09
Doc_3 is 95 / log2(4) = 047.50
Doc_2 is 75 / log2(5) = 032.30
Doc_4 is 20 / log2(6) = 007.74
IDCG = 100 + 63.09 + 47.5 + 32.30 + 7.74
IDCG = 250.63
nDCG(5) = DCG / IDCG
= 238.97 / 250.63
= 0.95
Вывод:
В приведенном примере nDCG было 0,95, 0,95 не является точностью прогнозирования, 0,95 - ранжирование документа в действии.Таким образом, усиление накапливается от верха списка результатов к низу, при этом усиление каждого результата обесценивается на более низких рангах.
Ссылка на вики