추천시스템
추천시스템의 특성 평가
추천시스템은 도메인에 따라 여러가지 특성이 존재한다.
방송이나 드라마와 같이 인기도(Popularity)가 중요한 도메인이 있고,
E-commerce와 같이 사용자의 현재 관심사가 중요한 도메인도 있고,
도서나 문학과 같이 장기적인 선호도를 고려해야하는 도메인이 있다.
이러한 추천시스템의 특성들을 조금 일반화하여 평가할 수 있는 6가지 지표를 설명한다.
Coverage
Coverage란 추천시스템이 추천을 할 수 있는 아이템의 비율이다.
이는 개인 혹은 어떠한 신뢰(Confidence) 임계점에 대하여,
얼마나 많고 다양한 아이템을 추천할 수 있는지를 측정하는 지표이다.
예를 들면, 전체 아이템의 갯수가 1000개가 있는데, 전체 유저가 대체로 본 아이템들이 10%에 해당하면,
경향성을 너무 잘 반영해 학습된 추천 시스템들은 위 10%에 해당하는 아이템들만 추천할 가능성이 높아진다.
전체 아이템을 더 알맞게 잘 추천할 수 있는 추천시스템이 더 좋은 추천시스템이라는 이야기이다.
또한 이 지표는 비지니스적으로 아이템을 선정할 때 많은 도움을 줄 수 있다.
거의 모든 사람의 상위 20개에 나오지 않는 아이템들은 리스팅에서 내릴 것을 고민해 볼 수 있다.
Popularity
Popularity는 말 그대로 인기도이다.
얼마나 많은 사람이 이 아이템을 샀는지/클릭했는지를 측정하는 지표이다.
많은 경우 추천시스템의 성능을 비교할 때 사용하는 Baseline으로 사용된다.
(무조건 인기있는 아이템을 추천하는 것 보다 지표가 나쁘다면 좋지 않은 개인화 추천시스템이다.)
Novelty
Popularity의 반대되는 지표로 사용된다.
Personalization
Personalization은 추천시스템이 얼마나 개인화된 추천을 할 수 있는지를 측정하는 지표이다.
예를 들어 각 사용자의 상위 20개의 추천 리스트의 분산을 비교하는 방식으로 측정할 수 있다.
분산이 높다면 더 개인화 된 추천을 하는 시스템인 것이다.
Serendipity
Serendipity란 추천시스템이 얼마나 예측하지 않은 결과를 좋은 방향으로 내는지를 측정한다.
이는 한 아이템의 예측된 점수와 인기도의 점수를 비교해 얻을 수 있다.
주로 사용되는 수식은 다음과 같다:
$serend = \frac{1}{N} \sum^{N}_{i=1} max(Pr(s_i) - Prim(s_i), 0) * isrel(s_i)$
- $Pr(s_i)$는 예측된 점수를,
- $Prim(s_i)$는 미리 계산된 인기도를,
- $isrel(s_i)$는 아이템이 연된된 아이템인가, 즉 사용자가 좋아하는 아이템인가를 의미한다.
개인화된 추천시스템은 각 사용자의 취향을 잘 반영해야하기 때문에, 이는 중요한 지표가 된다.
Diversity
Diversity는 리스트 추천에서 얼마나 다양한 아이템이 추천되는가를 측정하는 지표이다.
이는 주로 장르/카테고리나 태그/키워드 벡터들을 페어로(pairwise) 유사도를 비교하게 된다.
만약 하위의 아이템들이 최상위 아이템과 비슷하다면, 이를 Penalize하는 방법을 사용할 수 있을 것이다.
'데이터사이언스 > 추천시스템' 카테고리의 다른 글
추천시스템 - (12) 랭킹 기반 평가 (2) | 2020.08.05 |
---|---|
추천시스템 - (11) 추천시스템 평가 (0) | 2020.08.04 |
추천시스템 - (10) 추천시스템의 학습 (0) | 2020.08.04 |
추천시스템 - (9) 컨텐츠 기반 추천 (0) | 2020.07.19 |
추천시스템 - (8) 연관성 분석 추천 예제 (0) | 2020.07.12 |