[RecSys] Neighborhood-based CF

mincheol2·2022년 3월 12일
0

RecSys

목록 보기
7/23

이 글은 부스트캠프 AI Tech 3기 강의를 듣고 정리한 글입니다.

Neighnorhood-based CF

Neighnorhood-based CF 이웃 기반 협업 필터링은 가장 초기 CF모델로

  • User-based CF
  • Item-based CF

두개가 있다.

두 CF는 같은방식으로 추천을 하지만 User-Item Matrix 에서 계산 기준을 행(user)으로 할지 열(Item)로 할지에 따라 결정된다.

최종 목적은 유저 u가 아이템 i에 부여할 평점 ruir_{ui}를 예측하는 것이다.

NBCF의 특징은 다음과 같다.

  • 구현이 쉽고 직관적으로 이해하기 쉽다.
  • Scalability : 아이템이나 유저가 계속 늘어날 경우 확장성이 떨어진다.
  • Sparsity : 주어진 평점 데이터가 적을 경우 성능이 저하된다.

특히 Sparsity의 경우 User-Item matrix 을 이용한 CF의 고질적 문제이다.
우리는 주어진 데이터를 이용해 user-item matrix를 만들게 되는데 이때 실제 행렬 대부분의 원소는 비어있다.(sparse matrix;희소행렬)

예를 들어 실제로 유저는 수만개의 영화를 모두 볼 수 없고, 수만개 중 몇 개만 보기 떄문에 user u는 item 들중 몇개에 평점만 매길 것이다. 그렇기 때문에 실제 user-item matrix을 만들게 되면 평점의 99%는 비어있게 된다.

NBCF를 적용하려면 sparsity ratio 는 99.5%를 넘지 않는 것이 좋다.
그 이상이라면 MF 같은 model-based CF를 사용해야한다.

Scalability와 Sparsity는 NBCF만의 문제는 아니라 추천시스템 자체의 문제이기도 하다.

그렇기 때문에 이후에 나온 CF모델들은 이를 해결하는 것과 성능의 개선 관점으로 탄생하게 된다.



User-based CF (UBCF)

UBCF는 두 유저가 얼마나 유사한 아이템을 선호하는가에 대한 관점으로 접근한다.
유저간의 유사도를 구한 뒤, 타겟 유저와 유사도가 높은 유저들이 선호하는 아이템을 추천한다.

수식적인 계산보다 직관적으로 이해해보자

직관적으로 봤을 때 User B는 User A와 가장 유사하다.(비슷한 취향을 가진다)
따라서 User B는 스타워즈 또한 높은 평점을 매길 것으로 예측된다.


Item-based CF (IBCF)

IBCF는 UBCF와 반대로 두 아이템이 유저들로부터 얼마나 유사하게 평점을 받았는지 관점으로 접근한다.
아이템간 유사도를 구한 뒤 타겟 아이템과 유사도가 가장 높은 아이템중 선호도가 큰 아이템을 추천한다.

이것도 직관적으로 이해해보자

스타워즈는 비포선라이즈,노팅힐 보다 아이언맨, 헐크와 유사도가 높다.
따라서 User B의 스타워즈 평점은 아이언맨, 헐크와 비슷하게 높을 것으로 예측된다.

profile
옹오옹오오오옹ㅇㅇ

0개의 댓글