본문 바로가기

Dev/AI 인공지능

[RecSys] 협업 필터링 | Collaborative Filtering | User-based CF | Item-based CF | deviation

728x90
반응형

협업 필터링 (CF, Collaborative Filtering)

많은 유저들로부터 얻은 기호 정보를 이용해 유저의 관심사를 자동으로 예측하는 방법 (Collborative: 집단적 협업, 다수의 의견 활용) → 많은 유저/ 아이템 데이터가 축적될수록 추천이 정확해질 것이라 가정

 

협업 필터링의 목적과 원리

  1. 주어진 데이터를 활용해 user-item 행렬을 생성
  2. 유사도 기준을 정하고, 유저 혹은 아이템 간의 유사도 계산 (user-based vs item-based)
  3. 주어진 평점과 유사도를 활용하여, 행렬의 비어있는 값(평점)을 예측

 

협업 필터링의 분류에 따른 모델

CF 분류 Neighboorhood CF
(Memory-based CF)
Model-based CF
대표 모델 User-based
Item-based
Non-parametric (KNN, SVD)
Matrix-Factorization
Deep Learning

 

 

Neighborhood-based CF (Memory-based CF)

  • 대표적인 모델: User-based CF, Item-based CF
  • 장점: 구현이 간단하고 이해하기 쉽다
  • 단점
    • 희소성 (Sparsity): 주어진 평점 및 선호도 데이터가 적어 유저—아이템 행렬이 비어있을 경우, 성능이 저하된다 (적어도 sparsity ratio가 99.5%를 넘지 않아야 함)
    • 확장성 (Scalability): 아이템이나 유저가 계속 늘어날 경우 확장성이 떨어진다 (Model based CF에서는 MF를 사용하여 해결하였음)

 

User-based CF (UBCF)

  • 유저 간 유사도를 구한 뒤, 타겟 유저와 유사도가 높은 유저들이 선호하는 아이템을 추천 → 두 유저가 얼마나 유사한 아이템을 선호하는가?

Absolute Rating

  • Average: 다른 유저들의 특정 아이템에 대한 rating 평균을 냄
  • Weighted Average: 유저 간의 유사도 값을 가중치(weight)로 사용하여 rating의 평균을 냄
  • Absolute Rating은 각 유저의 평가 편차를 반영하지 못함 → 따라서 개별 유저의 평균 평점을 빼서 편차(deviation)값을 반영하는 Relative Rating이 고안됨

Relative Rating

  • Relative Weighted Average: 모든 평점 데이터를 deviation 값으로 바꾼 뒤, Weighted Average 값을 수행. 그리고 Absolute Rating — Average를 수행한 값에 더해주도록 함

 

Item-based CF (IBCF)

  • 아이템 간 유사도를 구한 뒤, 타겟 아이템과 유사도가 높은 아이템 중 선호도가 큰 아이템을 추천 → 두 아이템이 유저들로부터 얼마나 유사한 평점을 받았는가?

 

 

 

Top-N Recommendation

협업 필터링(CF)을 통서 유저—아이템 행렬을 모두 채웠다면, 평점(score)이 높은 순으로 정렬하여 상위 N개만 뽑아서 유저에게 추천

728x90
반응형