2.3 Predicting Ratings with Neighborhood-Based Methods
- 이웃 기반 방법 기본 아이디어
- 사용자와 사용자 사이의 유사성, 또는 항목과 항목 사이의 유사성을 사용하여 등급 매트릭스에서 추천 항목을 만드는 것입니다.
- 이웃이라는 개념은 우리가 예측을 하기 위해 비슷한 사용자나 비슷한 아이템을 결정해야 한다는 것을 암시합니다.
이웃 기반 모델 기본원칙
- 이웃 기반 모델은 특정 사용자-항목 조합의 등급을 예측하는 데에 아래와 같은 두 가지 기본 원칙이 사용됩니다.
1. 사용자 기반 모델
- 유사한 사용자가 동일한 항목에 대해 비슷한 등급을 가집니다.
- 철수와 영희가 과거에 비슷한 방식으로 영화에 등급을 매겼다면, 영화 A에서 관찰된 철수의 평점을 이용하여 해당 영화에 대한 영희의 관찰되지 않은 평점을 예측할 수 있습니다.
2. item 기반 모델
- 동일한 사용자가 유사한 item을 비슷한 방식으로 평가합니다.
- 공상과학 장르의 영화 A와 B에 대한 철수의 평점은 다른 공상과학 영화 C에 대한 철수의 평점을 예측할 때 사용될 수 있습니다.
→ 협업 필터링 문제는 분류/회귀 모델링 문제의 일반화로 볼 수 있습니다.
→ 따라서 이웃 기반 방법은 최근접 이웃 분류기의 일반화로 볼 수 있습니다.
→ 분류의 경우 항상 Row 유사성만을 기준으로 가장 가까운 이웃을 결정하지만, 협업 필터링의 경우 행 또는 열을 기준으로 가장 가까운 이웃을 찾을 수 있습니다.
→ Chapter 1에서 보았던 그림과 같이 일반적인 분류의 경우 누락 항목이 단일 열에 집중되어 있지만, 협업 필터링의 경우 누락 항목이 행과 열에 분산 되어 있습니다.
2.3.1 User-Based Neighborhood Models
- User-Based Neighborhood Model은 등급 예측을 계산할 때 참조할 User A와 유사한 User i를 식별하기 위해 User-Based Neighborhood가 정의됩니다.
- 대상 User i의 이웃을 결정하기 위해 다른 모든 User와의 유사성이 계산됩니다.
- 이를 위해서 User가 매긴 등급 간의 유사 함수를 정의할 필요가 있습니다.
- 이는 User마다 등급의 척도가 다양할 수 있어서 까다로운 부분입니다.
- User마다 평가를 매기는 방식이 달라 편향될 수도 있습니다.
- 사용자(m) 및 n개 항목(n)이 있는 m x n 형태의 등급 매트릭스를 R=[r_(uj)]로 정의한 경우, I_u가 사용자(행) u에 의해 등급이 지정된 항목 인덱스 집합을 나타내도록 합니다.
- 예시
- 사용자(행) u의 첫 번째, 세 번째 및 다섯 번째 항목(등급)이 평가되어 있고 나머지 항목이 누락되어있다면 I_u = {1,3,5}입니다.
- 마찬가지로 사용자(행) v가 처음 4개 항목만 등급을 매긴 경우, I_v = {1,2,3,4}로 나타낼 수 있습니다.
- 따라서 사용자 u와 v 사용자 모두에 의해 등급이 매겨진 항목이라면 I_u와 I_v의 교집합으로 나타낼 수 있습니다.
- 예시에 따른다면 I_u와 I_v의 교집합은 {1,3}이 될겁니다.
- 일반적으로 등급 매트릭스는 희소한 행렬이기 때문에 사용자 간의 교집합이 빈 집합일 수 있습니다.
- 사용자 간 교집합은 이웃 계산에 대한 u번째 사용자와 v번째 사용자 사이의 유사성을 계산하는 데 사용되는 상호 관찰된 등급을 정의합니다.
- 두 사용자 간의 유사성을 파악하는 한가지 척도는 피어슨 상관계수 입니다.
- 피어슨 상관계수 기초적인 부분
- 피어슨 상관계수 보는 방법
평가 등급 예측 과정
- 평가 등급을 예측하는 과정은 여러가지 단계를 거쳐 진행됩니다.
첫 번째 단계
- 지정된 등급을 사용하여 각 사용자의 평균 평가등급(μ_u)을 계산합니다.
두 번째 단계
- 사용자 행 u와 v 사이의 피어슨 상관계수를 아래와 같이 정의합니다.
- target인 user와 다른 user들 간의 피어슨 상관계수를 계산합니다.
- 사실 피어슨 상관계수를 구하는 식2.2의 경우 다른 사용자에 따라 u의 평균 평가등급이 달라질 수 있습니다.
- 그러나 이번 장에서는 방정식 2.1에서 정의한 평가등급에 따라서 한번만 계산합니다.
- 일반적인 피어슨 상관계수 연산 시에는 각각의 사용자에 따라서 평균 평가등급이 달라집니다.
세 번째 단계
- target인 user와 다른 user들 간의 cosine유사도를 계산합니다.
- target인 user와 유사도가 가장 높은 k개의 user를 선정합니다.
네 번째 단계
- 항목 j에 대한 사용자 u의 평균 중심 등급 s_uj는 원시 등급(기존 user 평가등급) r_uj에서 평균 등급을 빼서 정의합니다.
- 평균 중심 등급을 정의하는 이유는 평점을 주는 경향성이 user마다 다를 수 있기 때문에 이를 보정해주기 위해서 정의합니다.
다섯 번째 단계
- 위의 단계에서 계산한 피어슨 상관계수와 평균 중심 등급을 활용하여 target user가 산정하지 않은 등급을 산정합니다.
- 전체 예측함수는 아래와 같습니다.
평가 등급 예측 과정 예시
- 표 2.1의 예시를 활용하여 평가 등급 예측을 실시하겠습니다.
- 첫 번째부터 세 번째 단계를 거쳐 평균 등급, 코사인 유사도, 피어슨 상관계수를 계산합니다.
- 계산한 결과를 기반으로 상위 2개의 user 1, 2를 찾습니다.
- 네 번째 단계를 거쳐 평균 중심 등급을 계산합니다.
- 기존의 원시 평가 등급 대신 평균 중심 등급을 활용하여 피어슨 가중 평균을 계산할 수 있습니다.
- 평균 중심화 과정은 이미 관측된 등급에 대해 훨씬 더 나은(편향되지 않은) 상대적인 예측을 할 수 있습니다.
- 예측 값의 경우 허용되는 범위에서 가장 가까운 값으로 수정 가능합니다.
'[Rec-Sys]' 카테고리의 다른 글
[ch02] 2.3 Predicting Ratings with Neighborhood-Based Methods(3) (0) | 2021.12.22 |
---|---|
[ch02] 2.3 Predicting Ratings with Neighborhood-Based Methods(2) (0) | 2021.12.14 |
[Ch02] 2.2 Key Properties of Ratings Matrices (0) | 2021.12.02 |
[Ch02] 2.1 Introduction (0) | 2021.12.01 |
[Ch01] 1.5 Advanced Topics and Applications (0) | 2021.11.10 |