1. Introduction

Neighborhood based collaborative filtering 알고리즘은 다른 말로 memory-based algorithm이라고도 불린다. 이 알고리즘은 비슷한 유저는 특정 아이템에 비슷한 평점을 준다는 아이디어에 기반한다. 이런 Neighborhood based collaborative filtering에는 두 가지 타입이 존재한다.

1.1 User-based collaborativefiltering

유저 A와 비슷한 유저들의 평점이, 유저 A 추천에 사용되는 경우다. 유저 A의 각 아이템 예측 평점은 유저 A가 속하는 동료 집단(peer)의 평점으로 계산된다.

- 평점을 예측할 때 이웃 유저를 이용해서 예측(이웃 유저 = 비슷한 유저 = 평점 행렬의 행)

1.2 Item-based collaborative filtering

대상 Item B에 대한 추천 리스트를 만들기 위해 첫 번째 단계는 Item B와 가장 유사한 Item의 집합 S를 결정하는 것이다. UserA의 등급을 예측하기 위해 Item B에서 A가 평가한 집합 S의 등급을 가지고 결정하는 것이고, 등급의 가중 평균은 Item B에 대한 User A의 예상 등급을 계산하는 데 사용된다.

User-based vs Item based

User-based는 등급이 User 근처 이웃의 등급 레이팅을 사용하여 예측하는 것이고, Item-based는 아이템 이웃을 활용하는 것이다.

User X Item 평가는 matrix m개의 user 및 n개의 item을 포함하는 불완전한 m x n matrix R이라고 가정

1. Predicting the rating value of a user-item combination : item j에 대한 user u의 누락된 점수인 r 예측

2. Top-k items 또는 Top-k users로 결정


2.2 Key Properties of Ratings Matrices

일반적으로 등급 매트릭스의 item 중 일부만이 지정된다. matrix에 지정된 item -> train, 지정되지 않은 -> test

1) 연속 등급 : 등급을 연속적인 척도로 지정, 단점은 User에게 부담을 준다.

2) 간격기준 등급 : 5점 또는 7점 척도를 주로 사용, 수치가 명시적으로 등급 사이의 거리를 정의하고 등급값이 일반적으로 등거리

3) 서수 등급 : 간격기준과 동일. 다른 점은 범주형 값을 사용할 수 있다. ex) 동의하지 않음, 동의함

4) 이진 등급 : 긍정vs부정 두 가지 옵션만 존재. user가 중립일 경우 종종 평점을 지정하지 않는다.

5) 단항 등급 : user가 item에 대한 긍정적인 선호도를 지정할 수 있게 하지만, 부정적인 선호도를 지정하는 메커니즘은 없음. ex) 페이스북 좋아요 / 단항 등급을 간접적으로 유도하는 것은 암시적 피드백

아이템들 사이의 등급 부포는 실제 long-tail 속성으로 불린다. 해당 속성에 따르면 item 중 아주 작은 부분만 자주 평가된다.(인기 item) 아래 x축은 item의 색인을 빈도 순서대로, y축은 item이 평가된 빈도를 나타내는데 이러한 등급 분포는 추천 프로세스에 중요한 영향을 미친다.

고빈도 item은 판매자에게 거의 이익이 되지 않는, 상대적으로 경쟁력 있는 item일 경향이 있음. 반면에 빈도가 낮은 item은 이윤폭이 더 크다. 판매자는 더 낮은 빈도의 item을 추천하는 것이 유리할 수 있다. 아마존이 긴 꼬리 부분을 팔아서 이익을 얻는 것으로 분석되었다.

긴 꼬리에서 관찰된 등급의 드문 평가 때문에, 강력한 등급 예측을 제공하는 것은 어려움. user는 흔히 인기있는 item과 동일한 권장 사항을 받음으로써 지루해진다. (개인적으로는 좋을 것 같은데)

긴 꼬리 분포 -> user가 자주 평가하는 item의 수가 적음을 의미한다.


2.3 Predicting Ratings with Neighborhood-Based Methods

이웃기반 방법의 기본 아이디어는 User 유사성 또는 아이템 유사성을 사용하여 등급 매트릭스의 추천 리스트를 작성하는 것이다. 유사한 User  또는 유사한 item을 결정할 필요가 있다.

1) User 기반 모델 : 유사한 User가 동일한 Item에 대해 유사한 등급을 가짐.

2) Item 기반 모델 : 유사한 품목은 동일한 User에 의해 유사한 방법으로 평가

협업 필터링 문제는 분류/회귀 모델링 문제의 일반화 -> 이웃기간 방법은 기계학습에서 KNN분류기의 일반화로 볼 수 있다. 

-> 가장 가까운 이웃들이 항상 "Row 기준 유사성"에 기초하여 결정되는 분류기와는 달리, Row 또는 Column을 기준으로 협업 필터링에서 가장 가까운 이웃을 찾을 수 있음.


2.3.1 User-Based Neighborhood Models

User 기반 이웃은 등급 예측을 계산하려고 유사한 User를 식별하기 위해 정의

User i의 이웃을 결정하기 위해, 다른 User들에 대한 유사성 계산 필요. 지정한 등급 사이에 유사도를 정의해야 함.

두 User u와 v의 등급 벡터 사이의 유사성 Sim(w, v)를 포착하는 한 가지 방법은 Pearson 상관 계수

User의 피어 그룹을 정의하는 한 가지 방법은 피어슨 계수가 가장 높은 k명의 User집합을 사용하는 것이다. 주의해야 할 점은 특정 User가 모든 Item을 높게 평가할 수 있지만 다른 User는 모든 Item을 부정적으로 평가할 수 있어, 다른 척도 등급을 제공한다.

내용 보충!


2.3

1.1) Similarity Function Variants

유사도 함수 -> 다른 변형 / 평균 중심 평가가 아닌 원점 평점에서 코사인 함수를 사용

-> raw 코사인 구현은 분모의 정규화를 할 때 모든 Item을 기반으로 함

-> 일반적으로 평균 센터링의 피어슨 상관 계수는 bias 조정 효과 때문에 원래 코사인 값보다 적합함

두 명의 User가 공통적으로 소수의 평가만을 갖는 경우는, User 쌍의 중요성을 덜 강조하기 위해 discount 요소를 줄인다.

1.2) Variants of the Prediction Function

 

1.3) Variants in Filtering Peer Groups

 

1.4) Impact of the Long Tail

 

 

2.3.2 Item-based Neighborhood Models

 

2.3.3 Efficient Implementation and Computational Complexity

 

2.3.4 Comparing User-Based and Item-Based Methods

 

 

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기