티스토리 뷰

Study/Machine Learning

Delayed Feedback Model

nhrmary 2018. 1. 26. 22:41

Modeling Delayed Feedback in Display Advertising 논문을 읽고 내용을 정리한다.

논문에서 풀고자 하는 문제

Click 이후에 발생하는 Conversion Rate의 추정

  • cost-per-conversion(CPA) payment model에서 ad-exchange나 DSP는 impression의 가치를 추정해야한다.
  • impression의 가치인 eCPM(expected Cost Per Mile)은 다음과 같이 계산된다.
    @@
    \begin{align}
    eCPM & = CPA \times Pr(conversion, click) \\
    & = CPA \times Pr(click) \times Pr(Conversion | click)
    \end{align}
    @@
  • 문제는 Click 이후에 실제 Conversion은 오랜 시간이 지난 후 발생할 수 있다는 점이다. (사실, 모든 케이스를 끝까지 다 관찰하는 것은 근본적으로 불가능하기도 하다) 이 때문에 Conversion을 판정하는 matching window가 너무 짧을 경우에는 negative sample로 잘못 레이블링되는 샘플들이 다수 발생하게 된다.
    이러한, ‘delayed feedback’ 문제를 해결하는 방법을 이 논문에서 제안한다.


접근법

positive data와 unlabeled data로 부터 모형을 학습

  • 이 논문에서는 matching window를 사용하여 positive/negative data로 나누는 방법을 사용하지 않는다. matching window를 사용하면 너무 짧을 경우 방법은 잘못 레이블링된 negative data를 발생하며, 너무 길 경우에는 최신 데이터를 반영하지 못하는 딜레마가 있다.
  • 대신에 positive와 unlabeled data(미래에 conversion이 될 수 있는 데이터)로 구분하는 접근법을 취한다.

positive data와 unlabeled data로 부터 모형을 학습하는 기존 연구와의 비교

  • 궁극적으로 예측하고자 하는 변수를 @C@라고 하자. 그런데 이 @C@는 전기간에 걸쳐서 발생하는 Conversion을 말하므로 근본적으로 관측 자체가 어려운 변수이다.
  • 대신에 우리는 Click 발생 시점으로 부터 현시점까지의 소요 시간 내에 Conversion 발생 여부 @Y@는 알 수 있다.
  • 이 @Y@ 변수는 위에서 언급한 positive data와 unlabeled data가 된다.
  • positive data와 unlabeled data로 부터 학습하는 것에 관한 기존 연구들은 missing at random(레이블링이 되거나/안되는 것이 랜덤하다)을 가정하는 접근법을 취한다. 이렇게 하면 이 가정으로 부터 @p(y=1|x)@와 @p(s=1|x)@가 상수배만큼 차이가 난다는 것을 보일 수 있으며, 이 사실로 인해 관측된 변수로부터 잠재변수의 클래스의 확률 모델링이 가능하게 된다.
  • 그런데, Conversion을 예측하는 문제에서는 missing at random이 아니라는 점이 문제이다. click 이후 소요시간이 짧을 수록 충분히 관측하지 않았기 때문에 궁극적으로는 positive 샘플로 전환 될 수 있는 케이스라도 레이블이 안붙게 되는 비율이 많아지기 때문이다. 따라서 기존 연구들의 방법론을 그대로 적용하기 어렵고 새로운 방안을 고려해야한다.

Click과 Conversion간의 expected dealy를 설명하는 delayed feedback 모델 도입

  • 앞서 언급했듯 우리가 알 수 있는 것은 @Y@이며, @Y@의 확률분포를 기반으로한 likelihood로부터 @C@의 확률모델의 parameter를 추정해야 한다.
  • likelihood를 construct하기 위해서는 unlabeled data(@Y=0@인 케이스)의 경우의 수를 나누어 접근해야 한다.
  • unlabeled data인 경우 정말로 전환이 안되거나 delay time이 elapsed time보다 큰 경우일 수 있으며, 이 경우의 수의 확률을 모델링 하기 위해서 delay time에 대한 확률 모델이 필요하다.
  • 논문에서는 Survival Analysis의 개념을 응용하여 delay time을 모델링하였다.
  • Survival analysis는 censored data를 가지고 환자의 수명의 분포를 추정하는 기법이다. Conversion data 또한 censored data이며, conversion까지 걸리는 시간이 delay라는 점에서 유사한 문제로 볼 수있다.
  • 그러나, 한가지 차이점은 survival analysis에서는 환자의 사망은 언젠가는 발생하지만 Conversion은 끝끝내 발생하지 않을 수 있다는 점이다.
  • 따라서, conversion의 확률 모델과 delay의 확률 모델을 동시에 학습해야 한다.


MODEL

문제를 formalize하기 위해 아래 확률변수의 정의를 짚어본다.

  • @X@ : a set of features
  • @Y \in {0,1}@ : 클릭 이후 현 시점까지 conversion의 발생 여부
  • @C \in {0,1}@ : 전기간에 걸친 Conversion 여부
  • @D@ : click과 conversion 사이의 delay (@C = 0@이면 @D@는 정의되지 않음)
  • @E@ : click 이후 소요 시간

main relation between theses variables : 이 relation으로 인해서 likelihood를 구할때 @Y=0@인 경우 @C@의 값에 따라 decompose되며 @C=1@인경우 @E@의 확률분포를 사용하게 된다.
@@
Y=0 \Leftrightarrow C=0 \ or \ E<D , \\\
Y=1 \Rightarrow C=1
@@

독립성 가정 (conditional independence)
@@
Pr(C,D|X,E) = Pr(C,D|X)
@@

Two parametric model (두 모델 모두 GLM)

  • Conversion Model
    @@
    Pr(C=1|X=x) = p(x) \ with \ p(x) = 1 / {1+\exp(-w_c \cdot x)}
    @@
  • Delay Model
    @@
    Pr(D=d|X=x,C=1) = \lambda(x)\exp(-\lambda(x) \cdot d)
    @@
    이 때, @\lambda(x)@는 hazard function이며, @\lambda(x) > 0@을 만족하기 위해 @\lambda(x) = \exp(w_d \cdot x)@라고 한다.


OPTIMIZATION

논문에서는 regularized Negative log-likelihood를 최소화하는 parameter를 Gradient Descent 방법으로 optimization하였다.
이를 위해 먼저 Likelihood를 정의한다.

  • Likelihood
    @@
    Likelihood = Pr(Y=1, D=d | X=x, E=e) + Pr(Y=0 | X=x, E=e)
    @@
    이 때 우측 항은 아래와 같이 정리된다.
    @@
    \begin{align}
    \require{cancel}
    Pr(Y=1, D=d \ | \ X=x, E=e) & = Pr(C=1, D=d \ | \ X=x, E=e) \\
    & = Pr(C=1, D=d \ | \ X=x) \\
    & = Pr(D=d \ | \ X=x, C=1) \times Pr(C=1 \ | \ X=x) \\
    & = \lambda \exp(-\lambda(x) \cdot d) \cdot p(x)
    \end{align}
    @@
    @@
    \begin{align}
    Pr(Y=0 \ | \ X=x, E=e) & = Pr(Y=0 \ | \ C=0, X=x, E=e) \times Pr(C=0 \ | \ X=x, \cancel{E=e}) \\
    & + Pr(Y=0 \ | \ C=1, X=x, E=e) \times Pr(C=1 \ | \ X=x, \cancel{E=e}) \\
    & = 1 - p(x) + p(x) \cdot \exp(-\lambda(x) \cdot e) \\
    \end{align}
    @@
    @@
    \begin{align}
    Because, \ \ Pr(Y=0 \ | \ C=0, X=x, E=e) & = 1 \\
    Pr(Y=1 \ | \ C=1, X=x, E=e) & = Pr(D>E \ | \ C=1, X=x, E=c) \\
    & = \int_{e_i}^{\infty}\lambda(x)\exp(-\lambda(x)t)dt \\
    & = \exp(-\lambda(x)e_i)
    \end{align}
    @@

위 식으로 부터 negative likelihood는 다음과 같이 도출할 수 있다.

  • negative likelihood
    @@
    L(W_C, W_d) \ = \ \sum_{i, y_i = 1} (\log\lambda(x_i) + \lambda(x_i)d_i - \log p(x_i)) \ - \ \sum_{i, y_i = 0} log[1-p(x_i)+p(x_i)\exp(-\lambda(x_i)e_i)]
    @@

여기까지 정의되면 Optimization 문제는 아래와 같이 표현된다.
@@
argmin_{W_c, W_d} L(W_c, W_d) + \frac{\mu}{2}(\Vert W_c \Vert_2 + \Vert W_d \Vert_2) \tag{1}
@@

식 @(1)@은 제약조건이 없고 2차 미분이 가능한 형태로 gradient-based optimization 테크닉으로 풀 수 있다. 논문에서는 L-BFGS를 사용하였다고 한다.

추가적으로 @L(W_c, W_d)@의 gradient를 살펴보면 unlabeled data가 optimization 과정에서 모델에 어떠한 영향을 주는지 직관적으로 이해할 수 있다.

  • gradient of Negative Likelihood
    @@
    \begin{align}
    \frac{\partial L(W_c, W_d)}{\partial W_c} & = \sum_{i, yi = 1} \frac{1}{p(x_i)} \cdot \frac{\partial p(x_i)}{\partial W_c} - \ \sum_{i, y=0} \frac{\partial p(x_i)}{\partial W_c} \cdot \frac{1-\exp(-\lambda(x_i)e_i)}{1-p(x_i)+p(x_i)exp(-\lambda(x_i)e_i} \\
    \frac{\partial L(W_c, W_d)}{\partial W_d} & = -\sum_{i, y_i=1} \frac{\partial\lambda(x_i)}{\partial W_d}\cdot \left(\frac{1}{\lambda(x_i)} + d_i\right) +\sum_{i, y_i=0}\left(\frac{p(x_i)exp(-\lambda(x_i)e_i)}{1-p(x_i)+p(x_i)exp(-\lambda(x_i)e_i} \cdot \frac{\partial \lambda(x_i)}{\partial W_d} \right)
    \end{align}
    @@

기타

Experimental result

  • 아래 5개 모델과 Negative Likelihood를 비교한 결과 Delayed feedback model이 Negative log-likelihood가 Oracle에 더 가까웠으며, 특히 최근 테스트 셋을 최근 데이터 셋으로 사용하였을 때 더 성능이 좋음을 확인

    • Short Term Conversion model (STC)
    • Naive
    • Oracle
    • Shifted
    • Rescale
  • 새로운 캠페인에 대해 Naive 방법론과 비교한 결과 delayed feedback model이 더 빠르게 Conversion rate를 근접하게 맞춰가는 것을 확인

  • delay를 Exponential dist로 모델링하는 것이 적합한지 판단하기 위해서 campaign을 condition으로 하여 conditional distribution을 살펴봄

    • 실제 delay의 그래프가 fitted exponential distribution에 가까운 것을 확인하였으며,
    • 짧은 delay는 과소추정하고 긴 딜레이는 과대추정하는 경향성이 있음을 확인함

'Study > Machine Learning' 카테고리의 다른 글

LIME (Local Interpretable Model-agnostic Explanation)  (5) 2018.01.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함