Supervised Learning의 궁극적인 목표
- 학습에 사용된 데이터 뿐만 아니라,
- 한 번도 보지 못한 새로운 데이터에 대해서도 정확한 예측을 수행하는 능력, 즉
- 일반화 성능(generalization performance)을 높이는 것임.
모델이 예측한 값과 실제 값 사이의 차이, 즉 예측 오류는 단 하나의 원인으로 발생하지 않으며, 이 오류는 세 가지 주요 구성 요소로 분해될 수 있음:
- Bias (편향)
- Variance (분산)
- Irreducible Error (줄일 수 없는 오류)
이 글은
- 이 세 가지 오류에 대한 설명을 하고
- 이들 중 Bias와 Variance가 모델의 복잡도를 축으로 할 때, trade-off (상충관계)를 갖는 이유를 소개함.
1. 예측 오류의 세 가지 구성 요소
예측 오류를 구성하는 세 가지 핵심 요소를 각각 정의하고, 그 원인과 결과를 살펴보기 위해 한 가지 가정을 해보겠음.
- 현실 세계에서 100개의 서로 다른 학습 데이터셋을 수집(dataset이 100개임)
- 각 데이터셋으로 100개의 개별 모델을 학습시킬 수 있다고 가정.
1.1. Bias Error
편향(Bias)이란,
- 학습시킨 100개 모델 예측값들의 평균(mean)이 실제 정답(true function)에서 얼마나 벗어나 있는지에 해당.
- 이는 모델이 실제 정답에 대해 가지는 일종의 체계적인 오차 임.
bias는 모델의 근본적인 한계 (모델이 기반으로 삼는 가정등이 실제 data에서 어긋나는 경우 등)에서 비롯되는 error임.
때문에, bias는 더 많은 데이터로 학습시킨다 해도 줄어들지 않는 error임.
bias는 모델 자체가 가진 잘못된 가정 및 데이터의 한계(유용하지 않은 feature로 구성) 때문에 발생.
- 잘못된 가정과 대표적이지 않은 데이터:
- 현실의 복잡한 비선형 관계를 선형 모델로만 가정하거나,
- 실제 유용하지 않은 feature로만 구성된 학습 데이터(representive data가 아님)로 인해 발생.
- 대표적인 예: 단순한 모델
- 모델의 파라미터 수가 적어
- 데이터의 복잡한 패턴을 모두 담아내지 못하는 경우 편향이 높아짐: under-fit.
일반적으로 높은 bias를 가진 모델은 '고집이 셉니다' (무식하고 고집이 센 사람을 생각).
- 때문에, 학습 데이터셋($D$)이 조금 바뀌더라도 모델의 파라메터들이 거의 변하지 않음.
- 단순한 모델의 경우, 학습 데이터에서 가장 큰 경향성 만을 포착하여 기억하기 때문임.
- 모델이 문제를 푸는데 중요한 데이터의 핵심적인 경향들을 학습하기에 복잡도가 떨어질 경우
- 제대로 학습하지 못하는 과소적합(Underfitting) 상태가 됨.
1.2. Variance Error (분산 에러)
분산(Variance)이란,
- 100개의 서로 다른 데이터셋으로 학습시킨 모델들이 하나의 입력값에 대해 얼마나 서로 다른 예측을 하는지를 나타내는 척도.
- 이는 다른 데이터셋으로 인해 모델이 얼마나 차이를 가지는지를 나타냄.
달리 말하면 variance는 모델이 학습 데이터에 얼마나 민감하게 반응하는지를 나타냄.
Variance Error 의 원인과 결과는 다음과 같음:
- 원인:
- 파라미터가 많은 복잡하고 유연한 모델이
- 학습 데이터의 미세한 변동이나 노이즈(noise)까지 '패턴'으로 오인하여 과도하게 학습할 때
- variance error가 발생.
- 결과:
- Variance는 "만약 다른 학습 데이터셋 $D$로 학습했다면 모델 $\hat{f}$가 얼마나 다른 파라메터를 가지는가?"를 측정.
- Varaiance가 높은 모델은 불안정하여 학습 데이터가 조금만 바뀌어도 완전히 다른 모델이 되는 문제점을 가짐.
높은 Variance는
- 모델이 학습 데이터에만 지나치게 최적화되는 과대적합(Overfitting) 을 유발함을 의미함.
- 이는 새로운 데이터 (학습데이터가 아닌 testset에서)에 대한 예측 성능 저하로 이어짐.
1.3. 줄일 수 없는 오류 (Irreducible Error)
줄일 수 없는 오류(Irreducible Error)란,
- 데이터 자체에 본질적으로 내재된 무작위성 또는 노이즈(noise) 및 에러로서
- 어떠한 학습 알고리즘을 사용하더라도 제거할 수 없는 한계선을 의미함.
데이터는 종종 다음의 수식으로 표현됨.
$$y = f(x) + \epsilon$$
where
- $f(x)$는 우리가 찾으려는 실제 물리적인 패턴,
- $\epsilon$은 측정 오차나 무작위성으로 인한 노이즈.
아무리 완벽한 모델을 학습시켜서 $f(x)$를 최대한 정확히 approximate해도, $\epsilon$으로 인한 오류는 본질적으로 피할 수 없음.
1.4. 한눈에 비교하기: 편향 vs. 분산
| 특징 | 높은 편향 (High Bias) | 높은 분산 (High Variance) |
| 모델 복잡도 | 단순함 (낮은 Capacity) | 복잡함 (높은 Capacity) |
| 주요 원인 | 지나치게 단순한 가정, 대표적이지 못한 데이터의 한계 | 학습 데이터의 노이즈까지 과도하게 학습 |
| 발생 문제 | 과소적합 (Underfitting) | 과대적합 (Overfitting) |
| 데이터에 대한 민감도 | 학습 데이터가 바뀌어도 모델 변화가 거의 없음 | 학습 데이터가 바뀌면 모델이 크게 변동함 (불안정함) |
이들 error를 일으키는 요소들 중에서
Variance와 Bias는 모델의 복잡도라는 하나의 핵심 요소를 축으로 'trade-off' 관계에 놓여 있음.
2. Bias-Variance Tradeoff
최적의 일반화 성능을 얻으려면 bias와 variance를 모두 함께 동시에 줄여야 함
하지만 이 둘은 모델의 복잡도(Model Complexity)를 기준으로 tradeoff 관계임.

- 모델이 단순할수록 (복잡도 낮음):
- 모델은 데이터의 큰 경향성만을 학습.
- 이로 인해 데이터의 세부 패턴을 놓쳐 큰 bais를 가지기 쉬움.
- 대신, 데이터에 포함된 작은 노이즈에는 둔감하게 반응하므로 variance는 낮아짐.
- 모델이 복잡해질수록 (복잡도 높음):
- 모델은 데이터의 세세한 패턴까지 학습할 수 있게 되어 낮은 bias를 가짐.
- 하지만 데이터의 노이즈까지 패턴으로 인식하고 학습 하게 되어,
- 학습 데이터가 조금만 바뀌어도 예측값이 크게 변함(모델의 파라메터가 크게 변하기 때문임)
- 이는 높은 Variance 로 이어짐.
결론적으로, 최적의 일반화 성능을 얻으려면
bias와 variance를 동시에 줄여야 하지만,
하나를 줄이면 다른 하나가 늘어나는 경향이 있어
이 둘 사이의 균형점을 찾는 것이 중요.
3. 수식으로 본 error
regression 모델의 예측 오류를 나타내는 평균 제곱 오차(Mean Squared Error, MSE)가 어떻게 bias, variance, irreducible error로 분해되는지를 수식으로 살펴볼 수 있음.
3.1. 용어 정의 및 목표 설정
먼저 수식 전개에 필요한 기본 변수들은 다음과 같음:
- $y$: 실제 target value. $y = f(x) + \epsilon$
- $f(x)$: 우리가 찾고자 하는 이상적인 모델 (물리적인 실제 데이터 생성 기전을 모델링하고 있는)
- $\epsilon$: 평균이 0이고 분산이 $\sigma$인 정규분포를 따를는 노이즈 ($E[\epsilon] = 0, Var[\epsilon] = \sigma^2$).
- $\hat{f}(x; D)$: 주어진 학습 데이터셋 $D$를 통해 우리가 만든 예측 모델. 모델이 $D$에 의존함을 명시적으로 표기함.
목표는 예측 값($\hat{f}$)과 실제 값($y$)의 차이(difference, error)를 나타내는 MSE, 즉 $E[(y - \hat{f}(x; D))^2]$를 최소화하는 것임.
- 기댓값 $E[...]$는 가능한 모든 학습 데이터셋 $D$에 대한 평균을 의미.
3.2. 평균 제곱 오차(MSE) 분해 과정
평균 제곱 오차를 다음과 같이 단계별로 분해할 수 있음: 간단한 수식을 위해 $f(x)$는 $f$, $\hat{f}(x; D)$는 $\hat{f}$로 표기.
- MSE 정의와 $y$ 대체
- $E[(y - \hat{f})^2] = E[(f + \epsilon - \hat{f})^2]$
- $y$를 실제 함수와 노이즈의 합 $f + \epsilon$로 치환.
- 핵심 단계: 평균 예측 $E[\hat{f}]$ 도입
- $E[(f + \epsilon - \hat{f})^2]= E[(f - E[\hat{f}] + E[\hat{f}] - \hat{f} + \epsilon)^2]$
- 이 단계가 증명의 핵심임.
- 평균 예측 $E[\hat{f}]$을 더하고 빼서 식의 값을 바꾸지 않으면서, 전체 오차를 다음의 세부분으로 나눌 수 있게 해줌.
- (1) Bias 관련 부분: $(f - E[\hat{f}])$,
- (2) Variance 관련 부분: $(E[\hat{f}] - \hat{f})$,
- (3) 노이즈 $\epsilon$ 관련 부분
- (1) Bias 관련 부분: $(f - E[\hat{f}])$,
- term(항) 재배열 및 제곱 전개
- $E[(f + \epsilon - \hat{f})^2]= E[ ( (f - E[\hat{f}]) + (E[\hat{f}] - \hat{f}) + \epsilon )² ]$
- 세 개의 항 $(f - E[\hat{f}])$, $(E[\hat{f}] - \hat{f})$, $\epsilon$으로 묶어 제곱식을 전개.
- $E[(f + \epsilon - \hat{f})^2]= E[(f - E[\hat{f}])^2] + E[(E[\hat{f}] - \hat{f})^2] + E[\epsilon^2] + 2E[(f - E[\hat{f}])(E[\hat{f}] - \hat{f})] + 2E[(f - E[\hat{f}])\epsilon] + 2E[(E[\hat{f}] - \hat{f})\epsilon]$
- 교차 항(Cross-term) 정리
- 전개된 식의 뒤쪽 세 개 교차 항들은 기댓값의 성질에 의해 모두 0이 됨.
- $2E[(f - E[\hat{f}])(E[\hat{f}] - \hat{f})]$:
- 여기서 $f$와 $E[\hat{f}]$는 $D$에 대한 기댓값이므로 상수 취급이 가능.
- 따라서 $2(f - E[\hat{f}]) \times E[E[\hat{f}] - \hat{f}]$가 되며,
- $E[E[\hat{f}] - \hat{f}] = E[\hat{f}] - E[\hat{f}] = 0$ 을 이용하면 전체 term은 0.
- $2E[(f - E[\hat{f}])\epsilon]$:
- $f$와 $E[\hat{f}]$는 $\epsilon$과 무관하므로
- $2(f - E[\hat{f}]) \times E[\epsilon]$로 전개 가능.
- $E[\epsilon] = 0$이므로 이 term도 0.
- $2E[(E[\hat{f}] - \hat{f})\epsilon]$:
- 모델 $\hat{f}$은 학습 데이터 D에만 의존
- 노이즈 $\epsilon$는 $D$에 대해 독립적.
- 따라서 $E[(E[\hat{f}] - \hat{f})\epsilon] = E[E[\hat{f}] - \hat{f}] \times E[\epsilon]$로 분리 가능.
- $E[E[\hat{f}] - \hat{f}] = 0$ 이고 $E[\epsilon] = 0$이므로 이 term 도 0.
- $2E[(f - E[\hat{f}])(E[\hat{f}] - \hat{f})]$:
- 전개된 식의 뒤쪽 세 개 교차 항들은 기댓값의 성질에 의해 모두 0이 됨.
- 최종 결과 도출
- cross terms가 모두 0이 되면서 다음의 세 개의 term들만 남음:
- $E[(f + \epsilon - \hat{f})^2]= E[(f - E[\hat{f}])^2] + E[(E[\hat{f}] - \hat{f})^2] + E[\epsilon^2]$
- 각 항을 정의에 따라 정리.
- $f$와 $E[\hat{f}]$는 상수이므로, $E[(f - E[\hat{f}])^2] = (f - E[\hat{f}])^2$ 임:
- 이는 bias의 제곱 ($\text{Bias}[\hat{f}])^2$
- $E[(\hat{f} - E[\hat{f}])^2]$는 variance, $\text{Var}[\hat{f}]$ 임.
- $\text{Var}[\epsilon] = E[\epsilon^2] - (E[\epsilon])^2$이고 $E[\epsilon]=0$이므로, $E[\epsilon^2] = \text{Var}[\epsilon] = \epsilon^2$임.
- 이는 irreducible error임.
- $f$와 $E[\hat{f}]$는 상수이므로, $E[(f - E[\hat{f}])^2] = (f - E[\hat{f}])^2$ 임:
$$E[(f + \epsilon - \hat{f})^2] = (E[\hat{f}] - f)^2 + \text{Var}[\hat{f}] + \epsilon^2$$
3.3. 최종 공식과 그 의미
최종적으로 분해된 총 오류(MSE) 공식은 다음과 같음.
$$ E[(y - \hat{f})²] = (\text{Bias}[\hat{f}])^2 + \text{Var}[\hat{f}] + \epsilon^2$$
이 공식의 각 항이 의미하는 바는 다음과 같음
- bias의 제곱: 여러 다른 학습 데이터셋으로 학습시킨 모델들의 평균적인 예측이 실제 정답 함수에서 얼마나 벗어났는가? (모델의 근본적인 한계)
- variance : 각기 다른 학습 데이터셋으로 학습시킨 모델들의 예측이 서로 얼마나 흩어져 있는가? (모델의 학습 데이터 민감도/불안정성)
- Irreducible Error (줄일 수 없는 오류) :데이터 자체에 내재된 노이즈의 크기
'Programming > ML' 카테고리의 다른 글
| Ridge Regression (1) | 2025.11.06 |
|---|---|
| Subgradient 와 Gradient Descent (0) | 2025.11.02 |
| Dice Coefficient and IoU (0) | 2025.09.25 |
| Similarity Metrics (0) | 2025.09.25 |
| [ML] Tensor: Scalar, Vector, Matrix. (0) | 2025.02.03 |