본문 바로가기
Study/Coursera

[Recommend] Content-based filtering

by _YUJIN_ 2023. 5. 6.
목표
추천시스템 알고리즘 중에서 컨텐트 기반 필터링에 대해서 알아보고자 한다.

1. Collaborative filtering vs. Content-based filtering

1-1. Content-based filtering

Recommend items to you based on raings of users who gave similar ratings as you

아이템에 비슷한 점수를 준 사용자를 기반으로 항목을 추천하는 알고리즘

1-2. Collaborative filtering

Recommend items to ypu based on features of user and item to find goog match

사용자의 특징과 아이템 특징을 기반으로 항목을 추천하는 알고리즘

2. Content-based filtering

$r(i,j)$ : 사용자 j가 아이템 i를 평가했을 경우를 의미한다.  

$y^{(i,j)}$ : 사용자 j가 아이템 i를 평가한 점수를 의미한다.

 

사용자와 아이템 특징으로는 여러가지가 있을 수 있다. 

먼저, 사용자 특징으로는 Age, Gender(one-hot), Country(one-hot), Movies watched ...등이 있을 수 있고, $X_{u}^{j}$로 표시가 된다. 

그리고 아이템(영화) 특징으로는 Year, Gener, Reviews, Average rating등이 있을 수 있고, $X_{m}^{i}$로 표시가 된다.

사용자 특징과 아이템 특징 벡터의 사이즈는 다를 수 있다.

Learning to match

predict rating of user $j$ on movie $i$ as $W^{(j)} * X^{(i)}+b^{(j)}$

$V_{u}^{(j)}$ : $X_{u}^{(j)}$로 계산된 사용자 j를 설명하는 벡터 값.

$V_{m}^{(i)}$ : $X_{m}^{(i)}$로 계산된 아이템 i를 설명하는 벡터 값. 

$V_{u}$ 와 $V_{m}$는 dot product를 해야하기 때문에 두 벡터의 크기는 동일해야한다.

 

3. State-of-the-art content-based filtering algorithms

3-1. Neural network architecture

  • $X_{u}$, $X_{m}$ 은 사용자와 아이템(영화)에 대한 특징들의 데이터를 의미한다.
  • $V_{u}$, $V_{m}$ 은 여러 레이어들을 거쳐서 예측된 특징 벡터를 의미한다. 
  • user network와 movie network의 hidden layer unit 개수는 달라도 되지만, 벡터의 길이를 나타내는 output layer의 unit 개수는 같아야 한다. 
  • Sigmoid를 통해 $y^{(i,j)}$가 1일 확률을 예측할 수 있다.

  • Cost function은 사용자 벡터$V_{u}$와 아이템(영화) 벡터 $V_{m}$ 내적하여 예측된 값에 실제 평가된 값$y^{(i,j)}$을 뺀 후, 제곱을 취해주는 방식으로 구해진다.
  • squared error 방식이기 때문에, 값이 작을 수록 오차가 적고 추측한 값의 정확도 높다고 해석할 수 있다.

 

반응형