Bias-Variance Tradeoff

2025. 10. 30. 12:23·Programming/ML
728x90
728x90

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 관계임.

  1. 모델이 단순할수록 (복잡도 낮음):
    • 모델은 데이터의 큰 경향성만을 학습.
    • 이로 인해 데이터의 세부 패턴을 놓쳐 큰 bais를 가지기 쉬움.
    • 대신, 데이터에 포함된 작은 노이즈에는 둔감하게 반응하므로 variance는 낮아짐.
  2. 모델이 복잡해질수록 (복잡도 높음):
    • 모델은 데이터의 세세한 패턴까지 학습할 수 있게 되어 낮은 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}$로 표기.

  1. MSE 정의와 $y$ 대체
    • $E[(y - \hat{f})^2] = E[(f + \epsilon - \hat{f})^2]$
    • $y$를 실제 함수와 노이즈의 합 $f + \epsilon$로 치환.
  2. 핵심 단계: 평균 예측 $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$ 관련 부분
  3. 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]$
  4. 교차 항(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.
  5. 최종 결과 도출
    • 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임.

$$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 (줄일 수 없는 오류) :데이터 자체에 내재된 노이즈의 크기
728x90

'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
'Programming/ML' 카테고리의 다른 글
  • Ridge Regression
  • Subgradient 와 Gradient Descent
  • Dice Coefficient and IoU
  • Similarity Metrics
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (789)
      • Private Life (16)
      • Programming (55)
        • DIP (116)
        • ML (35)
      • Computer (121)
        • CE (55)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    random
    ML
    Vector
    function
    Term
    cv2
    Python
    math
    SS
    numpy
    Probability
    인허가제도
    Programming
    SIGNAL
    fourier transform
    Optimization
    linear algebra
    signal_and_system
    signals_and_systems
    opencv
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
Bias-Variance Tradeoff
상단으로

티스토리툴바