Collaborative Filtering

  • 사용자와 아이템 간의 상호 상관 관계를 분석하여
    새로운 새로운 사용자-아이템 관계를 찾는 추천 시스템
  • A와 B가 유사한 그룹으로 묶일 경우 A가 구매하지 않은 아이템 중 B가 선호하는 아이템을 추천

Memory-based CF

  • 근접 이웃 방법
  • 아이템 또는 사용자 간의 관계를 계산에 중점으로 두는 방식
  • 사용자가 아직 평가하지 않은 아이템을 예측하기 위함

Item-based CF

  • 동일한 사용자의 이웃 아이템 점수를 기반으로 아이템에 대한 사용자의 선호도평가
  • 이미 평가했거나 상호작용한 사용자를 대상으로 하는 아이템과 유사한 아이템을 탐색

User-based CF

  • 새로운 아이템을 평가할 때, 유사한 아이템에 대해 비슷한 점수를 매긴
    다른 사용자들을 찾고, 해당 사용자가 상호 사용한 적 없는 아이템에 대한 사용자 점수를 예측

Model-based CF

  • 사용자-아이템의 숨겨진 특성 값을 계산하여 학습
  • 확장성과 예측 속도가 빠르지만, 예측 정확도가 떨어질 수 있음
  • Latent Factor Models, MDP, Decision Tree, Bayesian Network 등

Latent Factor Model

  • 점수 패턴에서 추론된 20-100개의 벡터로 아이템들과 사용자들을 모두 특성화하여 점수를 설명
  • Matrix를 사용자-잠재요인, 아이템-잠재요인으로 각각 분해하여 학습
  • 행렬분해(Matrix Factorization) 방법 등
  • 데이터가 클수록 나타나는 성능이 좋음

평가 지표

  • 상관계수
  • 코사인 유사도
  • 타니모토 계수

협업 필터링 한계점

  • Cold Start Problem: 기존의 경험이 없는 사용자나 아이템에 대한 추천이 어려움
  • Long Tail: 사용자들의 관심을 많이 받은 소수의 아이템에 집중되는 비대칭적 쏠림 현상 발생
  • 계산량이 많은 알고리즘이기 때문에, 사용자가 증가할수록 계산 시간이 길어져 효율성 저하

References