Deep Learning/Recommender system

[Recommender System] UBCF vs IBCF

언킴 2022. 2. 8. 10:22
반응형

앞 글에서 이웃 기반 방법론의 수식에 대해서 간략히 설명했다. 이웃 기반 방법론은 사용자 기반 모델, 아이템 기반 모델이 존재하는데 일반적으로 아이템 기반 모델이 성능이 조금 더 좋다고 한다. 왜 그럴까? 총 3가지 이유를 거론할 수 있을 것이다. 

 

1. 시간 복잡도

온라인 쇼핑몰을 보면 실제 사용자 수는 엄청나게 많지만 사용자 수에 비해서 아이템 수는 상대적으로 적은 것이 일반적이다. 우리가 NBCF(Neighbor Based Collaborative Filtering)을 구현할 때를 생각해보자. $n$은 사용자의 수, $m$은 아이템의 수라고 가정하면, 사용자 간의 유사도를 계산하게 되면 사용자($u$)의 이웃의 유사도를 계산하기 위해서는 $n-1$번의 연산이 들어가게 되고, 아이템 간의 유사도를 계산하게 되면 아이템($j$)의 이웃의 유사도를 계산하기 위해서는 $m-1$번의 연산이 들어간다. 한 사용자 및 아이템의 유사도를 계산하는 것이 아니라 모든 경우의 수에 대한 연산이 필요하므로 그 차이는 더욱 벌어질 것이다.

 

2. 신규 유입

협업 필터링의 단점 중 하나라고 꼽을 수 있다. 신규 사용자나 아이템이 유입될 경우 유사도를 새로이 계산해야된다(새롭게 유입된 사용자 및 아이템에 평점이 부여될 경우). 사용자의 경우 자주 유입이 되지만 아이템의 경우 상대적으로 사용자에 비해서 새로운 아이템의 유입이 적다. 만약 사용자 기반 모델을 구현하게 된다면 모델을 자주자주 계산해주어야 되지만 아이템 기반 모델의 경우 급격한 변화가 될 이유가 없기 때문에 유사도 계산은 가끔 이루어져도 된다. 

 

3. 근거

사용자 기반 모델의 경우 사용자($u$)에게 아이템을 추천해줄 때 근거를 제시하기가 어렵다. 개인정보 문제로 인해 사용자($v$)와 유사하기 때문에 해당 아이템을 추천해준다라고 언급할 수가 없다. 하지만 아이템의 경우 사용자($u$)에게 아이템을 추천해줄 때 아이템($i$)를 구매했기 때문에 아이템($j$)를 추천해준다라는 형태로 근거를 제시할 수 있다. 넷플릭스의 경우 영화를 추천해줄 때 위와 같은 방법으로 고객에게 추천해준다. 

 

확장성, 희박성 문제

NBCF는 단순하고, 직관적이므로 자주 사용되는 방법론 중 하나이다. 왜 해당 아이템이 고객에게 추천되었는지 알기 쉽고, 적용하기도 쉽다. 하지만 확장성(Scalability) 문제가 존재한다. 모든 관계를 계산해야되기 때문에 사용자의 수나 아이템의 수가 많을 경우 비효율적이다. 

아이템 기반 모델이 사용자 기반 모델보다 좋다고는 하지만 아직까지 문제점이 존재한다. 또한 희박성(Sparsity) 문제도 존재한다. 예를 들어 아이템($j$)에 부여된 평점이 없을 경우 $j$에 대한 평점 예측은 불가능하다.