14.4 일반화의 기초

실습 · 연습문제 2개

반복 실험으로 bias–variance 분해하기 bias-variance-decomposition

같은 학습 절차를 서로 다른 학습 데이터 RR개로 반복해, 평가 지점 MM곳에서 예측한 값을 모은 배열 preds(shape (R, M))가 있다. 참 함수의 값 f_true(shape (M,))도 안다.

bias_variance(preds, f_true)를 완성해 평가 지점에 대해 평균한 두 값 (bias2, variance)를 반환한다.

fˉ(xm)=1R∑r=1Rf^r(xm),bias2=1M∑m(fˉ(xm)−f(xm))2,variance=1M∑m1R∑r(f^r(xm)−fˉ(xm))2.\bar{f}(x_m) = \frac{1}{R}\sum_{r=1}^{R}\hat{f}_r(x_m), \qquad \text{bias}^2 = \frac{1}{M}\sum_{m}\big(\bar{f}(x_m) - f(x_m)\big)^2, \qquad \text{variance} = \frac{1}{M}\sum_{m}\frac{1}{R}\sum_{r}\big(\hat{f}_r(x_m) - \bar{f}(x_m)\big)^2.

분산은 RR로 나누어 정의한다. 그러면 시뮬레이션 값에서도 다음 항등식이 (부동소수점 오차 안에서) 정확히 성립한다.

1RM∑r,m(f^r(xm)−f(xm))2=bias2+variance.\frac{1}{RM}\sum_{r, m}\big(\hat{f}_r(x_m) - f(x_m)\big)^2 = \text{bias}^2 + \text{variance}.

왼쪽은 예측과 참 함수 사이의 평균 제곱오차다. 새 관측의 잡음 분산 σ2\sigma^2을 더하면 기대 시험 MSE가 된다.

테스트는 다음을 확인한다.

  • 위 항등식
  • 모든 반복의 예측이 같으면 variance가 0이다.
  • 예측이 참 함수 주위에 대칭으로 흩어지면 bias²가 0에 가깝다.
  • 본문의 다항식 실험처럼, 차수를 높이면 bias²는 줄고 variance는 커진다.

Hoeffding bound로 시험 표본 수 정하기 hoeffding-bound

손실이 [0,1][0, 1] 범위에 있을 때(예: 0–1 오류), 데이터를 보기 전에 정한 모델 하나의 시험 오류율 R^N\hat R_N은 Hoeffding 부등식을 만족한다.

P(∣R^N−R∣>ϵ)≤2e−2Nϵ2.P\big(\lvert \hat{R}_N - R \rvert > \epsilon\big) \le 2e^{-2N\epsilon^2}.

같은 시험 집합으로 모델 kk개를 평가하고 그중 하나를 고른다면, kk개 모두에 대해 동시에 성립해야 하므로 union bound로 오른쪽에 kk를 곱한다.

두 함수를 완성한다.

  1. hoeffding_epsilon(n, delta, k=1): 확률 1−δ1 - \delta 이상으로 모델 kk개 모두에 대해 ∣R^N−R∣≤ϵ\lvert \hat R_N - R \rvert \le \epsilon이 되는 가장 작은 ϵ\epsilon. 즉 2ke−2nϵ2=δ2k e^{-2n\epsilon^2} = \delta의 해.
  2. sample_size(epsilon, delta, k=1): 위 보장을 주는 가장 작은 정수 nn. 즉 2ke−2nϵ2≤δ2k e^{-2n\epsilon^2} \le \delta를 만족하는 최소 정수.

테스트는 다음을 확인한다.

  • 본문 퀴즈의 값: ϵ=0.05\epsilon = 0.05, δ=0.05\delta = 0.05, k=1k = 1에서 738개
  • nn을 4배로 늘리면 ϵ\epsilon이 절반이 된다.
  • kk가 커질수록 필요한 nn이 log⁡k\log k에 비례해 늘어난다(곱이 아니라 로그).
  • sample_size가 돌려준 nn에서는 조건이 성립하고, n−1n - 1에서는 성립하지 않는다.
  • 시뮬레이션: 참 오류율 0.3인 모델의 시험 오류율이 ϵ\epsilon 밖으로 벗어나는 비율이 δ\delta 이하다.