Recommender System (1)

suyeon·2022년 10월 10일
0

Boostcamp AI Tech

목록 보기
1/6

1. 추천 시스템 (Recommender System)

1) 개요
2) 사용 데이터
3) 목적

2.추천 시스템의 평가 지표

1)개요
2)Offline Test
3)Online Test


1. 추천 시스템 (Recommender System)

1) 개요

  • 유저의 아이템 소비 방식

    -> 검색 : 키워드 (query) 사용, 이렇게 아이템을 소비하는 방식을 pool 방식이라고 한다.
    반대로 추천하는 방식은 'push' 라고 볼 수 있다.

  • 추천 시스템의 필요성

    과거 : 많은 상품과 컨텐츠를 활발하게 접할 수 없음
    현재 : 웹/모바일 환경이 발달함으로써 다양한 상품과 컨텐츠가 등장하며 현재에는 정보가 풍부 -> 정보를 찾기 어려워졌다는 문제 발생

    이러한 상황에서 추천 시스템은 인기 있는 상품에서 시작해 점점 각각의 유저에게 알맞은 추천을 해줄 수 있다.

2) 사용 데이터

  • 추천 시스템에 필요한 정보

    크게 유저 정보, 아이템 정보, 유저-아이템 상호작용 정보의 3가지이다.

    • 유저 정보 생성 과정
      유저 프로파일링 : 대상 유저의 정보를 생성 -> 식별자(identifier), 데모그래픽 정보, 유저 행동 정보 등
    • 아이템 정보 생성 과정
      아이템 프로파일링 : 아이템 ID (서비스 자체에서 발급하는 ID), 아이템의 meta data

3) 목적

  • 유저-아이템 상호작용을 평가하는 score를 구한다.

2. 추천 시스템의 평가 지표

1) 개요

  • 성능 평가 기준
    • 매출 or 사용자 방문 증가
    • 유저 CTR(노출 대비 클릭) 증가
    • 품질 증가
      연관성(Relevance), 다양성(Diversity), 새로움(Novelty), 참신함(Sefendipity)등의 여러 측면에서 바라봐야 함

2) Offline Test

  • Precision/Recall@K

    • Precision@K : 유저가 관심있는 아이템의 전체 개수 / 추천한 아이템의 전체 개수
    • Recall@K : 추천한 아이템 중 유저가 관심있는 아이템 개수 / 유저가 관심있는 전체 아이템 개수

  • Mean Average Precision(MAP)@K

    AP@K=1mi=1KPrecision@iAP@K = \frac{1}{m}\sum_{i=1}^K Precision@i
MAP@K=1Ui=1U(AP@K)u\quad \quad MAP@K = \frac{1}{\left\vert U \right\vert}\sum_{i=1}^{|U|}(AP@K)_u

  • Normalized Discounted Cumulative Gain (NDCG)
    Precision@K, MAP@K 처럼 Top K 리스트를 이용, K개의 순서까지 고려해서 성능을 평가하고 최대는 1
    이 값을 구하기 위해 4개의 수식을 거쳐야 한다.

    • Cumulative Gain : Top K 리스트 아이템끼리의 관련도의 합

      CGK=i=1Kreli\quad CG_K = \sum_{i=1}^Krel_i
    • Discounted Cumulative Gain : 순서에 따라 CG를 Discount한 값

      DCGK=i=1Krelilog2(i+1)\quad \quad \quad DCG_K = \sum_{i=1}^K\frac{rel_i}{log_2(i+1)}
    • Ideal DCG : 최적의 추천이 일어났을 때의 DCG값 (최댓값)

      IDCG=i=1Krelioptlog2(i+1)\quad \quad IDCG = \sum_{i=1}^K\frac{rel_i^{opt}}{log_2(i+1)}
    • Normalized DCG

      NDCG=DCGIDCGNDCG = \frac{DCG}{IDCG}

3) Online A/B Test

  • 실제 추천 결과를 serving하여 성능을 평가하는 테스트
    -> 대조군 A와 실험군 B의 성능을 평가하는 것이 중요하다.

0개의 댓글