Ch 06-1. 이웃기반 vs. 모델기반 협업필터링

Yeonghyeon·2022년 7월 28일
1

Recommender System

목록 보기
13/33

본 포스팅은 Fastcampus 강의를 수강하며 일부 내용을 정리한 글임을 밝힙니다. 보다 자세한 내용은 아래 강의를 통해 확인해주세요.
참고 : Fastcampus 딥러닝을 활용한 추천시스템 구현 올인원 패키지 Online


Ch 06. Model-based Collaborative Filtering


  • 이웃기반: 고전적인 협업필터링 알고리즘
  • 모델기반: 딥러닝에 점점 더 가까워지고 있다! ➡️ 추천알고리즘
    • 추후에 딥러닝 협업필터링(논문 구현, 실습 등)에 대해 배울 때 모델기반 협업필터링에 대해 기본적인 내용과 개념을 이해하고있다는 전제 하에 다루기때문에 미리 잘 알아놓자!

모델기반 협업필터링이란?

  • 머신러닝(+특징)을 가장 잘 활용한 추천알고리즘의 일종
  • 주어진 데이터를 활용하여 모델 학습
    • 학습 과정에서 모델이 데이터를 배워서 데이터 정보를 압축
  • 항목간 유사성에서 벗어나 데이터의 패턴을 학습
    • 흔히 말하는 유사도는 A와 B가 얼마나 가까운지 벡터 공간안에서 표현하는 것
    • 그런데 데이터 패턴을 학습한다는 것은 꼭 A가 어디에 위치해야한다기보다는 A의 특징을 추리는 것으로 이해
  • 데이터 크기 or 특징(feature)을 동적으로 활용 가능 ➡️
  • 데이터(유저)의 잠재적 특성(선호하는 취향)을 파악하는 모델(Latent Factor Model)

장점

1. 추천모델(알고리즘) 크기

  • 수많은 데이터로 구성된 행렬(e.g. Rating Matrix ➡️ 굉장히 큰 행렬과 연산 속도)보다 압축된 형태로 저장

2. 추천모델(알고리즘)의 학습과 예측 속도

  • 데이터 전처리와 학습 과정으로 미리 모델 준비 ➡️ 준비된(미리 학습된) 모델로 예측

3. 추천모델(알고리즘)의 과적합 방지

  • 데이터 다양하게 학습 가능 + 새로운 추천 가능성 존재
    • 이웃기반 협업필터링은 데이터가 있는 애들(평점이 매겨진 아이템)에만 집중할 수 밖에 없는데, 모델기반은 Sparse Matrix에 비어있는 공간을 채워나가는 과정이기 때문에(Matrix Compression:모델 압축 문제를 푸는 것) 이 과정에서 전체 데이터를 학습 가능해 Cold-Start 문제를 좀 더 해결할 수 있음

4. Sparse data

  • 유저-아이템 데이터 중 사용 가능한 데이터는 전체 데이터 중 비율이 작음
  • 유저-아이템 간 데이터에서 표시되지 않은 항목은 새로운 추천 어렵다(Cold-Start)

5. Limited Coverage

  • 공통 유저(아이템)가 선택된 데이터 확보 어려움

  • 이웃기밥 협업필터링의 특성 중 '이웃'의 효과 보기 어려움

    • 1번하고 비슷한 아이템을 100명 중 적어도 50-60명이 평가를 했어야 그들이 같은 이웃이라고 판단할 수 있는데 이 부분이 어렵다

    ➡️ 따라서 데이터를 학습시킴으로써 모델기반 협업필터링이 이 부분을 커버 가능하다는 것!

모델기반 협업필터링 종류

  • Association Rule Mining
  • [대표] Matrix Factorization
    • SVD(Singular Value Decomposition), ALS(Alterning Least Square)
  • Probabilistic Models
    • Clustering, Bayes Rules
  • Etc.
    • SVM, Regression methods(Logistic regression), Deep Learning

Sparse Matrix에서 Dense Matrix로 가는 과정임

  • 주어진 데이터 이용해 비어있는 공간에 하나씩 채워나가는 것이 모델기반 협업필터링의 매우 중요한 특징! (Matrix Completion)

0개의 댓글