앞서 배운 MF 등의 모델들은 개별 유저와 아이템 간 상호작용을 2차원 행렬로 표현
컨텍스트 기반 추천시스템
: 유저와 아이템 간 상호작용 정보 뿐 아니라, 맥락(context)적 정보도 함꼐 반영하는 추천 시스템
Factorization Machine(FM) 등장 배경
--> 두 모델의 장점을 결합
- Factorization Term에서 학습 파라미터
평점 데이터 = {(유저1, 영화2, 5점), (유저3, 영화1, 4점), ...}
위의 평점 데이터를 일반적인 입력 데이터로 바꾸면, 입력 값의 차원이 전체 유저와 아이템 수만큼 증가함.
FM을 활용한 평점 예측 예시)
: 유저 A의 영화 ST에 대한 평점을 어떻게 예측할까?
: 유저 B, C의 영화 ST에 대한 평점 데이터를 통해 학습됨.
: 유저 B, C가 유저 A와 공유하는 영화 SW의 평점 데이터를 통해 학습됨.
FM은 예측 문제에 두루 적용 가능한 모델로, 특히 Sparse 데이터로 구성된 CTR 예측에서 좋은 성능을 보임
FFM은 FM을 발전시킨 모델로서 PITF 모델에서 아이디어를 얻음
-> 이를 일반화하여 여러 개의 필드에 대해서 Latent Factor를 정의한 것이 FFM
(사용자가 정의하는 개수만큼 늘려서 Latent Factor를 정의)
입력 변수를 필드(field)로 나누어, 필드별로 서로 다른 Latent Factor를 가지도록 Factorize 함.
field는 모델을 설계할 때 함꼐 정의되며, 같은 의미를 갖는 변수들의 집합으로 설정함
-> CTR 예측에 사용되는 피쳐는 이보다 훨씬 다양한데, 피쳐의 개수만큼 필드를 정의하여 사용할 수 있음.
FM | FFM |
---|---|
- 필드가 존재하지 않음 | - 각각의 feature를 필드 P, A, G로 정의 |
- 하나의 변수에 대해 Factorization 차원 ()만큼의 파라미터를 학습 | - 하나의 변수에 대해 필드 개수()와 Factorization 차원()의 곱(=)만큼의 파라미터를 학습 |
(: Linear Term, factorization term | (: Linear Term, factorization term) |
ex) discretize: field{age}
<=20 | 20~30 | 30~40 | >40 |
---|---|---|---|
0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 |
0 | 0 | 0 | 1 |
GBM: CTR 예측을 통해 개인화된(personalized) 추천시스템을 만들 수 있는 또 다른 대표적인 모델
: 통계학적 관점에서, Gradient Boosting은 잔차(residual, 실제 값과 예측 값의 차이)를 적합(fitting)하는 것으로 이해할 수 있음.
A모델
B모델
Idea: 를 zero-mean Gaussian으로 초기화함으로써, hidden representation의 mask or attention mechanism으로 해석될 수 있음. 만약 context가 의미가 없다면 (