Très bien

Recommender System (추천시스템) 본문

Study/RecSys

Recommender System (추천시스템)

LemonSoda 2022. 3. 19. 19:40

1. Overview

추천시스템은 특정 사용자의 선호도와 과거 행동, 고객과 제품의 특성을 바탕으로 고객들이 관심을 가질만한 정보(영화, 음악, 책, 의류, 금융상품 등)를 추천하는 머신러닝의 분야입니다.추천시스템은 사용자 정보, 제품 정보, 그리고 사용자와 제품 간 상호작용 데이터(좋아요, 클릭, 구매 이력 등)를 수집하고 분석하여 아이템의 유사도가 높거나 사용자간 유사도가 높은 새로운 상품을 추천하는 시스템입니다. 

추천시스템 개념 (출처: NVIDIA Developer Technical Blog,   How to Build a Winning Recommendataion System, by Carol McDonald and  Gabriel Moreira)

즉, 추천시스템은 사용자(u)와 아이템(i) 간의 관계(compatibility)를 명시적으로 모델링하여 각 사용자가 선호할만한 새로운 아이템을 제공합니다. 

$ compatibility = f(u, i) $

추천시스템의 주요 적용 사례는 다음과 같습니다.

  • Personalized Ads. (개인별 광고 추천)
    • Netflix RecSys (Gomez-Uribe and Hunt, 2016)
    • Amazon RecSys (Linden et al., 2003)
    • Google Ads (McMahan et al. 2013)
    • Facebook Ads (He et al., 2014)
    • Alibaba Ads (Zhou et al., 2018)
  • Personalized Education (개인별 교육 프로그램 추천) 
    • Item Response Theory (Khajah et al., 2014)
    • Bayesian Knowledge Tracing (Corbett & Anderson, 1995)
    • Deep Knowledge Tracing (Piech et al., 2015)
    • Neural Cognitive Diagnosis (Wang et al., 2020)
  • Personalized Healthcare (개인별 건강 상태 모니터링, 질병 예측) 
    • Diagnosis prediction (Choi et al. 2016)
    • Personalized Heart rate modeling (Ni et al. 2019)
    • EHR-based phenotyping (Hripcsak and Albers 2013)
    • Precision Medicine (Hodson 2016)

2. RecSys Data

  • User related Data : User Profiling, IDs(User_ID, Device_ID, Brower Cookie), demographics.(Age, Resional Info.), Behavior(rating, feedback, etc) 
  • Item related Data : Item_ID, Category, Genre, Product, Image, Tag, Artist, Signal, etc. 
  • User-Item Interation : Explicit feedback (ratings), Implicit Feedback(Click, Purchase, etc.) 

3. RecSys Problems 

  • 사용자(User)와 아이템(item)의 특성을 표현 
  • 사용자(User)와 아이템(item) 사이의 compatibility function의 모델링
  • TOP-K Ranking with implicit feedback 
    • ex. clicks, purchases, etc. 
    • Soultion : regression, classification, etc. 
    • Evaluation index : Precision@K, Recall@K, MAP@k, nDCG@K, etc. 
  • Rating Prediction with explicit feedback  : Predict User's preferences such as ratings, click/purchase probability, etc. 
    • ex. movie ratings, predict ratings
    • solution : regression-based optimize error metrics 
    • Evaluation index : MAE, RMSE, AUC, etc. 

4. RecSys Algorithms

5. Trend 

최근(2021~) 대부분의 추천 연구는 explicit feedback(5 star ranking, ★★★★★) 기반의 rating prediction 보다는 implicit feedback 기반의 top-K recommendation 문제를 주로 다루는 추세입니다. 그 이유는 데이터의 양이 더 풍부하고 추천 task와 적합하며 비즈니스 목표(CTR 극대화, 수익, etc.) 와 직접적인 연관이 있기 때문입니다. 

추천 시스템은 기존의 머신 러닝 이론을 적용한 시스템이 많습니다. 그 이유는 데이터가 Sparse하고 개인정보 보호 등의 사유로 정보의 자유로운 수집이 어려우며, 기업에서도 대규모의 시스템 전환을 위한 기회비용을 고려하여 확실한 이익이 보장되지 않으면 딥 러닝을 위한 GPU 등의 고가의 시스템 전환을 미룬다는 현실적인 이유도 있을 것입니다. 뿐만 아니라, 광고 추천, 제품 추천 등은 기업의 매출과도 직결되는 부분이기 때문에 안정적이고 효율성이 보장되지 않으면 대기업에서 빠른 속도로 전환하기 쉽지 않습니다. 그럼에도 불구하고, 데이터의

Spasity와 방대한 User, Item, interaction 등으 정보를 모델링하기 위해서는 nonlinear한 모델을 쉽게 접근할 수 있는 딥 러닝 분야의 적용이 지속적으로 시도되고 연구되고 있습니다. 딥러닝 분야는 빠르게 발전하고 있는 굉장히 방대한 연구분야이며, 이 중 패러다임 전환을 선도한 주요 알고리즘이 몇 가지 있습니다.

  • FeedForward Neural Network : 오직 다음 단계로 가기 위한 하나의 feed forward 만 있는 Artifitial Neural Network(ANN) 구조로서 Deep Learning의 가장 기본적인 구조입니다. 
  • Multilayer perceptrons (MLPs) : 최소 3개의 레이어(input layer, hidden layer, and output layer) 로 구성된 ANN 구조로서 다양한 적용이 가능한 유연한 구조입니다. 
  • Convolutional Neural Networks (CNN) : CNN은 영상 내 object의 특성을 분석하기 위해 convolution kernel을 적용한 DL 구조입니다. 
  • Recurrent neural networks(RNN) : RNN은 연속된 데이터에서 언어 패턴을 획득하기 위한 수학적 엔진입니다.  

5. Related Conferences 

  • ML/AI :  AAAI, IJCAI, ICML, NeurIPS, ICLR, RecSys, CIKM, SIGIR, etc. (Acceptance rate 25% 수준)  
  • Web : WWW, WSDM
  • Data Mining : ICDM, KDD

6. Related Libraries

boostcamp AI Tech Lecture Notes (RecSys), by 이원성

7. Related Dataset

Recommender Systems Datasets (ucsd.edu)

8. References

Comments