#6-2 μ 보κ²μ μ±λ₯νκ° (MAP, Pre@K, R-pre, NDCG)
by JiwonDev# MAP (Mean Average Precision)
μ©μ΄κ° λμμ μ΄λ €μ 보μ΄μ§λ§, μ¬μ€ κ° μ§μλ¬Έμ νκ· μ νλ₯ (AP, Average Precision)μ λν΄ νκ· (Mean)μ λΈ κ°μ΄λ€.
AP(Average Precision) : νλμ μ§μλ¬Έ(Q)μ μ»μ κ²μλ¬Έμμμ $ \frac{μ ν©λ¬Έμκ° λμ¨ κ³³μ Precision}{μ 체 μ ν©λ¬Έμμ μ}$
μ κΈ PRCμμ λ§λ νμμ (μ ν©λ¬Έμκ° λμ¨ μ νλ₯ )λ§ λ½μλ΄μ (μ 체 μ ν©λ¬Έμμ μ)λ‘ λλλ€κ³ μκ°νλ©΄ λλ€.
2021.06.01 - [λΆλ₯ μ 체보기] - #6-1 μ 보κ²μ μ±λ₯ νκ° (P, R, F1, PRC)
μλ νμμ μ ν©λ¬Έμμ μμΉλ Rank 1, 3, 6 μ΄λ―λ‘ κ°κ°μ μ νλ₯ (1.0, 0.67. 0.5) λ₯Ό λν΄μ λλλ©΄ λλ€.
μ΄λ λλλ λΆλͺ¨λ μ 체 λ¬Έμκ° μλλΌ 'μ 체 μ ν©λ¬Έμ μ'μμ μ μνμ.
AP = (1.0 + 0.67 + 0.5 ) / 5
λ³΄ν΅ λͺ¨λΈμ νκ°ν λλ ν μ€νΈμ© μ§μλ¬Έ 50κ° μ΄μμ μ¬μ©νλ, κ°κ°μ μ§μλ¬Έμ λν΄ APλ₯Ό κ΅¬ν΄ νκ· μ λ΄λ©΄ λλ€.
κ·Έκ² λ°λ‘ MAP(Mean Average Precision)μ΄λ€.
μ μμ μμλ μ§μλ¬Έμ΄ 1κ°λΏμ΄λ―λ‘ κ·Έλ₯ APλ₯Ό ꡬνλ©΄ κ·Έκ² MAPμ΄λ€.
# μμ
μ κΈμμ νΌ λ§μ§λ§ λ¬Έμ λ₯Ό MAPλ‘ νλ©΄
Rank2 μ νλ₯ (P) = 1/2(0.5)
Rank6 μ νλ₯ (P) = 2/6(0.333) μ΄λ―λ‘
AP = 0.5 + 0.333 / 4 (μ 체 μ ν© λ¬Έμμ μ) μ΄λ€.
μ§μλ¬Έμ΄ 1κ° λ°μ μμΌλ―λ‘ MAPμ κ°μ APκ°κ³Ό κ°λ€.
3. λ€μ νλ μ§μ Qμ λν κ²μλ¬Έμ μ§ν© μ 체λ₯Ό λ³΄μΈ κ²μ΄λ€. μ§μ Qμ μ ν©λ¬Έμμ§ν© R = { 800:1, 690:3, 700:3 ,500:2 } λΌκ³ ν λ μλ μ§λ¬Έμ λ΅νμμ€. ( μ°Έκ³ . 900:1 μλ―Έλ D900 λ¬Έμμ μ ν©λκ° 1μ΄λΌλ μλ―Έμ΄λ€. )
Rank | Document No. | μ ν©λ |
1 | 381 | 0 |
2 | 800 | 1 |
3 | 456 | 0 |
4 | 451 | 0 |
5 | 761 | 0 |
6 | 690 | 3 |
7 | 295 | 0 |
# μμλ¬Έμ μ νλ₯ Pre@ (Precision at K)
κ·Έλ₯ μμμ ꡬν νμμ νΉμ Rankμ μ νλ₯ μ μ¬μ©νλ λ°©λ²μ΄λ€. μ§μ§ λ§ κ·Έλλ‘
Pre@3 = Rank3μ μ νλ₯ = 0.67
Pre@6 = Rank6μ μ νλ₯ = 0.5
μ λ§ κ°λ¨ν λ°©λ²μ΄λ€. λ€λ₯Έ λ°©λ²κ³Ό λ€λ₯΄κ² μ΄ μ ν©λ¬Έμμ κ°μλ₯Ό μ νμλ μλ€.
λ€λ§ μμ Rankλ§ νλ¨νλ€λ³΄λ μλΆλΆμ λμ¨ μ ν©λ¬Έμμ κ°μκ° μ μμ ν° μν₯μ λ―ΈμΉλ―λ‘ μ€μ μ μλ₯Ό ꡬνλ μ’μ λ°©λ²μ΄λΌκ³ λ³Ό μλ μλ€. (=νκ° μ±λ₯μ΄ λΆμμ νλ€.)
μ΄ λ°©λ²μ μΉ κ²μ λͺ¨λΈμ νκ°ν λ μμ£Ό μ¬μ©νλλ° κ·Έ μ΄μ λ μ°λ¦¬κ° μΉμμ κ²μν λλ μ 체 κ²μ λ¬Έμλ₯Ό λ³΄μ§ μκ³ μμ 10κ°μ λλ§ μ½μΌλ―λ‘ (μ¬λμ΄λκΉ) μ 체 κ²μλ¬Έμμ νκ· μ μλ³΄λ€ μμλ¬Έμ μ νλ₯ μ΄ λ μ€μνκΈ° λλ¬Έμ΄λ€. λν μΉ κ²μ κ²°κ³Όμ κ²½μ° 'μ ν©λ¬Έμμ κ°μ'λ₯Ό νλ³νλκ² μ΄λ €μμ λ€λ₯Έ νκ° λ°©λ²μ μ°κΈ°λ κΉλ€λ‘κΈ°λ νλ€.
# R-precision
νΉμ μ§μλ¬Έ(Q)μ λν (μ΄ μ ν©λ¬Έμ μ == λ¬Έμμ§ν© κ°μ)μΈ μ νλ₯ μ ꡬνλ€.
μ΄κ²λ κ°λ¨νλ€. μλ νμμ [μ΄ μ ν©λ¬Έμμ μ]λ 5μ΄λ―λ‘ [λ¬Έμ μ§ν©μ κ°μ]κ° 5κ°κ° λλ Rank5μμμ μ νλ₯ (0.4)λ₯Ό μ¬μ©νλ€. μ¦ μ ν©λ¬Έμ μμ ν΄λΉνλ Rankλ₯Ό μ°Έμ‘°νκ² λ€λ λ§.
μ§μλ§λ€ ν΄λΉ μ§μμ 'μ ν©ν λ¬Έμμ κ°μ' λ λ€λ₯΄λ€.
μ§μλ§λ€ [μ ν©λ¬Έμμ κ°μ == Rank] μ§μ μ μ νλ₯ μ κ΅¬ν΄ λ€ λν΄μ νκ· μ λ΄λ©΄ λλ€.
# NDCG (Normalized Discounted Cumulative Gain)
μμμ μ¬μ©ν PRC, MAP, Pre@, R-Precision μ κ²½μ°λ μ΄μ§ μ ν©λ(μ ν©νλ€, μλλ€)λ₯Ό κΈ°μ€μΌλ‘ λΆλ₯νλ€.
κ·Έλ°λ° μ€μ κ²μ λͺ¨λΈμμλ λ€μ€ μ ν©λ(μμ ν λ€λ¦, μ‘°κΈ λΉμ·ν¨, λ§μ΄ λΉμ·ν¨, μ ν©ν¨)λ₯Ό μ¬μ©νλλ°, μ΄λ₯Ό ꡬνν μ±λ₯ νκ° λ°©λ²μ΄ NDCG μ΄λ€.
NDCGμ μμμ μ’ λ³΅μ‘νλ°, μλ κΈμ μ½μΌλ©° μ΄λ»κ² μ΄λ° μμμ΄ λμ€κ² λμλμ§ μ΄ν΄νλ©΄ μ΄λ ΅μ§ μλ€.
NDCGλ CGμμλΆν° μΆλ°νμλ€.
# CG (λμ μ΄λ, λμ μ¬μ©μλ§μ‘±λ, Cumulative Gain)
μμ Kκ°μ κ²μλ¬Έμμ λν΄μ λ¨μνκ² μ¬μ©μμ λ§μ‘±λ κ°μ μ λΆ λν κ°μ΄λ€.
λ§μ‘±λ κ°μ λ§ κ·Έλλ‘ 'μ¬μ©μκ° νκ°ν κ°' μ΄κΈ° λλ¬Έμ, λ¨μν λν΄μ£ΌκΈ°λ§ νλ©΄ ꡬν μ μλ€.
(ex 3: μλ²½ν¨ 2: κ±°μ λΉμ·ν¨ 1: μ½κ° λΉμ·ν¨ 0: μμ λ€λ¦)
λΉμ°ν μ΄λ° μμΌλ‘ ꡬν CG(λμ λ§μ‘±λ) νκ°μμλ κ° λ¬Έμμ μμλ₯Ό μ ν λ°μνμ§ λͺ»νλ€. κ·Έλ₯ λνμΌλκΉ
(μ μΌ μ ν©ν λ¬Έμκ° 1μμλ 6μμλ μ΄λλ κ²μ κ²°κ³Όμ μκΈ°λ§ νμΌλ©΄ CGκ°μ λμΌνλ€.)
# DCG (μ°¨κ° CG, Discount Cumulative Gain)
Discount CG, λ§μ‘±λ κ°μ λ¨μν λνμ§ μκ³ , μμμ λ°λΌ κΉμμ(Discount) λνλ λ°©λ²μ΄λ€.
CGμμ μΌλ°μ μΈ λ§μ‘±λλ₯Ό μ¬μ©νλ€λ©΄ DCGμμλ μμμ λ°λΌ μ μλ₯Ό κΉλ μ
λ¨μν μλ₯Ό λ€μ΄ $\frac{λ§μ‘±λ}{λ¬Έμκ°μ}$ μ κ°μ DCG μμμΌλ‘ μ΄μ©νλ€κ³ μκ°ν΄λ³΄μ..
Rank1 = μ μ/1 = 3/1
Rank2 = μ μ/2 = 2/2
...Rank6 = μ μ/6 = 2/6 μ΄λ° μμΌλ‘ μ μλ₯Ό κ²μλ λ¬Έμ μ(==Rank κ°)μΌλ‘ λλ μ£Όλ©΄ λλ€.
λ€λ§ μ€μ κ²μ λͺ¨λΈμμ ν¨λν° κ°(Discount)μ μ΄λ κ² λ¨μνκ² κ³μ°νμ§λ μκΈ°μ μμμ΄ μ’ λ³΅μ‘ν΄μ§λ€.
λ€λ§ DCGλ₯Ό μ¬μ©νμ¬ μμμ λ°λ₯Έ μ μλ₯Ό λΆμ¬ν΄λ 'μ§μ λ§λ€ κ²μλ κ°μ' μ 'μ ν© λ¬Έμμ κ°μ' λ₯Ό λ°μνμ§ λͺ»νλ€.
μ½κ² λ§ν΄ 100κ° μ°Ύμμ 99κ°κ° μ λ΅μΈ κ²½μ°(99%), 3κ° μ°Ύμμ 3κ°λ€ μ λ΅μΈ κ²½μ°(100%)μμ λΉμ°ν μ μκ° λ μ’μ μμ€ν μΈλ°, DCGλ₯Ό μ¬μ©νλ©΄ 3κ° λ€ μ λ΅ μΈκ² λ μ μκ° λκ² λμ¨λ€.
μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ μ μλ₯Ό μ κ·ν(Normalized)ν NDCGλ₯Ό μ¬μ©νλ€.
#λ€μ λμμ¨ NDCG (Normalized DCG)
μ λ§ κ°λ¨νκ² μ€λͺ νλ©΄, μμμ ꡬν DCG κ°μ IDCGλ‘ λλμ΄μ μ κ·ν μν¨ κ°μ΄λ€.
IDCG(Ideal DCG)λ μ΄μμ μΈ, κ²μνλ©΄ μ ν©λ¬Έμλ§ λμ€λ 100% μ νλ₯ μ κ°μ§ μμ€ν μμ λμ€λ DCGκ°μ μλ―Ένλ€.
# κ°λ¨ν NDCG μμ
λ§μ‘±λ λ μ¬λμ΄ μ§μ νκ°ν κ°μ΄λ©° ( 3: μλ²½ν¨ 2: κ±°μ λΉμ·ν¨ 1: μ½κ° λΉμ·ν¨ 0: μμ λ€λ¦) λ₯Ό μ¬μ©νλ€.
$CG_k$ λ μμ Kκ°μ λ¬Έμμμ λ§μ‘±λμ ν©μ μλ―Ένλ©° λ§μ‘±λλ μ¬λμ΄ μ§μ νκ°ν κ°μ΄λ€.
$DCG_k$ λ $\frac{CG}{λ¬Έμκ°μ}$ μμμ μ΄μ©νκ² λ€. CGμ λ§μ°¬κ°μ§λ‘ κ°μ λ€ λν΄μ ꡬν μ μλ€.
$IDCG_k$ λ λ§μ‘±λκ° λμ μμΌλ‘ μ λ ¬λμ΄ κ²μλλ μλ²½ν μμ€ν μμ DCG κ°μ΄λ€.
μλ νμμλ Optimal Discount Gain (μ΅μ νλ DCG)λΌκ³ νκΈ°νμλ€.
κ·ΈλΌ κ³μ°λ°©λ²μ κ°λ¨νλ€.
$DCG_6$ = λͺ¨λ DCGμ ν©, 13.85
$IDCG_6$ = μ΄μμ μΈ μμ€ν μμ λͺ¨λ DCGμν©, 14.60
$NDCG_6$ = $\frac{13.85}{14.60}$
λ€λ§ μμμ λ§νμ§λ§, μ€μ DCG μμμ μ΄λ κ² λ¨μνμ§ μκΈ°μ μ€μ NDCGλ μλμ μμμ μ¬μ©νλ€.
λ¬Όλ‘ μ΄λ₯Ό μ¬λμ΄ μ§μ κ³μ°ν μΌμ μμΌλ―λ‘, μ°λ¦¬λ $NDCG(Q,k)$ = $\frac{DCG_k}{IDCG_k}$ λ§ κΈ°μ΅νλ©΄ λλ€.
#ν΄μ¦
3. λ€μ νλ μ§μ Qμ λν κ²μλ¬Έμ μ§ν© μ 체λ₯Ό λ³΄μΈ κ²μ΄λ€. μ§μ Qμ μ ν©λ¬Έμμ§ν© R={ 800:1, 690:3, 700:3 ,500:2 } λΌκ³ ν λ μλ μ§λ¬Έμ λ΅νμμ€. ( μ°Έκ³ . 800:1 μλ―Έλ D800 λ¬Έμμ μ ν©λκ° 1μ΄λΌλ μλ―Έμ΄λ€. )
Rank | Document No. | μ ν©λ |
1 | 381 | 0 |
2 | 800 | 1 |
3 | 456 | 0 |
4 | 451 | 0 |
5 | 761 | 0 |
6 | 690 | 3 |
7 | 295 | 0 |
3-1 MAP, Pre@5, R-precisionμ ꡬνμμ€
νμ΄
Pre@5λ Rank5μμμ μ νλ₯ μ΄λ―λ‘
P = 1/5 μ΄ μ λ΅μ΄λ€.
R-precision μ μ 체 μ ν©λ¬Έμμ κ°μλ₯Ό Rank μμΉλ‘ μκ°ν μ νλ₯ μ ꡬνλ―λ‘
μ 체μ ν©λ¬Έμμ κ°μ = 4κ°
Rank4μ μ νλ₯ P = 1/4 μ΄ μ λ΅μ΄λ€.
MAP μ λͺ¨λ μ§μλ¬Έμ AP(νκ· μ νλ₯ )μ κ΅¬ν΄ νκ· μ λΈ κ°μ΄λ€.
APλ [μ ν©λ¬Έμκ° λμ¨ Rankμ μ νλ₯ ]μ ν©μ [μ 체 μ ν©λ¬Έμκ°μ] λ‘ λλλ©΄ λλ€.
μ§μ Qμ λν μ 체 μ ν©λ¬Έμ R={ D800, D690, D700, D500 } λΌκ³ νμΌλ―λ‘
Rank 2 => μ νλ₯ 1/2
Rank 6 => μ νλ₯ 2/6
μ§μ Qμ λν μ 체 μ ν©λ¬Έμλ 3κ°λΌκ³ νμΌλκΉ
AP = (1/2) + (2/6) / 3
MAP(APλ€μ νκ· )μ μ§μλ¬Έμ΄ 1κ°λ°μ μμΌλ APμ κ°κ³Ό λμΌνλ€.
3-2 CG_7, DCG_7, NDCG_7μ ꡬνμμ€. (λ¨ Discount Gainμ Gainκ°μ μμλ‘ λλ κ°μ μ¬μ©ν κ²)
νμ΄
CGλ λ¨μν κ²μλ λ¬Έμμμ λͺ¨λ λ§μ‘±λλ₯Ό λν κ°μ΄λ€.
CGλ 1+3 = 4
DCGμ κ°μ Gain κ°(λ§μ‘±λ)λ₯Ό μμλ‘ λλ κ°μ μ¬μ© νλΌκ³ λ¬Έμ μ μ νμλ€.
μ¦ DCG = $\frac{λ§μ‘±λ}{rank}$
DCGλ (1/2) + (3/6) = 1
IDCGλ λͺ¨λ μ ν©λ¬Έμκ° μ ν©λκ° λμ μμλλ‘ λμ€λ μλ²½ν κ²μμμ€ν μμμ DCGμ΄λ―λ‘
μ ν©λ¬Έμ R = { 800:1, 690:3, 700:3 ,500:2 }
IDCG = (3/1) + (3/2) + (2/3) + (1/4)
μ°Έκ³ λ‘ $ IDCG_7 $ λ©΄ μ΄λ°μμΌλ‘ 7λ² λνλ©΄ λλ€. λ€λ§ λ€μ κ°λ€μ 0μ΄λΌμ μλ΅νμ λΏμ΄λ€.
NDCG λ $\frac{DCG_k}{IDCG_k}$ μ΄λ―λ‘
NDCG = 1 / (3/1) + (3/2) + (2/3) + (1/4)
μ½λ€. IDCGλ₯Ό ꡬν λ νμλ§ μλ μ ν©λ¬Έμκ° μλ 'λͺ¨λ μ ν©λ¬Έμ'λ₯Ό DCG κ°μ ꡬνλ κ²λ§ μ μνμ.
Precision, Recall, F1, PRC, MAP, Pre@K, R-precison, NDCGμ λν΄μ λ°°μ보μλ€. μ΄ 8κ°μ§!
'π±βπ»μ 곡 κ³΅λΆ > μ 보κ²μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
#8. νλ₯ λͺ¨λΈ(Probabilistic Model) (2) | 2021.06.01 |
---|---|
#7. κ²μ μ±λ₯νκ° TestCase (0) | 2021.06.01 |
#6-1 μ 보κ²μ μ±λ₯ νκ° (P, R, F1, PRC) (0) | 2021.06.01 |
#5 λ²‘ν° λͺ¨λΈ SMART νκΈ°λ² (0) | 2021.05.31 |
μ 보κ²μ #4 κ²μλͺ¨λΈ (Retrieval Models) (0) | 2021.04.15 |
λΈλ‘κ·Έμ μ 보
JiwonDev
JiwonDev