이웃 기반 협업 필터링은 협업 필터링의 가장 초기 알고리즘으로 비슷한 이용자들이 평점을 주는 방식에 비슷한 패턴을 보이고 비슷한 아이템에는 유사한 평점을 주는 사실을 기반으로 한다.
이웃 기반 알고리즘은 크게 사용자 기반 협업 필터링, 아이템 기반 협업 필터링이 있다.
1. 사용자 기반 협업 필터링: 타깃 유저의 추천 제공을 위해 유사한 유저들의 평점을 이용, 평점에 대한 가중 평균으로 산정
2. 아이템 기반 협업 필터링: 타깃 아이템에 대한 추천을 만들기 위해 유사한 아이템의 집합을 생성, 특정 사용자의 아이템과 생성한 아이템 집합의 가중 평균을 통해 평점 예측
사용자 기반 협업 필터링과 아이템 기반 협업 필터링 알고리즘의 중요한 차이점은 사용자 기반의 평점은 이웃 사용자 평점을 활용해 사용자들 간의 유사도를 통해 예측하고 아이템 기반의 평점은 사용자가 평가한 평점 중 가장 비슷한 아이템, 아이템 간의 유사도를 통해 평점을 결정하는 것이다.
이웃 기반 협업 필터링 알고리즘은 다음 두 가지 중 하나의 방법으로 계산된다.
1. 유저-아이템 조합의 평점 값 예측
2. 상위-k 아이템 혹은 상위-k 사용자 결정
이웃 기반 방법론의 평점 예측
이웃 기반 방법론의 기본 아이디어는 평점 행렬을 통해 추천을 진행하기 위해 사용자-사용자 유사도를 이요하거나 상품-상품 유사도를 이용하는 것이다.
이웃 기반 모델에는 두가지 기본 원칙이 쓰인다.
1. 이웃 기반 모델: 유사한 사용자들은 같은 상품에 대해 비슷한 평점을 준다.
2. 아이템 기반 모델: 유사한 상품은 동일한 사용자에게 비슷한 방식으로 평점이 매겨진다.
협업 필터링 문제는 분류나 회귀 모델링 문제의 일반화로 볼수 있기 때문에 이웃 기반 방법론도 머신러닝 학문에서는 가까운 이웃 분류 모델의 일반화 버전으로 볼 수 있다.
가장 근접한 이웃은 행의 유사도 만을 가지고 결정하는 분류와는 다르게, 협업 필터링에서는 행 또는 열을 기반으로 최근접 이웃을 찾는 것이 가능하다.
사용자 기반 이웃 모델
평점 예측이 계산되는 타깃 유저와 유사한 사용자를 찾기 위해 정의된다.
타깃 유저 i의 이웃을 찾기 위해 다른 모든 사용자와의 유사도가 계산된다. 사용자가 평가한 평점 간의 유사도 함수가 정의돼야 한다,
m 사용자와 n 상품의 m X n 평점 행렬 R = [r uj]에서 Iu는 평점이 사용자 u에 의해 지정된 상품 색인 세트를 말한다.
ex) 사용자의 1, 3, 5 상품의 평점이 지정되고 나머지가 결측 값인 경우 Iu = {1, 3, 5}라 표현
사용자 u와 v간의 평점 벡터 간의 유사도 Sim(u, v)를 알아내는 방법중 한가지는 피어슨 상관계수이다.
Iu 교집합 Iv가 사용자 u와 v가 명시한 평점을 가진 아이템의 집합을 표현하기 때문에 계수는 이 집합에서만 계산된다.
피어슨 상관계수의 전통적 정의는 사용자 u와 v 모두가 평점을 매긴 아이템에 대해서만 계산되어야 한다. 하지만 사용자 u와 v의 행간의 상관계수는 각 사용자 u에 대해 Uu를 한 번만 계산하며 계산적으로 더 간단하기에 일반적으로 사용된다.
계산에서 평점에 각기 다른 스케일이 부여되어 있을 수 있기 때문에 행에 대해 평균을 중심으로 재배열 한다.
suj = ruj - Uu
예측 뒤에 타깃 사용자의 평균 평점이 더해져 평점 예측이 이루어 진다.
아이템 기반 이웃 모델
'Recommender Systems' 카테고리의 다른 글
추천 시스템 책 소개 (0) | 2022.06.04 |
---|