협업 필터링은 사용자의 취향 정보들을(구매 패턴, 평점, ...) 이용하여 다른 사람들의 구매 패턴, 평점을 예측하는 기술로 추가적인 사용자의 개인정보나 아이템의 정보가 없이도 추천할 수 있는 장점을 가지고 있다.
Neighborhood based Collaborative Filtering은 메모리 기반 알고리즘으로 협업 필터링을 위해 개발된 초기 알고리즘으로 사용자-아이템 행렬(user-item matrix)에서 사용자가 아직 평가하지 않은 아이템을 예측하는 것을 목표로 한다.
알고리즘
User-based collaborative filtering
사용자의 구매 패턴(평점)과 유사한 사용자를 찾아서 추천 리스트 생성
Item-based collaborative filtering
특정 사용자가 준 점수간의 유사한 상품을 찾아서 추천 리스트 생성
Example)
데이터(Explicit Feedback)
사용자(user)가 자신의 선호도를 직접적으로 표현한 데이터

User Based Collaborative Filtering

위 데이터셋에서 user1과 user2의 item1에 대한 평점이 다른 사용자들에 비해 상대적으로 높은 것을 볼 수 있다. 이때 이러한 편차의 발생 이유를 알기 위하여 user3과 이 두 사용자 간의 편차(bias)를 제거할 필요가 있다.
$\hat{\gamma_{31}}=\frac{7\times0.894+6\times0.939}{0.894+0.939}=6.49$