21.4 분포 이동과 OOD

실습 · 연습문제 1개

중요도 가중으로 운영 환경의 성능 추정하기 importance-weighting

공변량 이동에서는 p(y∣x)p(y \mid x)가 같고 입력 분포만 ps(x)p_s(x)(학습)에서 pt(x)p_t(x)(운영)로 바뀐다. 학습 데이터의 손실 ℓi\ell_i에 가능도 비 wi=pt(xi)/ps(xi)w_i = p_t(x_i)/p_s(x_i)를 곱해 평균하면 운영 분포에서의 기대 손실을 추정할 수 있다. 가중치의 평균이 정확히 1이 아니므로 실무에서는 가중치 합으로 나누는 자기 정규화 추정량을 쓴다.

R^t=∑iwiℓi∑iwi.\hat R_t = \frac{\sum_i w_i \ell_i}{\sum_i w_i}.

가중치가 몇몇 점에 몰리면 이 추정은 사실상 그 몇 점의 평균이 된다. 그 정도를 유효 표본 수로 잰다.

neff=(∑iwi)2∑iwi2.n_{\text{eff}} = \frac{\left(\sum_i w_i\right)^2}{\sum_i w_i^2}.

세 함수를 완성한다.

  1. weighted_risk(losses, w): 자기 정규화 가중 평균 손실
  2. effective_sample_size(w): 유효 표본 수
  3. weighted_line_fit(x, y, w): 가중 제곱오차 ∑iwi(yi−a−bxi)2\sum_i w_i (y_i - a - b x_i)^2를 최소화하는 (a, b)

테스트는 손으로 계산한 예와, 정규분포 사이의 공변량 이동에서 weighted_risk가 운영 데이터의 실제 손실에 가까운지 확인한다.