"Neural Factorization Machines for Sparse Predictive Analytics"의 두 판 사이의 차이
(새 문서: He, Xiangnan, and Tat-Seng Chua. "Neural factorization machines for sparse predictive analytics." Proceedings of the 40th International ACM SIGIR conference on Research and Developmen...) |
잔글 |
||
(같은 사용자의 중간 판 4개는 보이지 않습니다) | |||
14번째 줄: | 14번째 줄: | ||
$$ f_{BI}(\mathscr{V}_x) = \frac12\left[ (\sum_{i=1}^n x_i \mathbf{v}_i )^2 - \sum_{i=1}^n(x_i\mathbf{v}_i)^2 \right] $$ | $$ f_{BI}(\mathscr{V}_x) = \frac12\left[ (\sum_{i=1}^n x_i \mathbf{v}_i )^2 - \sum_{i=1}^n(x_i\mathbf{v}_i)^2 \right] $$ | ||
− | 뒷부분은 실험결과나 기타 학습시 쓸수있는 이런저린 테크닉(dropout, BN)이야기. | + | 뒷부분은 실험결과나 기타 학습시 쓸수있는 이런저린 테크닉(dropout, [[Batch Normalization |BN]])이야기. |
+ | |||
+ | hidden layer를 하나만 써도 FM, higher-order FM, Wide&Deep, DeepCross 다 이긴다고 한다. | ||
+ | |||
+ | <disqus /> |
2018년 8월 29일 (수) 17:24 기준 최신판
He, Xiangnan, and Tat-Seng Chua. "Neural factorization machines for sparse predictive analytics." Proceedings of the 40th International ACM SIGIR conference on Research and Development in Information Retrieval. ACM, 2017.
위 그림이 다인듯. embedding layer라고 표시된 부분이 latent vector. random하게 초기값을 주어도 되지만, 기본적인 FM 한번 돌린 후에 거기서 나온 latent vector쓰면 결과가 더 좋다고 한다.
B-interaction layer는 의외로 간단한데, $$ f_{BI}(\mathscr{V}_x) = \sum_{i=1}^n \sum_{j=i+1}^n x_i \mathbf{v}_i ⊙ x_j \mathbf{v}_j , $$ \(⊙\)는 element-wise product of two vectors. 그냥 내적. 별다른 tweaking 없이 모조리 다 합한다. Latent vector앞에 계수가 붙은것에 주의. Embedding에 애초 input feature vector에 있던 scalar값을 곱함.
위 식은 다음과 같이 되어 계산이 용이하다 한다. $$ f_{BI}(\mathscr{V}_x) = \frac12\left[ (\sum_{i=1}^n x_i \mathbf{v}_i )^2 - \sum_{i=1}^n(x_i\mathbf{v}_i)^2 \right] $$
뒷부분은 실험결과나 기타 학습시 쓸수있는 이런저린 테크닉(dropout, BN)이야기.
hidden layer를 하나만 써도 FM, higher-order FM, Wide&Deep, DeepCross 다 이긴다고 한다.