Structured Deep Factorization Machine : Towards General-Purpose Architectures
Under review as a conference paper at ICLR 2018
요약자의 주관이 심하게 개입되어 있거나 오독한 부분이 있을 수 있고, 추후 오류가 발견되어도 귀찮으면 수정하지 않으니 싫으면 원문을 읽을것. This document comes with absolutely no warranty
일단 이건 소스가 있다. 현업이 내용같은건 알아서 뭐하나. 소스를 향해 빠르고 정확하게 달려나가자.
FM으로 하면 text처리할 때 곤란하니 그런것들에도 쓸 수 있게 일반적으로 확장해 보겠다. Main idea는 ‘FM할 때 모든 element들의 interaction을 보는데, 그걸 grouping해보겠다’. Grouping idea만 들으면 마치, 서로 연관있는 것들끼리만 interaction을 보고(=submodule에만 FM을 돌린 후) 추상화한 뒤, 맨 나중에 그것들을 모아서 fully connected net에 넣든 어디에 넣든 regression/classification을 할 줄 알았는데,[1]희한하게도 같은 group 안에 있으면 interaction을 주지 않는식으로 했다.
Rendle (2010) shows that when the feature vector \(\mathbb x\) consists only of two categorical features in one-hot encoding, Factorization Machine is equivalent to the popular Matrix Factorization algorithm (Koren et al., 2009). 이렇다는데 이것도 읽어봐야 겠다고 생각은 한다. [2]
저자들이 생각하는 FM의 단점은 두가지. ① Strong parameter sharing. 그러니까 ‘좀 더 느슨하게 엮어도 될것 같다’는 것과, ② Intractable for large feature sets. 차원이 커지면 곤란해진다는 것. [3]
그래서 자신들이 제안하는 것은, $$ \hat y (\mathbf{x; b, β, \kappa}) = ω \left( b_0 + \sum_{i=1}^n b_i x_i + \sum_{i=1}^{|\kappa|} \sum_{j=i}^{|\kappa|} λ^s(\mathbf{x; β, \kappa_i, \kappa_j}) \right) \\ λ^s(\mathbf{x; β, I, J}) \triangleq \sum_{i\in I} \sum_{j \in J} x_i\beta_i\cdot x_i\beta_j $$ \(\kappa\)는 각 그룹 하나를 나타낸다. 예를들어, 4개의 feature를 가진 모델에서, \(\kappa = \{\{1,2\}, \{3,4\}\}\)로 정의하면, feature \(x_1\)은 feature \(x_3\), \(x_4\)와 interaction을 가지게 된다. 같은그룹에 속한 \(x_2\)하고 가지는게 아니다.
세가지 유형으로 나누어보았다. : deep-out, deep-in, neural
deep-out
$$ω \left( b_0 + \sum_{i=1}^n b_i x_i + \color{red}{\psi\Big( }\sum_{i=1}^{|\kappa|} \sum_{j=i}^{|\kappa|} \color{red}{w_{i,j}} λ^s(\mathbf{x; β, \kappa_i, \kappa_j})\color{red}{\Big) }\right)$$
deep-in
neural
- ↑ 생각해보니 이건 또 말이 안되는게, FM의 label로 뭘 줄지가 애매하다. Backpropagation등으로 학습할 때마다 다르게 주려면 비용이 너무 크다
- ↑ Yehuda Koren, Robert Bell, and Chris Volinsky. Matrix Factorization Techniques for Recommender Systems. Computer, 42(8):30–37, August 2009. ISSN 0018-9162. URL http://dx.doi.org/10.1109/MC.2009.263.
- ↑ 이건 그런데 단점으로 보기 조금 그런게, 모든 method공통으로 가지는 특징인데다 다른 method들에 비하면 FM은 아주 훌륭하게(\(\approx\)상대적으로 가볍고 빠르게) 처리한다.