IPW
관측될 확률이 낮았던 샘플에 더 큰 가중치를 주어, 편향된 로그로부터 편향 없는 추정값을 얻는 방법이다. 각 샘플에 그 샘플이 관측될 확률(propensity)의 역수를 곱한다.
| 기호 | 의미 |
|---|---|
| 샘플 가 관측됐으면 1, 아니면 0 | |
| 샘플 가 관측될 확률 (propensity) | |
| 그 샘플에서 관찰된 값 (평점, 클릭 등) |
왜 역수인가
노출될 확률이 0.1 인 아이템은 열 번에 한 번만 로그에 남는다. 로그를 그대로 평균 내면 이 아이템은 실제 비중의 1/10 만큼만 반영된다. 여기에 을 곱하면 원래 비중으로 되돌아온다.
추천 로그가 이런 보정을 필요로 하는 이유는, 로그가 무작위 노출에서 나온 것이 아니라 지금 서비스 중인 추천 모델이 고른 결과에 대한 반응이기 때문이다. 인기 아이템은 자주 노출되어 데이터가 많고, 그렇지 않은 아이템은 데이터가 거의 없다. 이 로그로 다음 모델을 학습시키면 인기 편향이 그대로 재생산된다. 데이터가 MNAR 인 상황이 이것이다.
대가
분산이 커진다. 가 아주 작은 샘플에는 아주 큰 가중치가 붙는다. 그런 샘플 하나가 추정값 전체를 흔들 수 있다. 이를 눌러주려고 가중치에 상한을 두는 clipping 이나 정규화를 함께 쓴다.
propensity 를 알아야 한다. 실험 환경이라면 노출 정책을 알고 있으니 계산할 수 있지만, 실제 로그에서는 추정해야 한다. 이 추정이 틀리면 보정도 틀린다.
두 번째 문제를 다루려고 나온 것이 doubly robust 계열이다. propensity 모델과 결과 예측 모델을 둘 다 두고, 둘 중 하나만 맞아도 편향이 없어지도록 결합한다.
같은 아이디어를 부르는 이름이 여럿이다. 통계·인과추론에서는 IPW, 추천·bandit 쪽 문헌에서는 IPS 라고 쓰는 경우가 많고, 강화학습에서는 off-policy 평가를 위한 Importance sampling 과 같은 형태다.