#GOOGLE 논문
#추천 시스템
#2016년도
해당 논문은 구글 Play store 앱 추천 시스템을 위한 논문이다.
해당 논문에서는 Memorization + Generalization을 동시에 만족하는 추천시스템을 만들고자 한다.
1. Memorization: linear model 통해서 feature들간의 연관성 파악
2. Generalization: neural network를 통해서 과거에 전혀 발생하지 않았거나 거의 발생하지 않은 새로운 feature 파악
Memorization의 문제점은 학습 데이터에 없던 feature 에 대해서는 파악하기가 힘들다.
이를 DNN 같은 딥러닝 기법을 사용해서 보완 할 수있다.
따라서, 해당 논문은 linear model component와 neural network component를 결합한 모델을 설명한다.
#DATASET
앱스토어 데이터. 정확히 어떻게 생겼는지는 논문에 친절히 설명이 안되어있음
label은 앱이 유저에게 노출되었을 때, 유저가 설치하면 1, 아니면 0을 가지는 column
categorical variable feature --> integer ID
Continuous real-value --> normalized
#MODEL:
linear model component (그림1의 왼쪽 부분)+ neural network component(그림1의 오른쪽 부분)
#The Wide Component
linear model: y= w^Tx + b,
y: prediction
x = [x1, x2, x3, ..., xd] : vector of d features
w = [ w1, w2, w3, ..., wd] : model parameters
b = bias
흔한 선형모델임
중요한 점은 feature set = raw input feature + transformed features.
transformed features는 feature 간의 cross product(외적 변환)을 통해서 생성 된다.
외적 변환을 통해 새로운 orthogonal vector를 생성할 수 있다.
예를 들면 A vector 와 B vector 를 외적을 하게되면 C vector가 생성 되는데, 중요한 점은 C vector는 A vector와 orthogonal 함과 동시에 B vector와 orthogonal 하게 된다.
#The Deep Component
categorical feature는 string 형태로 들어간다. ex 'language=en'
그 후 embedding으로 sparse problem을 해결한다.
당연한 얘기지만, embedding vector는 학습과정에서 loss 를 최소화하여 맞추어진다.
*ensemble 기법(여러 알고리즘을 각각 학습)이 아니다. 해당 모델은 joint training으로 학습과 동시에 모든 parameters들이 최적화 한다.
그림2는 새로운 feature를 생성한 것이다. 외적 User Installed App feature X Impression App feature를 하여 새로운 벡터를 뽑아 낸다.
activation function은 그림2에서 볼 수 있듯이 3 layer ReLU 사용했으며, Logistic Loss를 통해 학습을 진행한다.
#성능 측정
[오프라인 테스트]
AUC 측정: Wide & Deep 모델이 AUC 가장 높음
[온라인 테스트]
구글에서 A/B test로 3주간 테스트 했음. 3.9%로가장 높게 측정.
#Tutorial
해당 논문의 코드는 Tensorflow api로 제공된다. 간단한 quick start를 하고자 한다면 microsoft github 에서 간단히 테스트 진행할 수있다.
'Data Science & Machine Learning' 카테고리의 다른 글
[eXplainableAI (XAI)] LIME, Shapely, PDP, Permutation Feature Importance 간략한 설명 및 장단점 (0) | 2022.06.14 |
---|---|
[eXplainableAI (XAI)] 기초적인 설명 - Complexity: Intrinsic vs Post-hoc / Scope: Global vs Local / Dependency: Model-specific vs Model-agnostic (0) | 2022.06.13 |
[추천 시스템] 페이스북 DLRM 모델 (0) | 2022.06.10 |
Fashion recommendation system Review paper (0) | 2022.05.27 |
Data processing cycle (0) | 2022.04.29 |