본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

공부 시작



강의 종료


강의장


학습 인증샷



강의 후기

 

ch02-05 학습 평가 지표

 

머신러닝의 학습 평가 지표에 대해 배웠습니다.

 

강의를 보다가 추천시스템에서는 주로 어떤 평가지표를 사용하는지 궁금해 따로 적어보겠습니다.

 

1. 예측 대상

일반적인 머신러닝 모델은 iuput에 대한 outpout을 예측하는 것이 목적입니다.

 

추천시스템에서는 사용자가 좋아할만한 목록을 예측합니다.

하나의 정답을 맞추는게 아니라 사용자가 선택할 확률이 높은 아이템을 정렬해 보여주는 것이 목표입니다.

 

2. 정확표 평가 방식

일반 머신러닝에서는 Accuracy(정확도), Precision(정밀도), Recall(재현율), F1 Score를 사용합니다.

이 지표들은 모델이 얼마나 정확하게 예측했는지 판단합니다.

 

추천시스템은 실제로 유저에게 추천한 아이템이 적합한지 측정하기위해 Precision@K, Recall@K, F1@K 같은 Top-K 지표를 사용합니다.

 

3. 랭킹 고려 여부

추천시스템은 단순히 어떤 아이템이 맞았는지뿐 아니라 얼마나 상위에 잘 배치됐는지도 중요합니다.

따라서 NDCG, MAP, MRR 같은 랭킹 기반 평가지표를 사용합니다.

 

일반 머신러닝(분류문제)에서는 순서를 고려하지 않고 맞았는지만 판단합니다.

 

4. 데이터 구조와 샘플링 방식

머신러닝 분류 문제에서는 데이터가 독립적이고 라벨이 명확하게 존재합니다.

 

추천시스템에서는 유저-아이템 간 상호작용 데이터를 사용하며 유저가 좋아하지 않은 아이템을 명시적으로 기록하지 않기 때문에 negative 샘플링을 통해 학습 데이터를 구성합니다.

 

 

 


추천시스템에서 Precision@K나 Recall@K는 K 값에 따라서 성능이 달라질 수 있는데 실제 서비스에서 유저에게 얼마나 보여줘야할지에 대한 지표는 어떻게 해야하는가?

추천이 잘 되더라도 실제 서비스 수익과 직접적인 연관이 있는지도 고려해야한다.

 

 

 

만약 유저가 첫 번째 추천만 보고 끝낸다면 그 뒷순위는 어떻게 처리해야하는가

 

결국 평가지표는 모델 성능과 서비스 맥락도 함께 고려해야 한다는 것을 배웠습니다.