Neural Collaborative Filtering
Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, Tat-Seng Chua
arXiv:1708.05031
Recommendation System_추천 시스템이란?
사용자의 선호도 및 과거 행동을 토대로 사용자가 관심을 가질 만한 상품(영화/드라마/음악, 물건, 컨텐츠 등)을 제공하는 기계학습의 한 방법
RecSys의 목적
- Prediction version of Problem (Matrix Completion Problem) : 학습을 통해 사용자의 선호도를 정확하게 예측하여, 하나의 결과를 도출하는 문제
- Ranking version of Problem : 사용자의 선호도를 반영하는 top-k개의 상품을 예측하는 문제
RecSys의 종류
추천시스템 알고리즘은 크게 Content-based Filtering (콘텐츠 기반 필터링) 과 Collaborative Filtering (협력 필터링), 그리고 Hybrid Filtering 으로 구분된다.
- Content-based Filtering (콘텐츠 기반 필터링)
: 사용자가 과거에 선택하거나 구매한 상품과 비슷한 상품을 추천하는 알고리즘 방식
- Collaborative Filtering (협력 필터링)
: 비슷한 선호도를 가진 사용자들끼리 그룹으로 묶어, 같은 그룹에 속한 사람들이 과거에 선택하거나 구매한 상품을 사용자에게 추천하는 알고리즘 방식
- Hybrid Filtering
: 다양한 추천시스템들을 결합하여 만든 알고리즘 방식으로, 기존 알고리즘이 가지고 있는 단점을 보완하고 새로운 장점을 창출해낼 수 있다.
Matrix Factorization (MF)
- M = user의 수
- N = item의 수
⇒ Y = user-item 행렬
- 이 때의 1과 0은, '1 = user가 해당 item을 선택/구매한 적이 있다'는 의미이지 'user가 해당 item을 반드시 선호한다'는 의미는 아니다.
이 때, 행렬 Y의 y를 예측하는 하나의 방법으로 matrix factorization이 있다.
Matrix Factorization (MF)
행렬 Y를 보다 저차원인 두 행렬 P와 Q로 분해하여 표현하는 방법
하지만, MF는 linear 방식이므로 user-item의 복잡한 관계를 설명하는데 한계점이 존재한다.
위의 그림처럼 user 1,2,3의 관계가 이미 표현되어 있을 때, user 4가 추가된 상황을 생각해 보자. user 4 는 user 1 > user 3 > user 2의 순서대로 유사도를 가지지만, 기존 user들 사이에 이를 반영하여 user 4의 정보를 나타낼 수 있는 방법이 없다.
Neural Collaborative Filtering
MF 모델의 linear방식에 의해 나타난 한계를 NCF에서는 multi-layer perceptron를 통해 non-linear의 특성도 고려할 수 있게 하여 해결한다.
- input layer : user와 item 정보가 one-hot encoding되어 벡터로 입력된다.
- embedding layer : input 벡터를 dense 벡터로 mapping
- Neural CF layer : DNN을 통과
- output layer : (0,1)의 값으로 user과 item이 얼마나 관련되어 있는지 출력
기존의 MF는 NCF의 special case가 되며, 이를 GMF로 명명한다. 그리고, linear한 특성을 잘 반영하는 GMF와 non-lienar한 특성을 잘 반영하는 MLP를 결합한 모델을 제시한다.
참고자료