What to Code
https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a68bc22a-2403-4d13-bdc8-156189d5e542/4factorization_machines.pdf
- SVM과 MF 모델의 장점을 합친 모델이다.
- 그렇다고 SVM의 idea를 많이 차용했다는 느낌은 못 받았다. 오히려 다항회귀를 시도했고 다항회귀가 SVM과 맞닿아 있어서 SVM을 엮은 느낌이다.
- NN이 나오기 전에 SVM이 이 분야의 대세라 언급한 것일 수도 있겠다는 생각이 들었다.
- MF의 일반화 시도인 것은 알겠다. tag정보가 있으면 그냥 MF모델보다는 다양한 context를 잡아낼 수 있을 것 같다.
- 이 논문정도로는 오히려 Noise가 생길 수 있을 것 같고 후속 논문들 Deep FM, Interaction Aware FM을 이용해야 좋은 성능을 낼 것 같다.
- 덕분에 tag가 HashTag만을 말하는 게 아님을 알았다.
1. Introduction
- SVM은 Sparse Data를 잘 모델링 못한다.
- Factorization 모델은 specific task, data 밖에 다루지 못한다.
- Factorization 의 dense parametrization 아이디어를 SVM과 연결해서 모델을 제시한다.
- SVM보다 좋은 점은 3가지이다.
- Sparse Data를 잘 모델링 할 수 있다.
- Linear Complexity
- 당시 기준 다른 모델보다 성능이 좋다.
2. Prediction Under Sparsity
- 일반적인 MF는 (User, Movie, Ratings) 같은 데이터 밖에 사용할 수 없었다면 FM은 더 풍부한 데이터를 다룰 수 있다.
- A, B, C, ...(유저 column 각각) , TI, NH, SW, ST, ..., (Other Movies Rated), Time, Last Movie Rated 하나 하나가 Feature이다.
$$
x^{(1)}_1 :A, \space x^{(1)}_2 :B, \space x^{(1)}_5 : TI(Titanic)
$$