Recall, Precision 복습

(노란 gt는 negative, 파란 gt는 positive)
N,P : 예측이 true인지, false인지에 대한 정보
T,F : 예측이 맞았는지 틀렸는지에 대한 정보
gt(ground truth) : 정답
- $recall = \frac{TP}{FN+TP}$
- $precision=\frac{TP}{FP+TP}$
- Retrieval gt 1에 대한 recall, precision, f1 score
- $recall=\frac{2}{0+2}=1.0$
- $precision=\frac{2}{3+2}=0.4$
- $f1-score=2\frac{1.0\times 0.4}{1.0+0.4}=0.571...$
- Retrieval gt 2에 대한 recall, precision, f1 score
- $recall=\frac{1}{1+1}=0.5$
- $precision=\frac{1}{1+1}=0.5$
- $f1-score=2\frac{0.5\times 0.5}{0.5+0.5}=0.285...$
Retrieval 지표 이해하기

RAG에서 retrieve하는 passages의 개수를 늘리면 recall은 증가하지만, precision은 감소한다. precision은 retrieve한 전체 passage들 중 정답 passage의 비율이다.
passage가 많아진다는 것은 곧 LLM(generator)이 쓸모없는 passage를 참고하여 환각 증세를 더 보이기 쉽다는 의미.
⇒ hallucination을 줄이고 싶다면 precision을 높이는 것이 유용할 수 있다.
금융, 법률 도메인처럼 절대 거짓말을 하면 안 되는 분야에서 precision 지표가 중요하게 작용한다.
- NDCG, mAP, mRR
- 본래 추천시스템에서 사용되던 평가함수이다.
- 다른 지표들과 다르게 “순서”(ex. cosine similarity에 의한 순위)를 고려하는 지표 ( Rank-Aware Metric ) (recall, precision, f1 score는 rank-unaware metric)
- recall이 똑같이 높은 두 retrieval 시스템을 평가할 때 이런 지표들이 유용하게 작용한다.
nDCG, mAP, mRR 평가지표 이해하기
https://kgw7401.tistory.com/90
![[example]](https://prod-files-secure.s3.us-west-2.amazonaws.com/e371e029-4777-4e5f-9f19-cf1a46662c10/f65af27a-d920-4180-a58a-86c87f4d2ad8/image.png)
[example]
해당 retriever에 3개의 query를 질문한 뒤 성능을 측정하려고 한다.
세가지 query의 recall은 모두 1로 동일하지만, nDCG, AP, RR값은 모두 다르다.