추천시스템 평가
01. 추천시스템 적용
- 영화/드라마 등 영상 플랫폼
- 영화, 음악, 동영상 등 영상 위주의 추천을 해주는 서비스/플랫폼
- 사용자의 리뷰, 또는 피드백을 분석해 관심분야(취향)를 파악하고 해당하는 콘텐츠 추천
- 소셜네트워크서비스
- 소셜네트워크 혹은 인터넷 커뮤니티 기반의 다양한 컨텐츠를 추천해주는 플랫폼
- 옷, 가전제품 등 쇼핑 플랫폼
- e-Commerce로 잘 알려져있는 책, 가전제품, 식료품 등을 추천해주는 플랫폼
- 기타 서비스 제공 플랫폼
- 인테리어, 커플 매칭, 여행 등 관광/금융 상품 추천 플랫폼
02. 좋은 추천시스템
좋은 추천시스템을 만들기 위해 고려할 항목은 크게 5가지가 있다.
- 성능이 좋고 빠르고 설명 가능한 추천 알고리즘
→ 적절한 아이템을 빨리 찾고 해당 아이템을 추천하는 이유를 설명한다 - 적절한 데이터 (User profiling / Item profiling)
→ 추천 알고리즘을 만들기 위한 좋은 데이터를 확보하고 후보군을 설정한다 - 추천 시스템의 목적
→ 비즈니스 역량 확대, 매출 증대, CTR 등 다양한 명확한 목적을 가진다 - 플랫폼 내에서의 역할
→ 추천시스템이 주요 기능이고 필수인지 혹은 옵션인지 역할을 정의한다 - 플랫폼 사용자
→ 사용자가 어떤 환경에서 어떤 서비스를 이용하는 지 확인하고 사용자로부터 어떠한 정보를 받는지 알아야 한다

** 추가 고려사항
- 좋은 아이템을 추천하는 것만이 꼭 좋은 해결책은 아니다. 사용자가 추천받은 리스트에서도 고민을 할 수 있고, 사용자 스스로 정보와 지식이 부족해 선택이 불가할 수 있다.
- 사용자와 플랫폼 간의 소통을 통해 Interactive한 프로세스를 제공하고 사용자가 더 오래 플랫폼을 사용하도록 유도한다.
- 정보 검색과 추천의 차이를 극대화한다. 검색은 일반적인 정보를 제공하는 반면 추천은 개인화된 정보를 제공한다. 검색은 검색 결과를 보고 사용자가 직접 필터링, 추천은 제공된 추천 리스트에서 사용자가 선택을 하면 된다.
03. 추천시스템의 성능
관점에 따라 Business/Service, Technique/Operation으로 나눌 수 있다.
- Business/Service 관점
- 추천시스템을 적용하기 전과 후 달라진 점을 파악하여 실제 수익 향상 여부를 판단한다.
- Click Through Rate(CTR) 등 방문자의 행동 변화 여부를 파악한다.
- Technique/Operation 관점
- 다양성: 추천하는 아이템 종류의 변화
- 참신함: 사용자가 한번도 보지 못한 아이템 또는 뜻밖의 아이템이 추천되는지 여부
- 관련성: 사용자와 얼마나 관련이 있는지, 실제 구매로 이어졌는지 여부
A/B Testing
마케팅과 Web 분석에서 주로 사용하는 실험 방법. A, B 2가지의 서로 변형된 방법을 사용해 진행하는 대조 실험(controlled experiment)으로, 가설을 직관이 아닌 데이터 또는 결과로 증명하여 의사결정에 도움을 줄 수 있다.

Offline Evaluation
추천 알고리즘 구현에 사용한 데이터를 trn, val, tst로 나누어 평가한다. 정량적인 지표(RMSE 등)을 활용해 객관적인 평가가 가능하며 다양한 추천 알고리즘을 쉽고 빠르게 평가할 수 있다. *수집된 데이터를 바탕으로 평가가 이루어지기 때문에 실제 서비스에서는 다르게 적용될 수도 있다.
Online Evaluation
추천시스템을 적용한 플랫폼에서의 실제 사용자의 피드백, 평점 등을 활용한다. 수집할 수 있는 데이터의 한계가 있으나 실제 사용자의 데이터이기 때문에 정확한 평가가 가능하며 해당 데이터로 추천서비스 향상에 직접적인 도움을 줄 수 있다.
04. 평가 지표
Root Mean Square Error (RMSE)
평점 등 prediction problem의 추천 성능을 평가할 때 많이 사용하는 지표이다. 평균 제곱근 편차로, 실제 값과 모델의 예측 값의 차이를 하나의 숫자로 나타낸다.
- 예측 대상 값에 영향을 받는다(Scale-dependent).
- 잔차(residual)의 제곱을 산술평균한 값의 제곱근이다.
→ 관측값들의 상호 편차 = 관측값, 실제값 사이의 오차

- RMSE는 낮을수록 추천 알고리즘의 성능이 좋다고 평가할 수 있다.
Normalized Discounted Cumulative Gain (NDCG)
랭킹 추천에서 많이 사용되는 평가 지표로, 기존 정보검색에서도 많이 사용했다. Top-N 랭킹 리스트를 만들어 더 관심있더나 관련성 높은 아이템의 포함 여부를 평가한다.
- 순위에 가중치를 주고, 단순 랭킹이 아닌 데이터의 성향을 반영하기 위한 지표
- MAP(Mean Average Precision), Top K Precision, Top K Recall 등의 평가 방법을 보완했다.
- 검색엔진, 영상, 음악 등 컨텐츠 랭킹 추천에서 주요한 평가지표로 사용한다.
(가장 이상적인 순위(정답), 현재 점수를 활용한 순위) 사이의 점수를 cumulative하게 비교한다. 계산 값이 1에 가까울수록 좋은 순위이다. log로 normalization해 순위가 낮을수록 가중치를 작게, 순위가 높을수록 가중치를 크게 조절한다.

CG는 상위 아이템 p개의 관련성을 합한 cumulative gain(누적 값)이다. 여기서 rel(relation)은 관련이 있는지 없는지 binary로 나타낼 수도 있고 문제에 따라 세분화된 complex value로 나타낼 수도 있다. CG에서는 상위 아이템 p개를 동일한 비중으로 합한다.

DCG는 개별 아이템의 관련성(rel)에 log normalization을 적용한다. 아이템의 순위가 뒤로 밀릴수록 비중(가중치)를 줄여 하위권 아이템에 penalty를 부여한다.

IDCG는 이상적인(ideal) DCG 값으로, rel이 큰 순서대로 sorting한 후 상위 아이템 p개에 대해 DCG를 계산한 값이다. 따라서 선택된 아이템 p개로 얻을 수 있는 가장 큰 DCG 값과 같다.

NDCG는 IDCG로 DCG를 normalize한 값이다. NDCG는 항상 0~1 값을 가지는데 DCG와 IDCG의 rel이 모두 같으면 1, 모두 다르면 0이다.

다른 평가지표
- Precision @K (Top-K)
- Top-K의 결과로 Precision을 계산해 관련 여부를 0, 1로 평가한다.
- Mean Average Precision (MAP)
- 추천 랭킹 또는 검색 결과에 대한 average precision의 평균값을 계산. Precision @K의 평균
- Precision/Recall, AUC
- 정밀도, 재현율로도 평가할 수 있다.
'추천시스템 > 패스트캠퍼스 추천시스템' 카테고리의 다른 글
[Part 1] Ch01. 추천시스템 (0) | 2021.08.27 |
---|---|
[Part 3] Ch 03. Contextual Filtering (0) | 2021.08.27 |
[Part 3] Ch 02. Context-Aware Recommender System (0) | 2021.08.27 |
[Part 3] Ch01. Hybrid Recommender System (0) | 2021.08.27 |