[부스트캠프 AI Tech 5기] 추천 시스템 라이브러리

박상우·2023년 4월 11일
0

부스트캠프

목록 보기
38/54
post-thumbnail

추천은 다양한 모델을 선정할 필요가 있으나, 시간과 자원은 제한적
오픈 소스를 사용하자

Surprise

  • Simple Python Recommendataion System Engine
  • 메타의 AI 엔지니어
  • 명시적 데이터를 대상
  • SKLearn과 비슷한 api 형태
  • 모델 학습을 위해 Dataset 형태로 넣어주어야 함

Implicit

  • Fast Python Collaborative Filtering for Implicit Datasets
  • 아마존 AI 엔지니어
  • 암시적 데이터를 대상

LightFM

  • 패션 전문 브랜드 Lyst의 엔지니어
  • 암시적, 명시적 데이터 모두 사용 가능
  • user feature 와 item feature를 학습 과정에 포함하는 데에 적절한 구조로 만들어져 있음

Recommenders

  • Microsoft 엔지니어
  • 딥러닝 기반 모델까지 모두 보유한 메타 라이브러리
  • 자체 개발 알고리즘이 아닌, 타 라이브러리를 총 집합하여 하나의 인터페이스로 구성

추천 시스템 개발 로드맵

  • Preprocessing - Modeling - Evaluation

Preprocessing

Data Transform

Data Split

Split Methods

  • Data Leakage가 일어나는지를 잘 고려

Modeling

  • 분류

Content-Based Filtering

장점
  • 콜드 스타트 이슈가 적음
  • 상호작용 데이터가 필요하지 않음
  • 인기도 편향 영향이 적음
단점
  • 의미있는 Item 메타데이터 필요
  • 사용자 고정관념에 빠지기 쉬움
  • Serendipity를 추구하기 어려움

Collaborative Filtering

장점
  • 최소한의 도메인 지식으로 추천 가능
  • Item, User feature 필요하지 않음
  • Serendipity 차원에서 이점
단점
  • 데이터가 희박한 경우 잘 작동하지 않음
  • 콜드 스타트 이슈나 신규 사용자 비율이 높은 경우, 콘텐츠 기반 필터링, 하이브리드 필터링과 같은 다른 추천 방법을 적용

Advanced

  • 전통적이지 않고 최근에 자주 사용되는 방법
  • Context Aware Recommendation, DL, MAB 등

Context Aware Recommendation

장점
  • User, Item Rating 기반의 MF에서 Context를 추가
  • 다양한 정보를 반영하여 MF 보다 높은 성능
단점
  • 선형성에 의존
  • 특정 Task에만 유의미한 성능

DL

장점
  • 비선형성 관계를 파악 가능
  • Representation Learning을 통해 High sparsity를 고려
  • Sequence Modeling 적용 가능
단점
  • 해석에 용이하지 않음
  • 많은 양의 데이터 필요
  • HT에 오랜 시간이 소요

MAB

장점
  • 실제 환경에서 목표를 학습
  • 실시간 성
단점
  • 계산이 매우 복잡
  • 최적의 슬롯을 찾더라도 계속해서 탐색하기에, 최적 값과 멀어지는 결과를 초래
  • 특정 확률로 sub-optimal 한 나머지 슬롯 머신들을 무작위로 뽑기에, 정보를 얻지 못한 슬롯이 생길 확률 존재

Hybrid

장점
  • 좋은 성능
  • 콜드 스타트 이슈가 적음
  • Serendipity, Diversity 측면에서 이점이 있음
단점
  • 최적의 모델을 탐색하는데 시간이 많이 소요됨

Evaluation

Predict

  • Explicit feedback에 적용
  • MAE 등

Rank

  • Implicit feedback에 적용
  • NDCG@K 등
profile
세상아 덤벼라

0개의 댓글