6. Neighborhood-Based Collaborative Filtering

2023. 11. 29. 14:30NAVER AI Tech/Recommen System

협업 필터링(Collaborative Filtering CF)

- 많은 유저들로부터 얻은 기호정보를 이용해 유저의 관심사를 자동으로 예측하는 방법

- 최종 목적 : 유저 u가 아이템 i에 부여할 평점을 예측하는 것.

 

사용 방법

1. 주어진 데이터를 활용하여 유저-아이템 행렬을 생성한다.

2. 이때 모든 유저가 모든 아이템에 대해 평점을 측정하지 않았으므로 많은 빈칸이 존재한다.

3. 목적은 해당 빈칸을 맞추는 것. 

4. 유저간(u,v)의 유사도를 측정 / 아이템간(i,j) 유사도를 측정

5. 유사한 유저(u)가 아이템 i에 부여한 평점과, 유저(u,v)간의 유사도를 바탕으로 유저 v가 아이템 i에 부여할 평점 예측 

or

5. 유사한 아이템(i)가 유저 u로부터 받은 평점과, 아이템(i,j)간의 유사도를 바탕으로 아이템 j가 유저 u에게 받을 평점 예측

 

아이템이 가진 속성을 사용하지 않으면서도 높은 추천 성능을 보임.

 

현업에서는 유저기반 CF와 아이템기반 CF 앙상블 결과를 사용한다.

- 이를 이웃 기반 협업 필터링(NBCF Neighborhood-Based CF)라고 한다.

 

NBCF : 구현이 간단하고 이해가 쉽다.

- 하지만 아이템이나 유저가 계속 늘어날 경우 확장성이 떨어진다.(Scalability)

- 또한 주어진 데이터가 적을 경우, 성능이 좋지 않다.(Sparsity)

- 적어도 sparsity ratio가 99.5%가 넘지 않아야 함.