목표
추천시스템 알고리즘 중에서 컨텐트 기반 필터링에 대해서 알아보고자 한다.
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 방식이기 때문에, 값이 작을 수록 오차가 적고 추측한 값의 정확도 높다고 해석할 수 있다.
'Study > Coursera' 카테고리의 다른 글
[Coursera] Advanced Learning Algorithms 수료증 취득! (0) | 2023.04.26 |
---|---|
[Coursera] 02_Neural network model (0) | 2023.03.03 |
[Coursera] 01_ Neural networks intuition (0) | 2023.02.17 |
[Coursera] Machine Learning 첫번째 수료증 취득! (0) | 2023.02.12 |