3. 평점 정규화

3장에서는 사용자마다 서로 다른 평점 성향을 조정하는 방법인 평점 정규화(Rating Normalization)에 대하여 살펴봅니다. 사용자가 아이템에 매기는 평점은 사용자와 아이템 사이에서 이루어진 관계와 특성으로 사용자가 어떤 기준과 성향에 따라 평점을 매기는지에 따라 달라집니다.

어떤 사용자는 대부분 아이템에 다른 이보다 더 후하게 평점을 매기는 반면에, 어떤 사용자는 까다로운 평가 기준을 가지고 있어 모든 아이템에 평점을 인색하게 매길 수 있습니다. 또한, 사용자의 성향에 따라 어떤 사용자의 평점 기준이 같더라도 자신이 선호하는 아이템들에는 특히 높은 평점을 매기는 경우 등 사용자가 아이템마다 매긴 평점들은 사용자마다 성향이 두드러지게 나타나는 경우도 있습니다.

이번 장에서는 평점 정규화는 사용자마다 서로 다른 평점 기준과 아이템에 대한 선호에 따른 평점의 차이를 조정하는 방법에 대하여 살펴봅니다. 여기에서는 평점 정규화에 관련된 모든 내용을 자세히 다루지는 않습니다. 대신 평점 정규화를 위해 필요한 기본적인 개념과 방법들을 살펴봅니다. 또한, 예제 데이터를 사용하여 실제로 평점 정규화가 이루어지는 일련의 과정들을 단계별로 직접 계산해 보고 미리 구현된 Apache Spark와 R 예제 프로그램으로 데이터셋들을 직접 읽어 들여 직접 계산해본 과정과 결과가 맞는지 한번 더 확인해 볼 것입니다.

  • 정규화와 피처 스케일링

  • 정규화와 반정규화

  • 전체 평점 대상의 평점 정규화

  • 사용자 또는 아이템 기준 평점 정규화

이번 장을 학습하면 여러분은 다음을 계산할 수 있어야 합니다.

  • 평균 중심화(Mean Centering)

  • Z점수화(Z-Score)

  • 최소-최대화(Min-Max)

  • 소수 스케일링(Decimal Scaling)

  • 이진 임계화(Binary Thresholding)

이번 장에서 다루는 내용은 아래와 같습니다.

  • 3.1 "평점의 정규화와 이진화"에서는 평점 정규화와 이진화에 대한 개념을 개략적으로 살펴봅니다.
  • 3.2 "평균 중심화"에서는 평점에서 평점의 평균을 뺀 값으로 변환하여 정규화하는 방법에 대해 살펴봅니다.
  • 3.3 "Z점수화"에서는 평점이 전체 평점 평균에서 얼마나 떨어져 있는지를 나타내는 통계량인 Z점수 값으로 변환하여 정규화하는 방법에 대해 살펴봅니다.
  • 3.4 "최소-최대화"에서는 평점의 최솟값과 최댓값을 가지고 새로운 최댓값과 최솟값 사이의 값으로 변환하여 정규화하는 방법에 대해 살펴봅니다.
  • 3.5 "소수 스케일링"에서는 전체 평점의 소수점을 이동시켜 1보다 작고 -1보다 큰 소수로 변환하여 정규화하는 방법에 대해 살펴봅니다.
  • 3.6 "이진 임계화"에서는 평점 임계 값을 기준으로 평점을 이진 값으로 변환하여 정규화하는 방법에 대해 살펴봅니다.

이번 장에서 사용하는 표기법은 다음과 같습니다.

  • $r_{ui}$ 사용자 $u$가 아이템 $i$에 매긴 평점 $r_{ui} \in R$

  • $R$ 평점 집합($R'$)

  • $\hat r_{ui}$ 정규화 또는 이진화된 평점

  • $R'$ 정규화 또는 이진화된 평점 집합($\hat r_{ui} \in R'$)

  • ${I_u}$ 사용자 $u$가 평가한 아이템 집합

  • ${U_i}$ 아이템 $i$를 평가한 사용자 집합

  • $\bar r$ 평점 집합 $R$의 평점 평균

  • $\sigma $ 평점 집합 $R$의 표준편차

  • $r_{\min }$과 ${r_{\max }}$ 평점 집합 $R$의 최솟값과 최댓값

  • ${r_{new_\min }}$과 ${r_{new_\max }}$ 평점 집합 $R'$의 새로운 최솟값과 최댓값

  • $j$ $\max \left| {R'} \right| < 1$ 이 성립되는 가장 가까운 정수

  • $\gamma $ 임곗값

한글:1033 영어:210 숫자:41

추천 시스템: 워크북

Comments

Do you have a problem, want to share feedback, or discuss further ideas? Feel free to leave a comment here! Please follow Rust's code of conduct. This comment thread directly maps to a discussion on GitHub, so you can also comment there if you prefer.

Instead of authenticating the giscus application, you can also comment directly on GitHub.