단순성을 위한 정규화

정규화란 모델의 복잡도에 페널티를 적용하여 과적합을 줄이는 것을 의미합니다.

단순성을 위한 정규화

학습 세트의 손실 함수는 점진적으로 감소합니다. 반대로 검증 세트에 대한 손실 함수는 감소했다가 다시 상승하기 시작합니다.
  • 가능하면 모델 복잡성을 피하는 것이 좋습니다.
  • 학습 단계에서 수행하는 최적화에 이 아이디어를 적용할 수 있습니다.
  • 경험적 위험 최소화:
    • 학습 오류를 줄이는 것이 목표
    • $$ \text{minimize: } Loss(Data\;|\;Model) $$

  • 가능하면 모델 복잡성을 피하는 것이 좋습니다.
  • 학습 단계에서 수행하는 최적화에 이 아이디어를 적용할 수 있습니다.
  • 구조적 위험 최소화:
    • 학습 오류를 줄이는 것이 목표
    • 복잡도와 균형을 맞추는 동시에
    • $$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$

  • 복잡도(모델)를 정의하는 방법
  • 복잡도(모델)를 정의하는 방법
  • 더 작은 가중치 선호
  • 복잡도(모델)를 정의하는 방법
  • 더 작은 가중치 선호
  • 여기에서 벗어나면 비용이 발생합니다.
  • L2 정규화 (일명 능선)를 통해 이 아이디어를 실현할 수 있음
    • 복잡성(모델) = 가중치의 제곱의 합
    • 매우 큰 가중치에 페널티를 줍니다.
    • 선형 모델: 더 평평한 기울기를 선호합니다.
    • 베이즈 전제:
      • 가중치는 0을 중심으로 배치되어야 함
      • 가중치는 정규 분포여야 함

$$ Loss(Data|Model) + \lambda \left(w_1^2 + \ldots + w_n^2 \right) $$

\(\text{Where:}\)

\(Loss\text{: Aims for low training error}\) \(\lambda\text{: Scalar value that controls how weights are balanced}\) \(w_1^2+\ldots+w_n^2\text{: Square of}\;L_2\;\text{norm}\)