안녕하세요! 오늘은 추천 시스템의 여러 Measure에 대해 알아보겠습니다! 데이터 분석 또는 여러 머신러닝 알고리즘들이 거의 대부분 정확도라는 것에 초점을 맞추고 있습니다. 하지만 추천시스템에서는 정확도뿐만 아니라 다른 여러가지 사항을 많이 고려한다고합니다. 이 포스트에서는 그것들을 알아보고 어떻게 처리하는지에 대해 알아보겠습니다!
Accuracy : 유저의 평점/ 소비에 맞게 예측하는지에 대한 척도
Diversity : 다양한 유형의 아이템이 추천되는지에 대한 척도
Serendipity : 예상할 수 없는 아이템이 추천되는지에 대한 척도
Novelty : 그동한 경험하지 못한 참신하고 새로운 아이템이 추천되는지에 대한 척도
Coverage : 얼마나 많은 아이템이 추천되는지에 대한 척도
수치적으로 연관성이 높은 아이템을 추천
이때 에 연관성이 아닌 다른 요소를 비율적으로 포함하여 계산하기도 합니다.
추천 결과로 제공되는 K개의 아이템이 비슷한 속성으로만 이루어지는 것을 지양
R이 추천리스트의 유사도라고 할때,
, 이때
여러 번의 추천 요청에 대해 사용자에게 같은 아이템을 제공하는 것을 지양
, 이때
통 채우기 방법
Weighted Random Choice
Beyond accuracy: evaluating recommender systems by coverage and serendipity, Ge at al., 2010 에서는 Serendipity를 아래와 같이 정의
Serendipity는 시스템상에서 정량화 하기 매우 어려움
Serendipity를 느낄 수 있는 navigation을 도입하여 증대 가능
관련있지만 사용자가 알 수 없고 사용자의 프로파일과 상이한 아이템 추천
Novelt측정 시 설문이 필요하지만, 이를 대신해 추천되는 아이템의 인기도(popularity)를 이용해서 근사가 가능하다고 합니다.
일반적으로 CBF방법이 CF방법에 비해 Novelty가 높은 추천을 만들기 용이함.
User Coverage: 추천 할 수 있는 사용자의 총 비율
Item Coverage: 추천 되는 아이템의 총 비율
인기 아이템이 너무 많이 추천되지 않도록함.
일반적으로 Serendipity 와 Novelty가 높아지는 방향으로 추천시스템이 구축된다면 Coverage도 함께 증가하는 경향이 있음.