정규화란 모델의 복잡도에 페널티를 줌으로써 과적합을 줄이는 것입니다.
단순성을 위한 정규화
일반화 곡선
모델 복잡도에 페널티 부여
- 가능하면 모델 복잡도를 방지하려고 합니다.
- 학습 단계에서 수행하는 최적화에 이 아이디어를 적용할 수 있습니다.
- 경험적 위험 최소화
- 학습 오류를 낮추는 것이 목표
$$ \text{최소화: } 손실(데이터\;|\;모델) $$
모델 복잡도에 페널티 부여
- 가능하면 모델 복잡도를 방지하려고 합니다.
- 학습 단계에서 수행하는 최적화에 이 아이디어를 적용할 수 있습니다.
- 구조적 위험 최소화
- 학습 오류를 낮추는 것이 목표
- 또한 복잡도를 낮출 수 있도록 조정
$$ \text{최소화: } 손실 (데이터\;|\;모델) + 복잡도 (모델) $$
정규화
- 복잡도(모델)를 정의하는 방법
정규화
- 복잡도(모델)를 정의하는 방법
- 더 작은 가중치 선호
정규화
- 복잡도(모델)를 정의하는 방법
- 더 작은 가중치 선호
- 여기에서 벗어나면 비용이 발생함
- L2 정규화(일명 능선)를 통해 이 아이디어를 구현할 수 있음
- 복잡도 (모델) = 가중치의 제곱의 합
- 아주 큰 가중치에 대한 페널티 부여
- 선형 모델에서는 더 평평한 기울기를 선호
- 베이지안 사전 확률:
- 가중치는 0을 중심으로 배치되어야 함
- 가중치는 정규 분포되어야 함
L2 정규화를 이용한 손실 함수
$$ L (\boldsymbol{w}, D) \;+\;\lambda\;||\;\boldsymbol{w}\;||\;_2^2 $$
\(\text{설명:}\)
\(L\text{: 학습 오류를 낮추는 것이 목표}\)
\(\lambda\text{: 가중치의 균형을 유지하는 방법을 제어하는 스칼라 값}\)
\(\boldsymbol{w}\text{: 복잡도를 낮출 수 있도록 조정}\)
\(^2_2\text{: 다음의 제곱:}\;L_2\;\text{가중치의 정규화}\)