Sobes.tech
Middle — Senior

Какво е NDCG и как се изчислява?

sobes.tech AI

Отговор от AI

NDCG (Нормализирана дисконтирана кумулативна печалба) е метрика за качество на класиране, която често се използва в търсачки и задачи за Learning to Rank.

Тя измерва колко релевантни документи са разположени в горните позиции на списъка с резултати, като се взема предвид, че по-високите позиции са по-важни.

Изчислението се състои от няколко стъпки:

  1. DCG (Дисконтирана кумулативна печалба):

    [ DCG_p = \sum_{i=1}^p \frac{2^{rel_i} - 1}{\log_2(i + 1)} ]

    където (rel_i) е релевантността на документа на позиция (i), а (p) е позицията, до която се изчислява.

  2. IDCG (Идеален DCG): максималният възможен DCG, ако документите са сортирани по намаляваща релевантност.

  3. NDCG: нормализация на DCG спрямо IDCG:

    [ NDCG_p = \frac{DCG_p}{IDCG_p} ]

Стойността на NDCG варира от 0 до 1, като 1 означава перфектно класиране.

Пример: ако имаме релевантности на документите [3, 2, 3, 0, 1], първо изчисляваме DCG с формулата, след това IDCG за сортирания списък [3, 3, 2, 1, 0], и делим DCG на IDCG.