Paying to Fit Less

개념 확인: Regularization and Bias-Variance


예측 오차를 편향·분산·잡음으로 나누고 계수에 주는 벌점과 강도 선택을 판단한다.

문제 1

오차를 세 조각으로

생성 과정을 아는 모의실험에서 고정된 입력 x₀의 참함수값은 f(x₀) = 10이고 잡음 분산은 σ² = 1이다. 학습 자료를 네 번 새로 뽑아 두 모델을 학습하고 x₀에서 예측했다.

모델네 번의 예측 f̂(x₀)
A8, 12, 9, 11
B7, 7.5, 7, 6.5
  1. 각 모델의 평균 예측, 편향의 제곱, 분산을 구한다(분산은 네 값의 모분산으로 계산).
  2. 각 모델의 기대 제곱 예측 오차를 구하고 더 작은 모델을 고른다.
  3. 어떤 모델도 기대 제곱 예측 오차를 1보다 작게 만들 수 없는 이유를 적는다.
  4. 실제 자료 분석에서 이 표와 같은 계산을 바로 할 수 없는 이유를 적는다.
해설 펼치기
  1. A: 평균 10, 편향² = 0, 분산 = (4 + 4 + 1 + 1)/4 = 2.5. B: 평균 7, 편향² = (7 − 10)² = 9, 분산 = (0 + 0.25 + 0 + 0.25)/4 = 0.125.
  2. A는 0 + 2.5 + 1 = 3.5, B는 9 + 0.125 + 1 = 10.125이므로 A가 작다. 분산이 작다고 항상 유리한 것은 아니다.
  3. 편향²과 분산은 음수가 될 수 없으므로 기대 오차는 σ² = 1 이상이다. 이 하한은 기대 오차에 대한 것이며 특정 테스트 자료의 MSE에 대한 것은 아니다.
  4. 실제 자료에서는 참함수 f를 모르고 같은 과정에서 학습 자료를 반복해서 뽑을 수 없기 때문이다.
문제 2

ridge regression의 목적함수

표준화한 특성 하나로 계수 제곱합을 벌점으로 더하는 ridge regression을 학습한다. 절편에는 벌점을 주지 않으며 계수 β 후보 두 개의 잔차제곱합(RSS)은 다음과 같다.

βRSS
1.02.0
0.54.5
  1. λ = 0과 λ = 4에서 각 후보의 목적함수 값을 구하고 더 작은 후보를 고른다.
  2. λ = 0일 때 ridge regression의 목적함수는 무엇과 같은지 적는다.
  3. λ → ∞일 때 계수와 절편이 각각 어디로 수렴하는지 적는다.
  4. 절편 β₀에 벌점을 주지 않는 이유를 적는다.
해설 펼치기
  1. λ = 0: 2.0 대 4.5로 β = 1.0. λ = 4: 2.0 + 4 × 1 = 6.0 대 4.5 + 4 × 0.25 = 5.5로 β = 0.5.
  2. 벌점이 없는 최소제곱 목적함수다.
  3. 계수는 0으로 수렴하고 절편은 학습 자료 y의 평균으로 수렴한다. 크지만 유한한 λ에서 계수가 정확히 0이 된다는 뜻은 아니다.
  4. 절편은 y의 평균 수준을 나타내므로 이를 0 쪽으로 줄일 이유가 없다. 벌점은 특성에 따른 예측 변화의 크기만 제한한다.
문제 3

단위와 표준화

월 소득 특성을 원 단위와 만원 단위로 기록한 두 모델이 같은 기여 βx = 90을 준다. 관측 하나의 소득은 3,000,000원(300만원)이다.

  1. 원 단위와 만원 단위에서 각각 β와 β²를 구한다.
  2. 같은 예측인데 ridge 벌점이 몇 배 차이 나는지 구하고, 어느 단위의 계수가 더 강하게 줄어드는지 적는다.
  3. 이 문제를 막기 위해 무엇을 하는지 적는다.
  4. 교차검증에서 표준화에 쓸 평균과 표준편차를 어디에서 계산해야 하는지 적고 이유를 적는다.
해설 펼치기
  1. 원: β = 90/3,000,000 = 3 × 10⁻⁵, β² = 9 × 10⁻¹⁰. 만원: β = 90/300 = 0.3, β² = 0.09.
  2. 0.09/(9 × 10⁻¹⁰) = 10⁸배다. 같은 λ에서 벌점이 큰 만원 단위의 계수가 더 강하게 줄어든다.
  3. 학습 자료 기준으로 특성을 표준화해 척도를 맞춘다.
  4. 각 fold의 학습 자료에서만 계산한다. 전처리와 모델을 pipeline으로 묶어 검증 fold의 정보가 학습에 들어가지 않게 한다.
문제 4

ridge와 lasso

두 특성의 계수 벡터 후보 u = (2, 2)와 v = (4, 0)을 비교한다. lasso는 계수 절댓값의 합을 벌점으로 더한다.

  1. 각 후보의 ridge 벌점 Σβⱼ²와 lasso 벌점 Σ|βⱼ|를 구한다.
  2. 두 벌점 중 u와 v를 구별하지 않는 것은 무엇이고, ridge 벌점은 어느 쪽을 더 작게 보는지 적는다.
  3. lasso가 일부 계수를 정확히 0으로 만들 수 있는 이유를 제약 영역의 모양으로 설명한다.
  4. lasso에서 계수가 0이 된 특성을 ‘중요하지 않은 특성’이라고 보고하면 안 되는 이유를 상관된 특성과 연결해 적는다.
해설 펼치기
  1. u: ridge 8, lasso 4. v: ridge 16, lasso 4.
  2. lasso 벌점은 둘 다 4로 같다. ridge 벌점은 계수를 나눠 가진 u를 더 작게 본다.
  3. lasso 제약 |β₁| + |β₂| ≤ s는 축 위에 모서리가 있어 RSS 등고선이 모서리에 닿으면 한 계수가 0이 된다. ridge 제약은 원이라 모서리가 없다.
  4. 계수가 0이면 그 예측식에 직접 기여하지 않을 뿐이다. 상관된 특성 중 일부만 남을 수 있으므로 0인 특성이 일반적으로 중요하지 않거나 남은 특성이 유일하게 중요하다는 뜻은 아니다.
문제 5

강도 λ 고르기

ridge regression의 λ 후보마다 자료를 다섯 몫으로 나누어 번갈아 검증하는 5-fold 교차검증을 했다. 학습 MSE는 각 fold 학습 자료에서의 평균이다.

λ학습 MSE평균 검증 MSE
0.013.05.2
0.13.14.8
13.64.1
104.24.3
1005.96.0
  1. 선택할 λ를 적는다.
  2. 학습 MSE나 학습 목적함수로 λ를 고르면 어떤 값이 선택되는지와 그 이유를 적는다.
  3. λ를 고른 뒤 최종 모델을 어떤 자료로 다시 학습하고, 테스트 자료는 언제 쓰는지 적는다.
  4. 평균 검증 MSE가 λ = 100에서 가장 작았다면 무엇을 확인해야 하고, 그때 테스트 자료를 쓰면 안 되는 이유를 적는다.
해설 펼치기
  1. 평균 검증 MSE가 가장 작은 λ = 1이다.
  2. 가장 작은 λ가 선택된다. 벌점은 0 이상이므로 학습 목적함수를 λ에 대해 최소화하면 λ = 0이 항상 가장 작은 값을 준다.
  3. 테스트 자료를 제외한 개발 자료 전체로 λ = 1 모델을 다시 학습하고, 테스트 자료는 선택이 끝난 뒤 한 번만 평가에 쓴다.
  4. 후보 범위 끝에서 최적이 나왔으므로 더 큰 λ까지 후보 범위를 넓혀 교차검증을 다시 한다. 테스트 점수로 범위나 λ를 고르면 독립적인 최종 평가가 아니게 된다.