본 포스팅은 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
- Etc.
- SVM, Regression methods(Logistic regression), Deep Learning
Sparse Matrix에서 Dense Matrix로 가는 과정임
- 주어진 데이터 이용해 비어있는 공간에 하나씩 채워나가는 것이 모델기반 협업필터링의 매우 중요한 특징! (Matrix Completion)