Deep Learning/Recommender system

[Recommender System] 협업 필터링(Collaborative Filtering)

언킴 2022. 1. 13. 19:25
반응형

협업 필터링(Collaborative Filtering; CF)은 추천시스템을 배우는 사람의 입장에서는 가장 기본적인 모델 중 하나일 것이다. 협업 필터링 중에서 초기 알고리즘인 이웃 기반 협업 필터링은 크게 두 가지 유형이 존재한다. 

 

1. 사용자 기반 협업 필터링(User-based CF)

사용자 기반 협업 필터링은 사용자에게 추천을 제공해주기 위해 해당 사용자와 유사한 사용자의 평점을 이용하여 아이템을 추천해주는 방법을 말한다.

 

2. 아이템 기반 협업 필터링 (Item-based CF)

아이템 기반 협업 필터링은 아이템에 대한 추천을 만들기 위해 해당 타깃 아이템과 유사한 그룹(A)을 형성한 후 타깃 사용자가 그룹(A)에 대한 평점을 확보하여 이를 기반으로 추천해주는 방법을 말한다. 

 

사용자 기반 CF는 타깃 사용자에게 아이템을 추천해주기 위해 타깃 사용자와 다른 이웃 간 유사도를 계산하여 추천해주고, 아이템 기반 CF는 사용자가 측정한 아이템 간 유사도를 계산하여 추천한다. 서로 유사도를 계산하는 방법이 다르기 때문에 상호보완적인 관계이다.

 

위와 같은 모델을 사용하기 위해서는 사용자와 아이템 간 평점 행렬(rating matrix)가 필요하다. 일반적으로 평점 행렬은 $R$ 이라고 표현하고, $m$ 명의 사용자와 $n$ 개의 아이템을 표현할 때에는 $m \times n$ 행렬이라고 표현한다. 임의의 사용자($u$)가 아이템($i$)에 대한 평점은 $r_{ui}$로 표현하고 $R$은 이러한 $r{ij}$로 구성되어 있다. 

 

평점 행렬의 평점은 연속 평점, 인터벌 평점, 서수 평점, 이진 평점, 단항 평점 등 다양한 평점으로 구성될 수 있다.

  1. 연속 평점 : 연속 평점은 연속형으로 구성되어 있으며, 아이템에 대한 선호를 나타낸다. 하지만 이런 평점은 사용자가 평점을 매길 때 평점 측정에 대한 부담감을 느낄 수 있기 때문에 실제로 자주 사용되고 있진 않다.
  2. 인터벌 평점 : 인터벌 평점은 리커트 척도, 의미분화 척도와 5점 척도 혹은 7점 척도로 홀수로 구성하여 주로 사용된다. 구간을 설정할 때에는 평점 사이의 거리가 동일해야 정확한 결과를 도출해낼 수 있다. 
  3. 서수 평점 : 서수 평점은 인터벌 평점이랑 매우 유사하지만 그 값이 순서가 아닌 문자로 되어있다라는 것이 큰 차이다. 예를 들면 매우 싫음, 싫음, 보통, 좋음, 매우 좋음 과 같은 형태로 구간을 나누어서 하는 것이다. 인터벌 평점과 서수 평점은 만약 짝수로 구성된다면 사용자에게 좋고 싫음을 명확하게 나타내게 만들기 때문에 강제 선택 방법이라고도 부른다.
  4. 이진 평점 : 이진 평점은 좋음, 싫음 딱 두가지 카테고리만 존재하는 것을 일컫는다. 인터별 평점, 서수 평점과 유사한 형태를 띄지만 카테고리가 두 가지 뿐이라는 것이다. 이진 평점이 위에서 언급한 강제 선택 방법의 예라고 할 수 있다. 
  5. 단항 평점 : 단항 평점은 상대적으로 위 평점에 대한 연구보다 조금 더 어렵다고 생각한다. 이 평점 측정 방법은 긍정적인 선호도는 파악할 수 있지만, 평점을 측정하지 않았다고 해서 해당 아이템을 싫어한다는 것을 뜻하는 것은 아니기 때문이다. 주로 implicit data의 경우 단항 평점을 사용한다. 예를 들면 사용자가 해당 제품을 클릭하거나, 구매를 하거나 하는 데이터를 다룰 때 단항 평점을 사용한다.

 

요즘은 Explicit data를 다루는 연구보다는 Implicit data를 다루어 사용자의 만족도를 측정하는 연구가 많이 활발해지고 있는 것 같다.(개인적인 생각) Implicit data는 실제 서비스를 진행하는 경우가 아니라면 사실상 데이터를 다룰 기회가 거의 없다. Explicit data보다 Implicit data는 사용자가 직접 입력을 하지 않더라도 데이터가 생성되기 때문에 더욱 빅데이터에 가까운 데이터라 볼 수 있다.