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-ზე.