2022. 3. 13. 15:39ㆍAI/Machine learning
- 목차
collaborative filtering에 사용되는 techniques
1) fully-connected neural networks
Matrix factorization 접근법
item W X Y Z
W X Y Z A 1.2 0.8 1.5 1.2 1.0 0.8
user A 4.5 2.0 B 1.4 0.9 1.7 0.6 1.1 0.4
B 4.0 3.5 = C 1.5 1.0 X
C 5.0 2.0 C 1.2 0.8
D 3.5 4.0 1.0
Rating matrix User matrix Item matrix
(5번 만점)
user-item matrix에서 user matrix와 item matrix를 추출해야 함
matrix 추출 방법
1. Neural network 사용
사용자들과 item들의 representations을 neural network를 사용해 학습해야 함
(representatiopns = embeddings)
물론 처음 값은 random initialization
2. user-item interactions
user u와 item x의 embeddings를 쌓아 single vector를 획득
기존에 아는 matrix 값이 나오도록 neural network을 학습
이후 back propagation을 통해 parameter들이 tuning 됨
embeddings 값도 tuning 됨
결과적으로 ratings 값에 대해 예측 가능하게 됨
아래에서 사용자 A에 대한 item X의 interactions (A,X)를 예측하려면,
[1.2, 0.8, 1.2, 0.6]을 neural network에 먹여 4.5가 나오게 학습
|
| v
v
item W X Y Z
W X Y Z A 1.2 0.8 1.5 1.2 1.0 0.8
user A 4.5 2.0 B 1.4 0.9 1.7 0.6 1.1 0.4
B 4.0 3.5 = C 1.5 1.0 X
C 5.0 2.0 C 1.2 0.8
D 3.5 4.0 1.0
Rating matrix User matrix Item matrix
cost를 정의하고 (즉, cost function 정의)
이를 최소화 하는 방향으로 역전파 하여 weight, bias 등의 parameter를 학습
loss function으로 MSE를 많이 사용
만약 결과가 (output)이 0, 1 binary이 경우 (즉, 분류인 경우)
classification에 쓰이는 cross entropy를 cost function으로 사용
user matrix에서
행은 사용자들에 대한 embedding
열은 item에 대한 정보
'AI > Machine learning' 카테고리의 다른 글
CF model with visual information (0) | 2022.03.27 |
---|---|
언어모델 (0) | 2022.03.13 |
검색 vs. 추천 (0) | 2022.03.13 |
Content based filtering, collaborative filtering (0) | 2022.03.13 |
정규화 (0) | 2022.03.12 |