-
추천 평가 방법(정확도 지표) 정리추천시스템 2024. 2. 27. 16:33
📌평점, 체류시간, 장바구니 여부,구매 여부, 사전 평가…, 등의 user ↔︎ item interaction score가 있을 때 사용 가능
→ 해당 interaction이 없다면? 속성 유사도 기반 추천기존 메트릭
Precision @ k , precision, recall
- 정답/ 오답이 있고, 예측값이 정답과 어느 정도의 비율로 일치하는 지를 계산
- binary 분류 문제
MSE, MAE…
- 평점, 체류시간,… 등 binary 하지 않은 연속된 값을 예측할 때 사용
기존 메트릭의 한계
- 기존 정확도 지표는 정답과 예측값의 비율을 측정하므로, 순서 정보에 대한 가중치가 반영되지 않음
- 추천시스템에서는 얼마나 잘 맞추었는지가 중요함 (상대적 순서 중요)
추천 평가 메트릭
MRR (Mean Reciprocal Rank)
📌“유관 상품이 최초로 등장한 곳은 몇번째인가?”를 측정함으로써 계산
- (Good) 가장 처음 등장하는 유관 상품 초점을 둠. 유저가 '나를 위한 최적상품'을 찾고 있을 때 가장 적합
- (Bad) 리스트 하나에만 집중, 유관 상품을 1개 품고 있는 리스트나 여러 개 품고 있는 리스트나 동일하게 취급
🟢 어떻게 ‘유관 상품(정답)’ 인지 알 수 있는가?
- 좋아요👍버튼
- 체류 시간
- 장바구니 (…)
→ binary “yes” or “no” 의 형태가 필요
🟢 Validation 시에 유관 상품 태그가 붙어 있어야 함
🔴 해당 지표는 Train & Val 데이터에 유저와 아이템의 Interaction이 있어야 가능함
❓ 내용 관련 연관 추천 등, Interaction 기반이 아닌 데이터로 만든 모델은 어떻게 평가할 수 있을까?
(Ex. ‘화가가 사랑한 바다’ 도서 → 물감, 수영복 등 추천일 때)
[MRR응용] MAP (Mean Average Precision)
NDCG(Normalized Discounted Cumulative Gain)
기타
- Hit rate
- Diversity(다양성)
- Novelty(신선함)
- Serendipity(참신함) : 의도적으로 찾지 않았음에도 뭔가 새로운 좋은 것을 발견하는 일
속성 유사도 기반 추천인 경우
- 일종의 컨텐츠 필터링 기반 추천 (유사도)
- 위의 내용처럼 interaction score가 있다면 이에 기반한 지표로 측정 가능
❌콘텐츠 기반 추천에서는 단일 지표에만 최적화하지 않는 것이 중요
같은 속성의 것들을 계속해서 추천함으로써 장기적으로 사용자의 관심을 잃게 됨…- 정성적인 유사도를 측정하고 싶다면???
🔴도메인 전문가가 있어야 함…(gold label data가 필요)